Command-Line

將 –exclude 與 du 命令一起使用

  • March 2, 2022

這可能是基本的東西,但我無法讓它發揮作用。我正在嘗試使用 DU 來獲取文件的總大小減去某些目錄。我需要排除一個名為的特定目錄,uploads但不是每個名為uploads. 例如,我的文件結構看起來有點像這樣:

/store
 /uploads
   /junk_to_ignore
   /more_junk_to_ignore
 /user_one
   /uploads
 /user_two

我可以執行以下命令:

du -ch --exclude=uploads* 

它給了我文件大小減去所有“上傳”目錄。但是,在嘗試排除某些目錄(及其所有子目錄)時,我失敗了。我嘗試了以下變化:

du -ch --exclude=./uploads*
du -ch --exclude='/full/path/to/uploads/*'

但似乎無法弄清楚。如何排除特定目錄?

你幾乎找到了:)

du -ch --exclude=./relative/path/to/uploads

注意最後沒有星號。星號表示應省略*“上傳”下*的所有子目錄 - 但不是該目錄中直接的文件。

要排除多個目錄,只需再次傳遞 –exclude 標誌。

du -ch --exclude=relative/path/to/uploads --exclude other/path/to/exclude

引用自:https://unix.stackexchange.com/questions/23692