學(xué)習(xí)啦>學(xué)習(xí)電腦>操作系統(tǒng)>Linux教程>

linux的查找命令

時間: 佳洲1085 分享

  linux系統(tǒng)下的查找命令有很多個,下面由學(xué)習(xí)啦小編為大家整理了linux的查找命令的相關(guān)知識,希望對大家有幫助!

  linux查找命令1、grep

  grep(General Regular Expression Parser,通用規(guī)則表達式分析程序)是一種強大的文本搜索工具,它能使用正則表達式搜索文本,并把匹配的行打印出來。

  它的使用語法為:

  grep [選項] pattern [文件名]

  . 匹配任意一個字符

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

  ^ 匹配行開頭

  $ 匹配行結(jié)尾

  [] 匹配[ ]中的任意一個字符,[]中可用 - 表示范圍,

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

  \ 轉(zhuǎn)意字符

  命令中的選項為:

  -b 顯示塊號

  -c 僅顯示各指定文件中包含模式的總行數(shù)

  -i 模式中字母不區(qū)分大小寫

  -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輸出的內(nèi)容,只顯示以public開頭的行。

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

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

  顯示在menu.h和main.c文件中匹配“hello world”的行,忽略大小寫。

  例如:

  grep 'sample' -R *

  linux查找命令2、find

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

  find的使用格式如下:

  find <指定目錄> <指定條件> <指定動作>

  - <指定目錄>: 所要搜索的目錄及其所有子目錄。默認為當前目錄。

  - <指定條件>: 所要搜索的文件的特征。

  - <指定動作>: 對搜索結(jié)果進行特定的處理。

  如果什么參數(shù)也不加,find默認搜索當前目錄及其子目錄,并且不過濾任何結(jié)果(也就是返回所有文件),將它們?nèi)硷@示在屏幕上。

  find的使用實例:

  $ find . -name 'my*' –ls

  搜索當前目錄(含子目錄,下同)中所有文件名以my開頭的文件,并顯示它們的詳細信息。

  $ find /home -user rtos

  搜索/home下?lián)碛姓邽閞tos的文件

  $ find . -type f -mmin -10

  搜索當前目錄中,在過去10分鐘中更新過的所有的普通文件。如果不加-type f參數(shù),則搜索普通文件+特殊文件+目錄。

  $ find / -type f -size +100M

  查找系統(tǒng)中所有大于100M的文件

  說明: 如果你要尋找一個檔案的話,那么使用 find 會是一個不錯的主意。不過,由于 find 在尋找數(shù)據(jù)的時候相當?shù)暮挠脖P,所以沒事情不要使用 find 啦!有更棒的指令可以取代呦,那就是 whereis 與 locate 咯~

  linux查找命令3、locate

  locate命令其實是“find -name”的另一種寫法,但是要比后者快得多,原因在于它不搜索具體目錄,而是搜索一個數(shù)據(jù)庫(/var/lib/locatedb),這個數(shù)據(jù)庫中含有本地所有文件信息。Linux系統(tǒng)自動創(chuàng)建這個數(shù)據(jù)庫,并且每天自動更新一次,所以使用locate命令查不到最新變動過的文件。為了避免這種情況,可以在使用locate之前,先使用updatedb命令,手動更新數(shù)據(jù)庫。

  locate命令的使用實例:

  $ locate /etc/sh

  搜索etc目錄下所有以sh開頭的文件。

  $ locate -i ~/m

  搜索用戶主目錄下,所有以m開頭的文件,并且忽略大小寫。

  linux查找命令4、whereis

  whereis命令只能用于程序名的搜索,而且只搜索二進制文件(參數(shù)-b)、man說明文件(參數(shù)-m)和源代碼文件(參數(shù)-s)。如果省略參數(shù),則返回所有信息。

  whereis命令的使用實例:

  $ whereis grep

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

  linux查找命令5、which

  which命令的作用是,在PATH變量指定的路徑中,搜索某個系統(tǒng)命令的位置,并且返回第一個搜索結(jié)果。也就是說,使用which命令,就可以看到某個系統(tǒng)命令是否存在,以及執(zhí)行的到底是哪一個位置的命令。

  which命令的使用實例:

  $ which grep

  /bin/grep

linux的查找命令

linux系統(tǒng)下的查找命令有很多個,下面由學(xué)習(xí)啦小編為大家整理了linux的查找命令的相關(guān)知識,希望對大家有幫助! linux查找命令1、grep grep(General Regular Expression Parser,通用規(guī)則表達式分析程序)是一種強大的文本搜索工具,它能
推薦度:
點擊下載文檔文檔為doc格式

精選文章

  • linux的幫助命令
    linux的幫助命令

    掌握幫助命令可以很好的幫助我們學(xué)習(xí)linux,下面由學(xué)習(xí)啦小編為大家整理了linux的幫助命令的相關(guān)知識,希望對大家有幫助! 查看linux幫助命令方法一 、

  • linux的zip命令
    linux的zip命令

    zip命令在linux系統(tǒng)下主要是用來壓縮文件的。下面由學(xué)習(xí)啦小編為大家整理了linux的zip命令的相關(guān)知識,希望大家喜歡! linux的zip命令詳解 Linux的zip命令用于

  • linux的wc命令
    linux的wc命令

    wc命令在linux系統(tǒng)下可以用于計算字數(shù)。下面由學(xué)習(xí)啦小編為大家整理了linux的wc命令的相關(guān)知識,希望大家喜歡! linux的wc命令詳解 Linux的wc命令用于計算字數(shù)

  • linux的tr命令
    linux的tr命令

    tr命令在linux系統(tǒng)下主要是用于轉(zhuǎn)換或刪除文件中的字符。下面由學(xué)習(xí)啦小編為大家整理了linux的tr命令的相關(guān)知識,希望大家喜歡! linux的tr命令詳解 Linux的

3625120