首頁  >  文章  >  運維  >  Linux如何查找文件

Linux如何查找文件

WBOY
WBOY轉載
2023-05-23 22:50:4143084瀏覽

Linux查找檔案的方法:1、使用find指令,可根據檔案的屬性進行查找,如檔案名稱、檔案大小、擁有者、所屬群組、是否為空、存取時間、修改時間等。 2.使用locate指令,配合資料庫查看檔案位置。 Whereis command can only be used to search for binary files, source code files, and man manual pages.。 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

相較於find,使用locate可以更快地在資料庫中尋找檔案。要更新搜尋資料庫,請執行下面的命令:

# updatedb

使用 locate 來尋找檔案的語法:

# locate test.file

類似於 find 命令,locate 命令也具備多種選項,可以對輸出進行過濾。想了解更多你可以查看Linux Locate 指令的手冊。

# man locate

whereis指令尋找檔案

whereis指令只能用於程式名稱的搜索,而且只搜尋二進位檔案(參數-b)、man說明檔(參數-m)和原始碼檔案(參數-s)。如果省略參數,則傳回所有資訊。

whereis指令的使用實例:

  $ whereis grep

說明:whereis尋找特定文件,只能用於尋找二進位檔案、原始碼文件和man手冊頁

# which指令找出檔案

which查看可執行檔的位置,只有設定了環境變數的程式可以用

The purpose of the "which" command is to search for the location of a particular system command within the paths specified by the PATH variable, and returns the first search result.。利用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如何查找文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除