酷!學園

技術討論區 => Linux 討論版 => 主題作者是: bojing 於 2021-01-05 11:36

主題: find 搭配 -exec 疑問
作者: bojing2021-01-05 11:36
我做個實驗,在/tmp 中建立一個目錄 dir100,然後下指令
# find /tmp -name 'dir*' -exec rm -rf {} \;

結果該目錄是被刪除了,但螢幕上會出現訊息:
find : '/tmp/dir100' : No such file or directory

不知是甚麼原因
主題: Re: find 搭配 -exec 疑問
作者: twu22021-01-05 16:11
strace 跑一下就看的到相關的 i/o 動作.

應該是 find 會先處理找到的東西, 然後再往下一層找.
因為你的動作是 rm -rf, 所以找到後, 被整個被刪除了, 這時要再打開那個目錄找下一層, 就會有那個錯誤.
主題: Re: find 搭配 -exec 疑問
作者: bojing2021-01-26 13:02
嗯,應該是這樣沒錯,如果設計成刪除檔案就沒問題。甘溫