FIND 運算元和參數順序

FIND 運算元和參數順序

我有一個 find 命令,我不確定我的參數是否正確。

find / -xdev -size -size -262144000c -o -type d \( -name .snapshot -o -name man -o -name Man -o -fstype mvfs \) -prune -o -type f

我只想查找 250MB 以下且不在 .snapshot、man 目錄或 MVFS 檔案系統中的檔案。

我需要將尺寸命令放在括號中嗎?我需要使用 -a 而不是 -o 嗎?

謝謝!

答案1

將我對問題的評論複製到答案中...

find / -type d \( -name .snapshot -o -name man -o -name Man -o -fstype mvfs \) -prune -o -xdev -size -262144000c -type f -print

-a-o如果未指定,則在表達式之間隱含。

(我沒有足夠的聲譽來創建/編輯評論,我的評論隨問題遷移stackoverflow.com。然而,也許@Scott 可以回答並從他的貢獻中受益,我學到了一些東西。你應該用同樣的方式傳訊息給他。謝謝。

答案2

crw 的回答很好。複印我的評論到補充答案:

  • 我建議將 保留-xdev在開頭(在 之後/)。
  • 如果你有-xdev,我相信你不需要-fstype
  • 另外,您可以更改  -name man -o -name Man  為  -name "[Mm]an".

相關內容