Linux查找檔案的方法:1、使用find指令,可依檔案的屬性進行查找,如檔案名稱、檔案大小、擁有者、所屬群組、是否為空、存取時間、修改時間等。 2.使用locate指令,配合資料庫查看檔案位置。使用whereis指令,可尋找特定文件,只能用於尋找二進位、原始碼檔案和man手冊頁。 4.使用which指令,可查看可執行檔的位置。 5.使用type指令查找。 6.用grep指令查找。
本教學操作環境:linux7.3系統、Dell G3電腦。
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影片教學》
以上是Linux怎麼查找文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!