find
是日常工具箱中功能更強大、更靈活的命令列工具之一,因此值得花費更多的時間。
最簡單的,find
跟上路徑尋找一些東西。例如:
find /
它將找到(並列印出)系統中的每個檔案。而且由於一切都是檔案,你會得到很多需要整理的輸出。這可能不能幫助你找到你要找的東西。你可以改變路徑引數來縮小範圍,但它不會比使用ls
命令更有幫助。所以你需要考慮你想要找的東西。
也許你想在主目錄中找到所有的 jpeg 檔案。-name
引數允許你將結果限制為與給定模式匹配的檔案。
可是等等!如果它們中的一些是大寫的副檔名會怎麼樣?-iname
就像-name
,但是不區分大小寫。
很好!但是 8.3 名稱方案是如此的老。一些可能是 .jpeg 副檔名。幸運的是,我們可以將模式用「或」(表示為-o
)來組合。
或者,也許你想找到那些命名奇怪的目錄,以便稍後重新命名它們:
你最近拍了很多**,所以讓我們把它縮小到上週更改的檔案。
你可以根據檔案狀態更改時間 (ctime
)、修改時間 (mtime
) 或訪問時間 (atime
) 來執行時間過濾。 這些是在幾天內,所以如果你想要更細粒度的控制,你可以表示為在幾分鐘內(分別是cmin
、mmin
和amin
)。 除非你確切地知道你想要的時間,否則你可能會在+
(大於)或-
(小於)的後面加上數字。
但也許你不關心你的**。也許你的磁碟空間不夠用,所以你想在log
目錄下找到所有巨大的(讓我們定義為「大於 1gb」)檔案:
find /var/log -size +1g
或者,也許你想在/data
中找到 bcotton 擁有的所有檔案:
find /data -owner bcotton
你還可以根據許可權查詢檔案。也許你想在你的主目錄中找到對所有人可讀的檔案,以確保你不會過度分享。
find ~ -perm -o=r
你還可以通過下列語句確保模式檔案僅保留5天,並且所有早於此的檔案都將被刪除。
find ./backup/core-files*.tar.gz -mtime +4.9 -exec rm {} \;
上述命令中的-exec表示要對find出來的檔案執行什麼命令,後面緊跟的就是命令內容。rm表示刪除,{}表示的就是find出來的內容。;表示rm 命令的結束,但是為了不讓shell誤會所以前面加了\轉義。
find 命令 Linux命令篇 find命令
find name txt o name pdf print演示結果 find regex txt pdf iregex 忽略大小寫的正則 查詢所有非txt文字 find name txt print演示結果 列印出當前目錄的檔案 深度為1 find maxdepth 1 type f演示結果 5....
linux命令 find命令
一 根據名稱查詢檔案和目錄 二 根據許可權查詢檔案和目錄 三 基於所有者和組查詢檔案和目錄 四 根據日期和時間查詢檔案和目錄 五 根據大小查詢檔案和目錄 一 根據名稱查詢檔案和目錄 1 使用當前目錄中的名稱查詢檔案 find test.c 2 在主目錄下查詢檔案 find home name tes...
Linux命令 find 查詢命令
help引數,查詢命令引數 find help 命令格式 find h l p olevel d help tree search stat rates opt exec path expression 這樣的說法你能看的懂嗎?反正我是看不懂。於是乎使用 man find命令,得到各引數更詳細的解釋...