【Linux 命令】- find 命令
find?是日常工具箱中功能更強大、更靈活的命令行工具之一,因此值得花費更多的時間。
最簡單的,find?跟上路徑尋找一些東西。例如:
find /它將找到(并打印出)系統中的每個文件。而且由于一切都是文件,你會得到很多需要整理的輸出。這可能不能幫助你找到你要找的東西。你可以改變路徑參數來縮小范圍,但它不會比使用?ls命令更有幫助。所以你需要考慮你想要找的東西。
也許你想在主目錄中找到所有的 JPEG 文件。?-name?參數允許你將結果限制為與給定模式匹配的文件。
find ~ -name '*jpg'可是等等!如果它們中的一些是大寫的擴展名會怎么樣?-iname?就像?-name,但是不區分大小寫。
find ~ -iname '*jpg'很好!但是 8.3 名稱方案是如此的老。一些圖片可能是 .jpeg 擴展名。幸運的是,我們可以將模式用“或”(表示為?-o)來組合。
find ~ ( -iname 'jpeg' -o -iname 'jpg' )我們正在接近目標。但是如果你有一些以 jpg 結尾的目錄呢? (為什么你要命名一個?bucketofjpg?而不是?pictures?的目錄就超出了本文的范圍。)我們使用?-type?參數修改我們的命令來查找文件。
find ~ \( -iname '*jpeg' -o -iname '*jpg' \) -type f或者,也許你想找到那些命名奇怪的目錄,以便稍后重命名它們:
find ~ \( -iname '*jpeg' -o -iname '*jpg' \) -type d你最近拍了很多照片,所以讓我們把它縮小到上周更改的文件。
find ~ \( -iname '*jpeg' -o -iname '*jpg' \) -type f -mtime -7你可以根據文件狀態更改時間 (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誤會所以前面加了\轉義。
轉載于:https://www.cnblogs.com/wangwust/p/10032017.html
總結
以上是生活随笔為你收集整理的【Linux 命令】- find 命令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mac系统,鼠标移动太慢
- 下一篇: 10-Linux与windows文件互传