Find
同一個 find 命令怎麼會給出兩個不同的結果呢?
這已經發生在我身上兩次(編輯:很多次,我可以複製它)現在。我正在研究一個 Raspberry Pi,尋找一個我已經知道存在的文件,所以我輸入了這個命令:
sudo find / -iname 'firefox_binary.py'
我第一次輸入它時,它執行沒有錯誤,但它沒有找到該文件。但是,當我在幾秒鐘後執行相同的命令時,它會找到它。
這是相同的命令,在相同的終端視窗中,在相同的路徑下,在相同的系統上,具有相同的文件結構,只有幾秒鐘的時間將第一次執行與第二次執行分開。這個結果怎麼可能?
這是 find 4.4.2 版本中發現的一個真正的錯誤,但該錯誤已在 find 4.6.0 版本中修復。
鑑於上述發現,作為解決方法,您可以嘗試將搜尋限制為
/usr
sudo find /usr -iname 'firefox_binary.py'
/sys
或以下列方式之一跳過,無論哪種方式最適合您的案例:sudo find / -mount -iname 'firefox_binary.py' sudo find / -not -path '/sys/*' -iname 'firefox_binary.py'
另一個,但恕我直言,更醜陋的解決方法是在搜尋之前嘗試觸發有問題的目錄的人口,例如
ls /sys/kernel/debug/tracing/options
或者
cat /sys/kernel/debug/tracing/options/<some_file>
或無論如何。
find
我還建議您向您的維護者(可能是busybox或findutils )送出錯誤報告。我認為find
在這種情況下不應該只是退出遞歸,至少不能沒有錯誤消息。