Bash

如何在一行中獲取目錄中所有內容的總大小?

  • October 30, 2015

我知道我可以使用 du -h 輸出目錄的總大小。但是當它包含其他子目錄時,輸出將類似於:

du -h /root/test

.
.
.
.
24K   /root/test/1
64K   /root/test/2
876K  /root/test/3
1.1M  /root/test/4
15M   /root/test/5
17M   /root/test

我只想要最後一行,因為目錄中的小目錄太多了/root/test。我能做些什麼?

添加--max-depth值為 0 的參數:

du -h --max-depth=0 /root/test

或者,使用-s(summary) 選項:

du -sh /root/test

其中任何一個都應該給你你想要的。供日後參考,man du很有幫助。

tail 和 head 命令用於顯示列表的最後和開頭。

在這種情況下,使用以下命令::

## Display the last ten items
du -h /root/test | tail 
## N = 1 last item, N = 30 Last 30 items.
du -h /root/test | tail -n N 

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