フォルダの合計サイズを取得する方法

フォルダの合計サイズを取得する方法

Solarisサーバーでこの出力の合計サイズをどのように知ることができますか?助けてください?過去1日間の合計ファイルサイズを知りたいです。

root@test:# find . -mtime -1 -type f | xargs du -sh
226M    ./10/01.tar
209M    ./10/02.tar
198M    ./10/03.tar
202M    ./10/04.tar
193M    ./10/05.tar
193M    ./10/06.tar
193M    ./10/07.tar
204M    ./10/08.tar
222M    ./10/09.tar
244M    ./10/10.tar
24G     ./10/00.tar
17G     ./10/01.tar
11G     ./10/02.tar
8.3G    ./10/03.tar
6.5G    ./10/04.tar
5.8G    ./10/05.tar
6.0G    ./10/06.tar
8.3G    ./10/07.tar

ベストアンサー1

このオプションを使用して、パラメータの累積ディスク使用量を-c取得し、最後に1行を追加できます。だからここにあります:ctotal

zsh -c 'du -hsc -- **/*(DoN.m-1) | tail -n 1'

zsh代わりに、ファイルリストを複数の呼び出しに分割することを避けるためにここで使用されますfind -exec cmd {} +(それ自体は非常に信頼できないものよりはるかに優れています)。ただし、これは実行時にコマンドに渡される引数の最大数に制限がある可能性があることを意味します。find | xargsdu

GNU実装(システムから呼び出すことduができる)にアクセスできる場合は、次のこともできます。gdu

find . -type f -mtime -1 -print0 | gdu --files0-from=- -hsc | tail -n 1

または、合計をキロバイト単位で取得するGNU実装を使用しますfind(ただし、ハードリンクがある場合は重複排除は行われません)。

gfind . -type f -mtime -1 -printf '%k\n' |
  awk '{s+=$1}; END{print s+0}'

おすすめ記事