du -sh ./* 空でないフォルダを 0 バイトとして返します。

du -sh ./* 空でないフォルダを 0 バイトとして返します。

以前は、現在ディレクトリにあるすべてのフォルダのサイズを表示するには、次のコマンドを使用しました。

ドゥシュ ./*

最近のディストリビューションのインストール(Manjaro)でこれを実行すると、/ binディレクトリが0に返されます。 / binには3000を超えるサブディレクトリがあり、binでdu -sh ./*を実行すると、各サブディレクトリにサイズがあることが示されます。

私のduコマンドは、サブディレクトリではなく各フォルダの最初のレベルのファイルサイズのみを表示しますか?

答え1

Arch LinuxやManjaroなどの派生製品では、/binyes/usr/binシンボリックリンクのサイズが0なので、du /bin0として報告されます。

の出力では、du /*下のファイルは実際にファイルがある場所に/bin書き込まれます。/usr/usr/bin

最近では、ディスクサイズがオペレーティングシステムのサイズよりはるかに大きくなる傾向があるため、++ /usr(ほとんどのアプリケーションがある場所)と/bin++ /etc(システムを起動するために必要な最小値を含む)の間の古典的な区切りはしばしば/lib不適切と見なされます/sbin。これは、一部のディストリビューション(Archなど)がそれをマージし、/usrルートパーティションからの分離をサポートしていない理由です。

答え2

duサブフォルダーサイズの出力を防ぐことは、サブフォルダーを除いてその引数のサイズのみを出力する引数-s( の省略記号 ) です。--summarizedu

試してdu -hc /みてください。

関連情報