【Linux】Linux下不同的”查找“命令

在linux操作系統裏,我們經常會需要知道哪個文件放在哪裏,才能夠對文件進行一些修改和維護工作。所以對查找命令的掌握就是必須的了。


which(尋找”執行文件“):

   命令格式:which [-a] command

例如:which ipconfig 或 which which,這樣就能查找到ipconfig命令和which命令放在了哪個目錄下。但是這個命令不能找到cd命令,因爲cd是bash內置的命令。但是可以用type這個命令。

whereis(尋找特定文件):

 命令格式:whereis [-bmsu] filename/directoryname

  參數:

-b:只找二進制格式的文件

-m:只找說明文件manual路徑下的文件

 -s:只找source源文件

-u:查找不在上述三個選項的其他文件

例如:whereis ipconfjg。


locate:

命令格式:locate [-ir] keyword

參數

-i:忽略大小寫的差異

-r:後面可接正則表達式的顯示方式

例如:locate passwd,值得說明的一點是:locate命令可以在後面輸入文件的部分名稱。locate的查詢速度相當的快,並且只佔用很少的資源,因爲locate是在數據庫上做查詢的,而並非硬盤。但是同時還有一個缺點就是locate命令查詢的結果不一定是準確的,因爲這個數據庫默認是一天更新一次,如果你剛剛創建一個文件,馬上就對它進行一次locate,那麼就會找不到這個文件。解決這個問題的方法就是使用updatedb命令,對數據庫進行強制更新,所以,問題迎刃而解啦!


find:

命令格式:find [path] [option] [action]

參數巨多,這裏就不一一列舉了。

find命令是linux裏功能最強大的命令,遠遠比whereis和locate強大得多,但是但是,這個命令確是最不常用的一個,原因就是find是在硬盤上進行查找,時間空間的開銷會很大,這顯然不是我們所期望的,所以find的用處僅僅是在locate和whereis做不到的地方。


grep(在指定的文件中查找字符串):

命令格式:grep ‘查找的字符串’ filename

參數:

-a:將binary文件以text文件的方式進行查找

-c:計算找到查找字符串的次數

-i:    忽略大小寫的不同

-n:順便輸出行號

-v:反向選取

例如:grep -i mystring myfile,grep是一個很強大的命令,支持的語法很多,可以用在正則表達式裏。


綜上,其實我們日常用到最多的命令還是locate,簡單高效,對不同命令的掌握還需要多多練習,才能體會其中的不同與奧祕,Let's work hard together!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章