好啦~講了這麼久的檔案跟目錄,相信大家對linux都有一點是可以認同的,就是資料龐大這一點,那有時候忘記資料方在那裡是一件非常非常尷尬的一件事,因此,要如何從中找到自己要的檔案是一件非常需要被重視的一件事。這個,就是今天的主題。
那我們先從指令檔名的搜尋開始講起吧。
which
(1)尋找執行檔
(2)這個指令是根據PATH這個環境變數所規範的路徑,去搜尋執行檔名檔案名稱
(3)which後面接的是完整的檔案名稱
格式 which (-a) command
相關參數
-a:將所有由PATH目錄中可以找到的指令全部列出,而不是單單只有第一個被找到的指令
接下來就是要講解檔案名稱的搜尋,find 這隻指令不常用,而且非常的操硬碟,所以我不打算介紹它。我這邊會先介紹比較常用的whereis跟locate這兩隻指令,find是在剛剛提到的兩隻指令都找不到東西的時候會用上的。
whereis
(1)由一些特定的目錄中搜尋檔案名稱
(2)主要針對 /bin/sbin底下的執行檔以及/usr/share/man底下的manpage檔案
(3)不會針對全系統去進行查詢
(4)因為以上原因,所以whereis在部分情況會比locate快的原因
格式 whereis (-bmsu) 檔案名稱或目錄名稱
相關參數
-l:可以列出whereis會去查詢的幾個目錄而已
-b:只找binary格式的檔案
-m:只找在說明檔manual路徑下的檔案
-s:只找source來源檔案
-u:搜尋不再上述3個項目當中的特殊檔案
locate
(1)keyword只需要含檔案的部分名稱
(2)搜尋的資料是由已建立的資料庫中進行搜尋
(3)因為(2),所以並不會搜尋到硬碟中的資料
(4)因為(3),所以locate會比find快
(5)當你找不到檔案的時候,記得更新資料庫
格式 locare (-ir) keyword
相關參數
-i:忽略大小寫差異
-c:不輸出檔名,只輸出找到的檔案數量
-l:僅輸出幾行
-S:輸出locate所使用的資料庫檔案的相關資訊,包括該資料庫紀錄的檔案/目錄數量
-r:後面可以接正規表示法的顯示方式
以上就是本人介紹指令與檔案的搜尋的部分,如果有缺漏的部分,也麻煩大家多指教