首頁 >運維 >linux運維 >Linux怎麼查找文件

Linux怎麼查找文件

青灯夜游
青灯夜游原創
2023-02-15 10:54:5015097瀏覽

Linux查找檔案的方法:1、使用find指令,可依檔案的屬性進行查找,如檔案名稱、檔案大小、擁有者、所屬群組、是否為空、存取時間、修改時間等。 2.使用locate指令,配合資料庫查看檔案位置。使用whereis指令,可尋找特定文件,只能用於尋找二進位、原始碼檔案和man手冊頁。 4.使用which指令,可查看可執行檔的位置。 5.使用type指令查找。 6.用grep指令查找。

Linux怎麼查找文件

本教學操作環境: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正規表示式主要參數:

  • #\: 忽略正規表示式中特殊字元的原有意義。

  • ^:符合正規表示式的開始行。

  • $: 符合正規表示式的結束行。

  • \2640948fe147ca8ee382a9852fce7122:到符合正規表示式的行結束。

  • [ ]:單一字符,如[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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn