![如何(非遞歸地)測量目錄中所有(隱藏和非隱藏)資料夾的大小?](https://rvso.com/image/178466/%E5%A6%82%E4%BD%95%EF%BC%88%E9%9D%9E%E9%81%9E%E6%AD%B8%E5%9C%B0%EF%BC%89%E6%B8%AC%E9%87%8F%E7%9B%AE%E9%8C%84%E4%B8%AD%E6%89%80%E6%9C%89%EF%BC%88%E9%9A%B1%E8%97%8F%E5%92%8C%E9%9D%9E%E9%9A%B1%E8%97%8F%EF%BC%89%E8%B3%87%E6%96%99%E5%A4%BE%E7%9A%84%E5%A4%A7%E5%B0%8F%EF%BC%9F.png)
答案1
使用 GNU du
:
du -hd1
(它還報告磁碟使用情況,.
其中子目錄報告的磁碟使用情況以及當前目錄中非目錄檔案的磁碟使用情況總和)。
與zsh
和 任何du
:
du -sk -- *(/D)
(以千位元組為單位)。
無論如何,雖然這不會報告深度2
或以下目錄及其內容的磁碟使用情況,但這些目錄的磁碟使用情況仍然包含在頂級目錄報告的磁碟使用情況中(換句話說,有是遞迴).
這就是它的潛在意義之一尺寸一個目錄的。換句話說,如果要刪除該目錄及其內容,這就是將回收的磁碟空間(假設這些文件在這些目錄之外沒有硬鏈接,並且它們的數據沒有在外部的其他文件中引用(可能是部分)這些目錄),請注意,它通常與報告的文件本身(包括目錄文件)的表觀大小總和不同ls -l
。
答案2
Du 接受多個參數 - 事實上,* 在傳遞給 du 之前已由 shell 擴展。這就是您需要做的全部。
du -sh * .??*
請注意,這將丟失以單一字元命名的檔案或目錄.
- 例如,名為.a
.
.??*
用於跳過.
和..
,它們是當前目錄和父目錄的連結。