共計 2441 個字符,預計需要花費 7 分鐘才能閱讀完成。
這篇文章主要介紹“Linux 如何查找文件”,在日常操作中,相信很多人在 Linux 如何查找文件問題上存在疑惑,丸趣 TV 小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Linux 如何查找文件”的疑惑有所幫助!接下來,請跟著丸趣 TV 小編一起來學習吧!
Linux 查找文件的方法:1、使用 find 命令,可根據文件的屬性進行查找,如文件名、文件大小、所有者、所屬組、是否為空、訪問時間、修改時間等。2、使用 locate 命令,配合數據庫查看文件位置。使用 whereis 命令,可尋找特定文件,只能用于查找二進制文件、源代碼文件和 man 手冊頁。4、使用 which 命令,可查看可執行文件的位置。5、使用 type 命令查找。6、用 grep 命令查找。
find 命令查找文件
使用 Linux find 命令可以用不同的搜索標準如名字、類型、所屬人、大小等來搜索目錄樹。基本語法如下:
# find path expression search-term
下面是使用 find 命令根據文件名來查找特定文件的一個例子:
# find -name test.file
命令會搜索整個目錄樹來查找名為 test.file 的文件,并且會提供其存放位置。你可以使用你 Linux 上一個存在的文件名來嘗試一下。
find 命令有時會花費幾分鐘來查找整個目錄樹,尤其是如果系統中有很多文件和目錄的話。要顯著減少時間,你可以指定搜索的目錄。比如,如果你知道 /var 中存在 test.file,那就沒有必要搜索其它目錄。這樣,你可以使用下面的命令:
# find /var -name test.file
find 還可以根據時間、大小、所屬人、權限等選項搜索文件。要了解更多關于這些選項的信息,你可以使用查看 Linux find 命令的手冊。
# man find
locate 命令查找文件
要在 Linux 中使用 locate 命令,首先需要安裝它。
如果你正在使用 Ubuntu,運行下面的命令來安裝 locate:
# apt-get update# apt-get install mlocate
如果你使用的是 CentOS,運行下面的命令來安裝 locate:
# yum install mlocate
locate 是一種比 find 更快的方式,因為它在數據庫中查找文件。要更新搜索數據庫,運行下面的命令:
# updatedb
使用 locate 查找文件的語法:
# locate test.file
就像 find 命令一樣,locate 也有很多選項來過濾輸出。要了解更多你可以查看 Linux Locate 命令的手冊。
# man locate
whereis 命令查找文件
whereis 命令只能用于程序名的搜索,而且只搜索二進制文件(參數 -b)、man 說明文件(參數 -m)和源代碼文件(參數 -s)。如果省略參數,則返回所有信息。
whereis 命令的使用實例:
$ whereis grep
說明:whereis 尋找特定文件,只能用于查找二進制文件、源代碼文件和 man 手冊頁
which 命令查找文件
which 查看可執行文件的位置,只有設置了環境變量的程序才可以用
which 命令的作用是,在 PATH 變量指定的路徑中,搜索某個系統命令的位置,并且返回第一個搜索結果。也就是說,使用 which 命令,就可以看到某個系統命令是否存在,以及執行的到底是哪一個位置的命令。
which 命令的使用實例:
$ which grep
type 命令查找文件
type 命令其實不能算查找命令,它是用來區分某個命令到底是由 shell 自帶的,還是由 shell 外部的獨立二進制文件提供的。如果一個命令是外部命令,那么使用 - p 參數,會顯示該命令的路徑,相當于 which 命令。
type 命令的使用實例:
$ type cd
系統會提示,cd 是 shell 的自帶命令(build-in)。
$ type grep
系統會提示,grep 是一個外部命令,并顯示該命令的路徑。
$ type -p grep
加上 - p 參數后,就相當于 which 命令。
grep 命令查找文件
grep 是根據文件的內容進行查找,會對文件的每一行按照給定的模式 (patter) 進行匹配查找。
基本格式:
find [options] expression
主要參數:
[options]主要參數:
-c:只輸出匹配行的計數。
-i:不區分大小寫
-h:查詢多文件時不顯示文件名。
-l:查詢多文件時只輸出包含匹配字符的文件名。
-n:顯示匹配行及行號。
-s:不顯示不存在或無匹配文本的錯誤信息。
-v:顯示不包含匹配文本的所有行。
pattern 正則表達式主要參數:
\:忽略正則表達式中特殊字符的原有含義。
^:匹配正則表達式的開始行。
$: 匹配正則表達式的結束行。
\:從匹配正則表達 式的行開始。
\:到匹配正則表達式的行結束。
[]:單個字符,如 [A] 即 A 符合要求。
[–]:范圍,如[A-Z],即 A、B、C 一直到 Z 都符合要求。
.:所有的單個字符。
*:有字符,長度可以為 0。
實例:
grep -r 字符串 很方便
1)grep test d* #顯示所有以 d 開頭的文件中包含 test 的行
2)grep‘test’aa bb cc #顯示在 aa,bb,cc 文件中包含 test 的行
3)grep‘[a-z]\{5\}’aa #顯示所有包含每行字符串至少有 5 個連續小寫字符的字符串的行
4)grep magic /usr/src #顯示 /usr/src 目錄下的文件 (不含子目錄) 包含 magic 的行
5)grep -r magic /usr/src #顯示 /usr/src 目錄下的文件 (包含子目錄) 包含 magic 的行
6)grep -w pattern files:只匹配整個單詞,而不是字符串的一部分(如匹配’magic’,而不是’magical’),
到此,關于“Linux 如何查找文件”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注丸趣 TV 網站,丸趣 TV 小編會繼續努力為大家帶來更多實用的文章!