Directory

如何遞歸列出子目錄及其大小?

  • February 26, 2021

我有一個目錄,其中包含許多子目錄和許多文件。我只需要弄清楚每個子目錄佔用多少空間。所以我需要類似ls -lR的東西,我想看到整個目錄結構一直到每個葉子,但我不需要查看單個文件。相反,我想看看每個子目錄佔用了多少空間。因此,例如,如果我有一個目錄root,其中 (i)foo大小為 1MB 的子目錄,(ii) bar2MB 的子目錄和一堆總共佔用另外 1MB 的文件,我希望看到 4MB root、 1MBfoo和 2MB bar

就是du這樣。考慮與您在問題中描述的內容相匹配的範例目錄結構:

$ tree -h root
root
├── [4.0K]  bar
│   └── [2.0M]  file
├── [256K]  file1
├── [256K]  file2
├── [256K]  file3
├── [256K]  file4
└── [4.0K]  foo
   └── [1.0M]  file

2 directories, 6 files

如果我現在執行du它,我會得到你想要的輸出:

$ du -h root
2.1M    root/bar
1.1M    root/foo
4.1M    root

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