1. 程式人生 > >linux檔案搜尋定位

linux檔案搜尋定位

grep命令

     基本格式:find  expression

     1.主要引數

    [options]主要引數:
    -c:只輸出匹配行的計數。
    -i:不區分大小寫
    -h:查詢多檔案時不顯示檔名。
    -l:查詢多檔案時只輸出包含匹配字元的檔名。
    -n:顯示匹配行及行號。
    -s:不顯示不存在或無匹配文字的錯誤資訊。
    -v:顯示不包含匹配文字的所有行。

    pattern正則表示式主要引數:
    \: 忽略正則表示式中特殊字元的原有含義。
    ^:匹配正則表示式的開始行。
    $: 匹配正則表示式的結束行。
    \<:從匹配正則表達 式的行開始。
    \>:到匹配正則表示式的行結束。
    [ ]:單個字元,如[A]即A符合要求 。
    [ - ]:範圍,如[A-Z],即A、B、C一直到Z都符合要求 。
    .:所有的單個字元。
    * :有字元,長度可以為0。

    2.例項  

  (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’),

find命令

    基本格式:find  path expression

    1.按照檔名查詢

    (1)find / -name httpd.conf  #在根目錄下查詢檔案httpd.conf,表示在整個硬碟查詢,通過*模糊匹配
    (2)find /etc -name httpd.conf  #在/etc目錄下檔案httpd.conf
    (3)find /etc -name '*srm*'  #使用萬用字元*(0或者任意多個)。表示在/etc目錄下查詢檔名中含有字串‘srm’的檔案
    (4)find . -name 'srm*'   #表示當前目錄下查詢檔名開頭是字串‘srm’的檔案

    2.按照檔案特徵查詢     

    (1)find / -amin -10   # 查詢在系統中最後10分鐘訪問的檔案(access time)
    (2)find / -atime -2   # 查詢在系統中最後48小時訪問的檔案
    (3)find / -empty   # 查詢在系統中為空的檔案或者資料夾
    (4)find / -group cat   # 查詢在系統中屬於 group為cat的檔案
    (5)find / -mmin -5   # 查詢在系統中最後5分鐘裡修改過的檔案(modify time)
    (6)find / -mtime -1   #查詢在系統中最後24小時裡修改過的檔案
    (7)find / -user fred   #查詢在系統中屬於fred這個使用者的檔案
    (8)find / -size +10000c  #查找出大於10000000位元組的檔案(c:位元組,w:雙字,k:KB,M:MB,G:GB)
    (9)find / -size -1000k   #查找出小於1000KB的檔案

    3.使用混合查詢方式查詢檔案

    引數有: !,-and(-a),-or(-o)。

(1)find /tmp -size +10000c -and -mtime +2   #在/tmp目錄下查詢大於10000位元組並在最後2分鐘內修改的檔案
         (2)find / -user fred -or -user george   #在/目錄下查詢使用者是fred或者george的檔案檔案

         (3)find /tmp ! -user panda  #在/tmp目錄中查詢所有不屬於panda使用者的檔案

 whereis

1、語法

whereis 命令名

搜尋命令所在的路徑以及幫助文件所在的位置

選項:

-b:只查詢可執行檔案

-m:只查詢幫助檔案
-s 定位原始碼檔案

2、實戰

12345678910111213[[email protected] ~]# whereis lsls:/usr/bin/ls /usr/share/man/man1/ls.1.gz/usr/share/man/man1p/ls.1p.gz[[email protected] ~]# whoamiroot[[email protected] ~]# whatiswhatis what?[[email protected] ~]# whatis lsls (1)- list directory contentsls (1p)- list directory contents[[email protected] ~]# whereis -b lsls:/usr/bin/ls[[email protected] ~]# whereis -m lsls:/usr/share/man/man1/ls.1.gz/usr/share/man/man1p/ls.1p.gz

結果:名稱:二進位制檔案路徑  幫助文件路徑

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

1.命令格式:

which 可執行檔名稱 

2.命令功能:

which指令會在PATH變數指定的路徑中,搜尋某個系統命令的位置,並且返回第一個搜尋結果

3.命令引數:

-n  指定檔名長度,指定的長度必須大於或等於所有檔案中最長的檔名。

-p  與-n引數相同,但此處的包括了檔案的路徑。

-w  指定輸出時欄位的寬度。

-V  顯示版本資訊

4.使用例項:

例項1:查詢檔案、顯示命令路徑

命令:

which lsmod

輸出:

[[email protected] ~]# which pwd

/bin/pwd

[root@localhost ~]#  which adduser

/usr/sbin/adduser

[root@localhost ~]#

說明:

which 是根據使用者所配置的 PATH 變數內的目錄去搜尋可執行檔的!所以,不同的 PATH 配置內容所找到的命令當然不一樣的!

例項2:用 which 去找出 which

命令:

 which which

輸出:

[[email protected] ~]# which which

alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

/usr/bin/which

[root@localhost ~]#

說明:

竟然會有兩個 which ,其中一個是 alias 這就是所謂的『命令別名』,意思是輸入 which 會等於後面接的那串命令!

例項3:找出 cd 這個命令

命令:

 which cd

輸出:

 

       說明:

cd 這個常用的命令竟然找不到啊!為什麼呢?這是因為 cd 是bash 內建的命令! 但是 which 預設是找 PATH 內所規範的目錄,所以當然一定找不到的!


相關推薦

linux檔案搜尋定位

grep命令     基本格式:find  expression     1.主要引數    [options]主要引數:    -c:只輸出匹配行的計數。    -i:不區分大小寫    -h:查詢多檔案時不顯示檔名。    -l:查詢多檔案時只輸出包含匹配字元的檔名。  

Linux 檔案搜尋命令:find、which、whereis 和 locate

  Linux 提供了許多用於檔案搜尋的命令,這些命令都很強大,但是也有一些不同之處,這裡分別介紹一下。 一、find 命令   find 是最常見和最強大的一個檔案搜尋命令。使用 find 命令可以在指定目錄中搜索指定的檔案。語法如下: find [目錄] [選項] [動作]   其中,目

Linux檔案搜尋-find

檔案搜尋命令:find [[email protected] 桌面]# find /etc/ -name init /etc/sysconfig/init /etc/init /etc/kdump-adv-conf/kdump_initscripts/i

Linux檔案搜尋命令

1.locate 搜尋速度比較快,locate 檔名。 它是否能搜尋我新建的檔案呢?找不到,因為locate命令不是直接在系統中去搜索,而是在/vat/lib/mlocate(這裡面儲存的是locate的資料庫)這個資料庫中搜索,搜尋資料庫的好處是不需要遍歷我的整個作業系統

Linux基本命令 檔案搜尋命令

1.檔案搜尋命令find ==================================================================================  命令名稱:find 命令所在路徑:/bin/find 執行許可權:所有使用者 語法:find [

004-linux常用命令-檔案搜尋命令

檔案搜尋命令:find命令名稱:find命令所在路徑:/bin/find執行許可權:所有使用者語法:find [搜尋範圍] [匹配條件]功能描述:檔案搜尋 $ find /etc -name init在目錄/etc中查詢檔案init-iname 不區分大小寫$ find / -size +204800在根目

Linux 檔案定位和查詢

主要用到的有: which,在$PATH下面查詢,列印全路徑 whereis  資料庫搜素,主要是搜素命令 locate  快速搜尋檔案和檔案,yum install -y  mlocate.x86_64可以安裝,updatedb更新資料庫 apro

Linux常用命令之檔案搜尋命令

檔案搜尋命令 命令名稱:which 命令路徑:/usr/bin/which 執行許可權:所有使用者功能描述:顯示系統命令所在目錄 語法:while [命令名稱] Ex:    which   ls 相似命令:whereis [檔

linux檔案搜尋

一、find 作用:任意檔案的搜尋,可以配合搜尋條件和選項,功能比較強大 格式:find [目錄] 條件,目錄不指定預設是當前目錄 選項: -name:通過名稱搜尋,不僅僅只是檔名 -size:通過大小搜尋:不僅僅只是檔案大小 -type:通過檔案型別搜尋 -m

Linux學習--檔案搜尋命令

一、檔案搜尋命令  find   語法:find [搜尋範圍] [匹配條件]  {find [搜尋範圍] [搜尋模式] [搜尋條件]}   1.以檔名來查詢  -name(區分大小寫)-iname (不區分大小寫)   find /etc -name inid   或

linux中的檔案搜尋命令

一、locate命令 是在後臺數據庫中按檔名搜尋(也只能按檔名搜尋),搜尋速度較快 這個資料庫的目錄,不同的linux發行版不同,在centos6.10中,這個資料庫的目錄為:/var/lib/mlocate/mlocate.db 這個資料庫預設一天一更新,所以一般新建的檔案,如果不手動

Linux視訊學習筆記(五)--許可權管理命令、檔案搜尋命令、幫助命令、使用者管理命令、壓縮解壓命令

宣告:本系列文章是博主根據 “兄弟連新版Linux視訊教程”做的筆記和視訊截圖,只為學習和教學使用,不適用任何商業用途。 PS:文章基於Linux版本CentOS6.9,如果對Linux感興趣,建議去看《細說Linux》,沈超老師和李明老師的教學風格我很喜歡:) 4.

Linux 常用命令之——檔案搜尋命令find、locate、which、whereis、grep

一、命令名稱:find 命令所在路徑:/bin/find 執行許可權:所有使用者 語法: find  [搜尋範圍] [匹配條件] $find /etc -name init           -name          在某路徑下根據檔名稱搜尋檔案 $find

Linux學習之檔案搜尋命令

一、檔案搜尋命令:locate 檔名 1、在後臺數據庫(/var/lib/mlocate )中按檔名搜尋,搜尋速度更快,耗費資源少。 /var/lib/mlocate 不是實時更新的,一般是一天更新;但可強制更新:updatedb命令 2、locate的特點:遵守 /e

Linux搜尋檔案常用方法

# linux檔案無建立時間         # Access 使用時間           # Modify 內容修改時間           # Change 狀態改變時間(許可權、屬主)         # 時間預設以24小時為單位,當前時間到向前24小時為0天,向前4

Linux常用命令之——其他檔案搜尋命令

檔案搜尋命令:locate 命令名稱:locate 命令所在路徑:/usr/bin/locate 執行許可權:所有使用者 語法:locate  檔名 功能描述:在檔案資料庫中查詢檔案,不是實時檔案 範例:$ locate inittab 搜尋快的原因:該命令直接

Linux常用命令-檔案搜尋

find /bin/find 所有使用者 [搜尋範圍] [匹配條件] 檔案搜尋 不建議搜尋在高峰期 find /etc -name xx 根據檔名搜尋 精確搜尋 模糊搜尋 *{0-n} 模糊搜尋 ?匹配單個字元 不區分大小寫 find / -size +n大於 /-n小於 /

Linux命令--檔案搜尋命令--幫助命令

man: 命令英文原意:manual 命令所在路徑:/usr/bin/man 執行許可權:所有使用者 語法:man [命令或配置檔案] 功能描述:獲得幫助資訊 範例:$man ls             檢視ls命令的幫助文件                       

linux下libevent安裝配置與簡介 以及 linux檔案搜尋路徑的配置

libevent簡介 libevent是基於Reactor模式的I/O框架庫,它具有良好的跨平臺性和執行緒安全,它實現了統一事件源(即對I/O事件、訊號和定時事件提供統一的處理)。高效能分散式記憶體物件快取軟體memcached是使用libevent的著名案例。 libev

linux命令之檔案搜尋

1. 顯示系統命令所在目錄 Which [命令] :命令的絕對路徑 + 別名 Whereis [命令] :命令的絕對路徑 + 幫助文件的路徑 2. 查詢檔案或目錄 find  [搜尋路徑] [搜尋的關鍵字] 常用方法 2.1 檔名查詢 :find  /etc  –name