Linux命令與檔案的查詢

2021-08-16 14:21:17 字數 1498 閱讀 4785

一、which(尋找執行檔案)

引數:-a:將所有由path目錄中可以找到的命令均列出,不只是第乙個找到的命令。

eg:用root與一般賬號查詢ls這個命令的完整檔名

查詢cd這個命令的完整檔名

因為which是根據path這個環境變數所規範的路徑去查詢執行檔案的檔名。上例中cd查不到,因為cd是bash內建的命令。

二、linux系統會將系統中的所有檔案都記錄在乙個資料庫檔案裡面,而whereis與locate查詢檔案時,都會以此資料庫的檔案為準。

注:有時會發現執行此命令時,會找到已刪除的檔案,或者沒找到剛建立的檔案,是因為資料庫的建立是預設一天執行一次,必要時我們可以手動更新資料庫。

updatedb:根據/etc/updatedb.conf的設定去查詢系統硬碟內的檔名,並更新/var/lib/mlocate內的資料庫檔案

這個過程需要等待幾分鐘。

1、whereis(尋找特定檔案)

引數:-b:只找二進位制格式的檔案

-m:只找在說明檔案manual路徑下的檔案

-s:只找source原始檔

-u:查詢不在上述三個選項當中的其他特殊檔案

eg:找ifconfig這個檔名,找出跟passwd有關的「說明檔案」檔名

引數:-i:忽略大小寫的差異

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

eg:找出系統中與passwd有關的檔名

1、locate的使用更加簡單,直接在後面輸入「檔案的部分名稱」後就能得到結果,比如上例,在完整檔名當中,只要有passwd在其中,就會被顯示出來。

2、因為使用locate來尋找資料時,是由已建立的資料庫/var/lib/mlocate/裡面的資料所查詢的,比較快。

三、find

find是在硬碟中尋找資料,可能速度較慢。

引數:與時間有關的引數

-mtime n:n為數字,意義為在n天之前的「一天之內」被更改過的檔案

-mtime +n:列出在n天之前(不含n天本身)被更改過的檔名

-mtime -n:列出在n天之內(含n天本身)被更改過的檔名

-newer file:file為乙個存在的檔案,列出比file更新的檔名

eg:將過去24小時內有改動的檔案列出

eg:尋找/etc下面的檔案,如果檔案日期比/etc/passwd新就列出

find還有許多態別的引數,感興趣的讀者可以man一下。

Linux 命令與檔案的查詢

命令與檔案的查詢 1 指令碼檔名的查詢 which 尋找執行檔案 命令格式 which a command a 列出查詢到的所有命令的路徑 2 檔名的查詢 whereis locate find 1 whereis 引數 檔案或目錄名 引數 b 只找而二進位制格式的檔案 m 只找在說明檔案manua...

Linux命令與檔案查詢

1 查詢命令的完整檔案 which a command 2 檔案的查詢 1 whereis 只查詢某些特定目錄下的檔案 whereis bmsu 檔名或目錄名 a 列出查詢的主要目錄 2 locate 利用資料庫來查詢檔案名,由已建立的的資料庫 var lib mlocate mlocate.db裡...

Linux檔案查詢的命令

1.1 find 查詢檔案或目錄 語法 find 搜尋範圍 匹配條件 引數說明 root localhost find name 123.txt 從根目錄開始找 name 通過名字進行查詢 123.txt 要查詢的檔案名字1.2 grep 在檔案內搜尋字串匹配的行輸出 語法 grep 引數 查詢內容...