find 指令算是Linux下最常用的一個指令之一了,這裡有一些常用用法的總結。
1. 依檔案名稱搜尋。
搜尋目前目錄下所有的以txt結尾的檔案。第二個指令用了 -exec 參數,可以在對所有尋找的檔案執行一種操作。注意格式,空格和;一個都不能少。 -name 的參數可以用正規表示式,例如第二個範例
find ./* -name "*.txt"
find ./* -name "[ab]*.py"
find ./* -name "*.pyc" -exec rm {} ;
2. 依修改時間找出
尋找當當天目錄下當天修改過的檔案。 -1 表示一天前修改過的文件。 -2表示前兩天。 find ./* -mtime n n表示,對檔案資料的最近一次修改是在 n*24 小時之前。 +n 指n天以前,-n指n天以內(對 -mmin 是指n分鐘), n 表示第n天,他們的意思都是不同的,注意區分。
find ./* -mtime 60 -type f -print
find ./* -mmin -60 -type f -print
find ./* -mmin +60 -type f -print
3. 檔案狀態改變和上個參數相比,基本道理都是一樣的,只不過這個參數的意思是檔案的權限被修改。改內容和改文件的權限是不一樣的,這裡指的是更改的是文件inode的數據,例如文件的權限,所屬人等等資訊。 cmin 表示近60分鐘內被改過權限,ctime 表示近幾天內被修改過。
find ./* -ctime -60 -type f -print
依照文件的所屬group和所屬user 來找出-user 和-nouser4
依照文件的所屬group和所屬user 來找出-user 和-nouser 最後一個指令找出目前已刪除的系統使用者的所有文件, - group 和- nogroup 的功能類似。
find ./* -user fox
find ./* -nouser
5
find 避開某目錄,避開多個目錄。其中 -a 表示 and 的意思,-o 表示or 的意思。
find test -path "test/test4" -prune -o -print
find test ( -path test/test4 -o -path test/test3 ) -prune -o -print
find . ( -path o -path ./framework -o -path ./utils -o -path ./config ) -prune -o -name "Bigger.*" -print
6
-perm 選項指檔案的存取權限
find - perm 755 -print
7
實用inode 來找出檔案編號。可以如下面所示在find指令中指定inode編號。在此,find指令用inode編號重新命名了一個檔案。你也可以透過rm來刪除那個特殊的檔案。
ls -i1 test*
16187429 test-file-name
16187430 test-file-name
find -inum 16187430 -exec mv {) new-test-file-name ; 5個檔案
find . -type f -exec ls -s {} ; | sort -n -r | head -5
下面的指令刪除大於100M的*.zip檔。
find / -type f -name *.zip -size +100M -exec rm -i {} ;

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

記事本++7.3.1
好用且免費的程式碼編輯器

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。