檔案查詢命令 find locate簡單介紹

2021-08-17 11:10:30 字數 2801 閱讀 4293

locate命令其實是find -name的另一種寫法,但是要比後者快得多,原因在於它不搜尋具體目錄,而是搜尋乙個資料庫/var/lib/locatedb,這個資料庫中含有本地所有檔案資訊。linux系統自動建立這個資料庫,並且每天自動更新一次,所以使用locate命令查不到最新變動過的檔案。為了避免這種情況,可以在使用locate之前,先使用updatedb命令,手動更新資料庫。

語法

locate/slocate(選項)(引數)
選項

-d《目錄》或--database=《目錄》:指定資料庫所在的目錄;

-b:只匹配路徑中的基名;

-c:統計出共有多少個符合條件的檔案;

-r:bre

-u:更新slocate資料庫;

引數

查詢字串:要查詢的檔名中含有的字串。例項

find命令用來在指定目錄下查詢檔案。任何位於引數之前的字串都將被視為欲查詢的目錄名。如果使用該命令時,不設定任何引數,則find命令將在當前目錄下查詢子目錄與檔案。並且將查詢到的子目錄和檔案全部進行顯示。

語法

find(選項)(引數)
選項

-amin《分鐘》:查詢在指定時間曾被讀取過的檔案或目錄,單位以分鐘計算;

-atime<24小時數》:查詢在指定時間曾被讀取過的檔案或目錄,單位以24小時計算;

-cmin《分鐘》:查詢在指定時間之時被更改過狀態的檔案或目錄;

-ctime<24小時數》:查詢在指定時間之時被更改過狀態的檔案或目錄,單位以24小時計算;

-daystart:從本日開始計算時間;

-depth:從指定目錄下最深層的子目錄開始查詢;

-expty:尋找檔案大小為0 byte的檔案,或目錄下沒有任何子目錄或檔案的空目錄;

-exec《執行指令》:假設find指令的回傳值為true,就執行該指令;

-false:將find指令的回傳值皆設為false;

-fls《列表檔案》:此引數的效果和指定「-ls」引數類似,但會把結果儲存為指定的列表檔案;

-follow:排除符號連線;

-fprint《列表檔案》:此引數的效果和指定「-print」引數類似,但會把結果儲存成指定的列表檔案;

-fprint0《列表檔案》:此引數的效果和指定「-print0」引數類似,但會把結果儲存成指定的列表檔案;

-fprintf《列表檔案》《輸出格式》:此引數的效果和指定「-printf」引數類似,但會把結果儲存成指定的列表檔案;

-fstype《檔案系統型別》:只尋找該檔案系統型別下的檔案或目錄;

-gid《群組識別碼》:查詢符合指定之群組識別碼的檔案或目錄;

-group《群組名稱》:查詢符合指定之群組名稱的檔案或目錄;

-ilname《範本樣式》:此引數的效果和指定「-lname」引數類似,但忽略字元大小寫的差別;

-iname《範本樣式》:此引數的效果和指定「-name」引數類似,但忽略字元大小寫的差別;

-inum引數

起始目錄:查詢檔案的起始目錄。例項

根據條件查詢

根據時間戳查詢

以天為單位(time):

-atime [+|-]#:

+表示(#+1)天之外被訪問過

-表示#天之內被訪問過

無符號:表示(#+1)>x>=#天的時間段被訪問過

-mtime [+|-]#

-ctime [+|-]#

以分鐘為單位:

-amin [+|-]#

-mmin [+|-]#

-cmin [+|-]#

根據檔案大小查詢

-size n[cwbkmg]

b:塊,512個位元組

w:2個位元組的字

c:1位元組

k:kilobytes

m: megabytes

g: gigabytes

find / -size 100k //等於100k

find / -size +100k //大於100k

find / -size -100k //小於100k

根據檔案型別查詢

-type [bcdpfls]

b:塊裝置檔案

c:位元組裝置檔案

d:目錄

p:命名管道檔案

f:普通檔案

l:符號連線

s:套接字檔案

find / -type b

根據許可權查詢

-perm [+|-]mode

mode:精確許可權匹配;

/mode:任何一類使用者(u,g,o)的許可權中的任何一位(r,w,x)符合條件即滿足;

9位許可權之間存在「或」關係;

-mode:每一類使用者(u,g,o)的許可權中的每一位(r,w,x)同時符合條件即滿足;

9位許可權之間存在「與」關係;

find / -perm 777

處理動作

-print:輸出至標準輸出;預設的動作;

-ls:類似於對查詢到的檔案執行「ls -l」命令,輸出檔案的詳細資訊;

-delete:刪除查詢到的檔案;

-fls /path/to/somefile:把查詢到的所有檔案的長格式資訊儲存至指定檔案中;

-ok command {} \; :對查詢到的每個檔案執行由command表示的命令;每次操作都由使用者進行確認;

-exec command {} \; :對查詢到的每個檔案執行由command表示的命令;

檔案查詢命令

iname filename 表明在匹配不區分大小寫 regex pattern 基於正規表示式實現檔名匹配 user username 進行使用者查詢 group groupname 按照組進行查詢 uid uidname 按照uid進行查詢,因為乙個使用者刪除之後,不在使用者家目錄裡面的檔案仍然...

檔案內容查詢命令

來自一盜版光碟,出處未知 grep fgrep和egrep命令 這組命令以指定模式搜尋檔案,並通知使用者在什麼檔案中搜尋到與指定的模式匹配的字串,並列印出所有包含該字串的文字行,在該文本行的最前面是該行所在的檔名。grep命令一次只能搜尋乙個指定的模式 egrep命令檢索擴充套件的正規表示式 包括表...

linux檔案查詢命令

linux 檔案查詢命令 1 which 可執行檔名 查詢可執行檔案命令 顯示乙個可執行檔案的完整路徑 按照alias path的順序查詢 例 which lmcbbat 2 whereis 可執行檔名 搜尋乙個可執行工具及其相關配置,幫助 例 whereis lmcbbat 3 slocate l...