2017/9/27
<code>find</code><code>博大精深,本文僅持續更新在工作中頻繁使用的方法。</code>
<code>用的最多的2個,找到指定類型的檔案,列印和删除:</code>
<code>find</code> <code>${d_bak_log} -</code><code>type</code> <code>f -name </code><code>"*.log"</code> <code>-mtime +${s_copies} -print</code>
<code>find</code> <code>${d_bak_log} -</code><code>type</code> <code>f -name </code><code>"*.log"</code> <code>-mtime +${s_copies} -delete</code>
<code>找出空目錄</code>
<code>find</code> <code>/path</code> <code>-depth -</code><code>type</code> <code>d -empty</code>
<code>找位元組為0的檔案</code>
<code>find</code> <code>/path</code> <code>-depth -</code><code>type</code> <code>f -empty</code>
<code>找出具體檔案名的檔案</code>
<code>find</code> <code>/path</code> <code>-name name_of_file</code>
<code>找出特定擴充名的檔案</code>
<code>find</code> <code>/path</code> <code>-name “*.given_extension”</code>
<code>根據權限及指定擴充名尋找檔案</code>
<code>find</code> <code>/path</code> <code>-name ‘*.txt’ -perm 644</code>
<code>找出指定權限的檔案</code>
<code>find</code> <code>/path</code> <code>-perm -permision_bits(權限位)</code>
<code>找出指定檔案名(任意擴充名的檔案)</code>
<code>find</code> <code>/path</code> <code>-name ‘given_name.*’</code>
<code>最近10分鐘改動過的檔案:</code>
<code>find</code> <code>/home/web/log/exportlog</code> <code>-</code><code>type</code> <code>f -mmin -10 -</code><code>exec</code> <code>ls</code> <code>-l {} \;</code>
<code>find</code><code>根據時間尋找</code>
<code>用減号-來限定更改時間在距今n日以内的檔案,而用加号+來限定更改時間在距今n日以前的檔案。</code>
<code>各參數說明</code>
<code>-amin n</code>
<code>查找系統中最後N分鐘通路的檔案</code>
<code>-atime n</code>
<code>查找系統中最後n*24小時通路的檔案</code>
<code>-cmin n</code>
<code>查找系統中最後N分鐘被改變檔案狀态的檔案</code>
<code>-ctime n</code>
<code>查找系統中最後n*24小時被改變檔案狀态的檔案</code>
<code>-mmin n</code>
<code>查找系統中最後N分鐘被改變檔案資料的檔案</code>
<code>-mtime n</code>
<code>查找系統中最後n*24小時被改變檔案資料的檔案</code>
<code>更改時間在5日以内的檔案</code>
<code>find</code> <code>/path</code> <code>-mtime -5</code>
<code>找出并删除檔案</code>
<code>find</code> <code>/path</code> <code>-name “core.*” -</code><code>type</code> <code>f -delete</code>
<code>找出指定擴充名後修改擴充名</code>
<code>find</code> <code>/path</code> <code>-</code><code>type</code> <code>f | </code><code>xargs</code> <code>rename .baksh “.sh”</code>
<code>找出亂碼檔案名并删除</code>
<code>例子1:</code>
<code>[root@s1 download]</code><code># ls -li</code>
<code>134742021 -rw-r--r-- 1 root root 0 Feb 17 17:28 ??p?</code>
<code>134754342 -rw-r--r-- 1 root root 3.8M Mar 28 2012 xtrabackup-1.6.6-332.rhel6.x86_64.rpm</code>
<code>134742018 -rw-r--r-- 1 root root 0 Feb 17 17:28 ?x,u</code>
<code>[root@s1 download]</code><code># find . -inum 134742021</code>
<code>./??p?</code>
<code>[root@s77 download]</code><code># find . -inum 134742021 -exec rm {} \;</code>
<code>[root@s77 download]</code><code># ls</code>
<code>?x,u xtrabackup-1.6.6-332.rhel6.x86_64.rpm</code>
<code>例子2:</code>
<code>[root@s1 download]</code><code># ll -hi</code>
<code>25953325 -rw-rw-r-- 1 root root 63M May 30 2012 --exclude</code>
<code>[root@s1 download]</code><code># find . -inum 25953325 -print</code>
<code>.</code><code>/--exclude</code>
<code>[root@s1 download]</code><code># find . -inum 25953325 -delete</code>
<code>例子3:</code>
<code>[Jack@</code><code>test</code> <code>~]$ </code><code>ls</code> <code>-i</code>
<code>916302 ?眙?[??d?G?go?e]?Hk?I??_???X?????-?q???</code>
<code>[Jack@s80 ~]$ </code><code>find</code> <code>-inum 916302 -print </code>
<code>./?眙?[??d?G?go?e]?Hk?I??_???X?????-?q???</code>
<code>[Jack@s80 ~]$ </code><code>find</code> <code>-inum 916302 -delete</code>
<code>[Jack@s80 ~]$ </code><code>ls</code>
<code>找到指定類型的檔案并統計行數</code>
<code># find www -type f -name '*.html' -o -name '*.css' -o -name '*.js' -o -name '*.py' |grep -vE 'jquery|bootstrap|npm|migration' |grep -v 'www\/static' |xargs cat - |grep '^[^#]' |wc -l</code>
<code>1911</code>
<code>在某目錄下的所有js檔案中查找指定的關鍵字:</code>
<code>find</code> <code>. -</code><code>type</code> <code>f -name </code><code>'*.js'</code> <code>-</code><code>exec</code> <code>grep</code> <code>-l </code><code>'portainer'</code> <code>{} \;</code>
本文轉自 pcnk 51CTO部落格,原文連結:http://blog.51cto.com/nosmoking/1659728,如需轉載請自行聯系原作者