linux下常用的五個查詢命令

2022-02-27 06:10:18 字數 2598 閱讀 6235

1、grep

grep(general regular expression parser,通用規則表示式分析程式)是一種強大的文字搜尋工具,它能使用正規表示式搜尋文字,並把匹配的行列印出來。

它的使用語法為:

grep [選項] pattern [檔名]

. 匹配任意乙個字元

* 匹配0 個或多個*前的字元

^ 匹配行開頭

$ 匹配行結尾

匹配[ ]中的任意乙個字元,中可用 - 表示範圍,

例如[a-z]表示字母a 至z 中的任意乙個

\ 轉意字元

命令中的選項為:

-b 顯示塊號

-c 僅顯示各指定檔案中包含模式的總行數

-i 模式中字母不區分大小寫

-h 不將包含模式的檔名顯示在該行上

-l 僅顯示包含模式的檔名

-n 顯示模式所在行的行號

-s 指定檔案若不存在或不可讀,不提示錯誤資訊

-v 顯示所有不包含模式的行

其中,pattern為所要匹配的字串。如在/etc/passwd檔案下查詢包含「carey」字元的行:

$ grep carey /etc/passwd

要用好grep這個工具,其實就是要寫好正規表示式,所以這裡不對grep的所有功能進行例項講解,只列幾個例子,講解乙個正規表示式的寫法。

$ grep 'test' d*

顯示所有以d開頭的檔案中包含test的行。

$ ls -l | grep '^public'

通過管道過濾ls -l輸出的內容,只顯示以public開頭的行。

後面的^字元強制grep命令只在每行的開頭找public。整個搜尋模式(pattern)用單引號括起來,使shell不理會它們。shell只將單引號去掉,將搜尋模式送給grep命令。

$ grep -i 'hello world' menu.h main.c

顯示在menu.h和main.c檔案中匹配「hello world」的行,忽略大小寫。

例如:grep 'sample' -r *

2、find

find是最常見和最強大的查詢命令,你可以用它找到任何你想找的檔案。

find的使用格式如下:

find 《指定目錄》 《指定條件》 《指定動作》

- 《指定目錄》: 所要搜尋的目錄及其所有子目錄。預設為當前目錄。

- 《指定條件》: 所要搜尋的檔案的特徵。

- 《指定動作》: 對搜尋結果進行特定的處理。

如果什麼引數也不加,find預設搜尋當前目錄及其子目錄,並且不過濾任何結果(也就是返回所有檔案),將它們全都顯示在螢幕上。

find的使用例項:

$ find . -name 'my*' –ls

搜尋當前目錄(含子目錄,下同)中所有檔名以my開頭的檔案,並顯示它們的詳細資訊。

$ find /home -user rtos    

搜尋/home下擁有者為rtos的檔案

$ find . -type f -mmin -10

搜尋當前目錄中,在過去10分鐘中更新過的所有的普通檔案。如果不加-type f引數,則搜尋普通檔案+特殊檔案+目錄。

$ find / -type f -size +100m

查詢系統中所有大於100m的檔案

說明: 如果你要尋找乙個檔案的話,那麼使用 find 會是乙個不錯的主意。不過,由於 find 在尋找資料的時候相當的耗硬碟,所以沒事情不要使用 find 啦!有更棒的指令可以取代呦,那就是 whereis 與 locate 咯~

3、locate

locate命令其實是「find -name」的另一種寫法,但是要比後者快得多,原因在於它不搜尋具體目錄,而是搜尋乙個資料庫(/var/lib/locatedb),這個資料庫中含有本地所有檔案資訊。linux系統自動建立這個資料庫,並且每天自動更新一次,所以使用locate命令查不到最新變動過的檔案。為了避免這種情況,可以在使用locate之前,先使用updatedb命令,手動更新資料庫。

locate命令的使用例項:

$ locate /etc/sh

搜尋etc目錄下所有以sh開頭的檔案。

$ locate -i ~/m

搜尋使用者主目錄下,所有以m開頭的檔案,並且忽略大小寫。

4、whereis

whereis命令只能用於程式名的搜尋,而且只搜尋二進位制檔案(引數-b)、man說明檔案(引數-m)和源**檔案(引數-s)。如果省略引數,則返回所有資訊。

whereis命令的使用例項:

$ whereis grep

grep: /bin/grep /usr/share/man/man1p/grep.1p.gz /usr/share/man/man1/grep.1.gz

5、which

which命令的作用是,在path變數指定的路徑中,搜尋某個系統命令的位置,並且返回第乙個搜尋結果。也就是說,使用which命令,就可以看到某個系統命令是否存在,以及執行的到底是哪乙個位置的命令。

which命令的使用例項:

$ which grep

/bin/grep

Linux下的五個查詢命令

1 grep grep general regular expressionparser,通用規則表示式分析程式 是一種強大的文字搜尋工具,它能使用正規表示式搜尋文字,並把匹配的行列印出來。它的使用語法為 grep 選項 pattern 檔名 匹配任意乙個字元 匹配0 個或多個 前的字元 匹配行開頭...

linux下常用查詢命令

1.find find是最常見和最強大的查詢命令,你可以用它找到任何你想找的檔案。find的使用格式如下 find 指定目錄 指定條件 指定動作 指定目錄 所要搜尋的目錄及其所有子目錄。預設為當前目錄。指定條件 所要搜尋的檔案的特徵。指定動作 對搜尋結果進行特定的處理。如果什麼引數也不加,find預...

linux下常用查詢命令locate find

linux下一些常用查詢命令 locate 非實時,模糊匹配,查詢是根據全系統檔案資料庫 var lib locatedb 進行的,這個資料庫每天自動更新,但是可以使用updatedb命令手動更新 find 實時精確 支援眾多查詢標準 遍歷指定目錄中的所有檔案完成查詢 速度慢 find 查詢路徑 查...