find從英語字面上的意思譯過來是發現,找到的意思,它在linux中作為檔案查詢命令也十分形象,find雖說只是個命令,但其功能非常強大。
好,下面來說說find,先來說說它的基本語法格式:
find [查詢路徑] [查詢標準] [處理動作]
查詢標準:
-name 檔名稱查詢
-iname 不區分大小寫查詢
-user 根據檔案屬主查詢
-group 根據檔案屬組查詢
-uid 根據uid查詢
-gid 根據gid查詢
-nouser 查詢沒屬主的檔案
-nogroup 查詢沒屬組的檔案
組合條件:
-a 與
-o 或
!非檔案型別:
-type
按檔案大小查詢:
-size
按時間戳查詢:
-atime
-mtime
-ctime
-amin
-mmin
-cmin
按許可權查詢:
-perm [+|-] mode
沒有+-表示精確匹配
+mode 表示任何一類使用者的任何一位許可權匹配即可
-mode 表示每類使用者的每位許可權都匹配
處理動作:
-print 顯示
- ls 詳細資訊
-exec command {} \;
example:find /tmp -atime +30 -exec mv {} {}.old \;
這裡再引入乙個命令:
xargs - build and execute command lines from standard input
可以通過管道從標準輸入建立和執行命令列
看了這麼多,下面舉幾個例子吧:
1.查/tmp下屬主屬組不屬於root,並且在5分鐘之內改過的檔案。
# find /tmp/ ! -user root -a ! -group root -mmin -5 -ls
看這裡使用了xargs
看前幾行,找到的檔案是不是都沒屬主屬組的,當然這些檔案都是我做的為了測試用的。
這篇就寫到這也差不多了,例子也基本貫穿了難點,慢慢體會吧!
linux檔案查詢find命令
1.locate 與 find命令的區別 locate命令用於查詢檔案,它比find命令的搜尋速度快,它需要乙個資料庫,這個資料庫由每天的例行工作 crontab 程式來建立。當我們建立好這個資料庫後,就可以方便地來搜尋所需檔案了。即先執行 updatedb 無論在那個目錄中均可,可以放在cront...
Linux檔案查詢find命令
作用 實時查詢工具,通過遍歷指定路徑完成問件查詢,遞迴地在層次目錄中處理檔案 find搜尋目錄樹上的每乙個檔名,它從左至右運算給定的表示式,按照優先規則進行匹配,直到得出結果 左邊運算在 與 操作中得出假,在 或 操作中得出真 然後 find移向下乙個檔名。第乙個以 或 這些字元起始的引數是表示式的...
linux檔案查詢 find命令
1 find命令的格式 find pathname options print exec ok 2 find命令的引數 pathname find命令所查詢的目錄路徑。例如用 來表示當前目錄,用 來表示系統根目錄。print find命令將匹配的檔案輸出到標準輸出。exec find命令對匹配的檔案...