LoginSignup
1
0

More than 5 years have passed since last update.

du コマンドの -Sオプションありとなしの表示の違い

Posted at

はじめに

duコマンドでサブディレクトリを含めたディレクトリ容量を表示する。という記事を書いた際に、
du -Sdu の表示の差異が気になったのでまとめています。

結論

  • -Sはサブディレクトを含めない、ファイルの容量をディレクトごとに表示する。
  • ディレクトそれぞれの使用量が知りたいのであれば-Sオプションを付ける。
  • ディレクトの合計使用量が知りたいのであれば、-Sは付けない。

-Sオプションとは

manコマンドで調べると以下のように表示されます。
直訳すると、ディレクトリに対して、サブディレクトリの容量を含めず表示する。 となります。

-S, --separate-dirs
for directories do not include size of subdirectories

実行例

左がdu右がdu -Sの実行結果です。
2018-05-10_13h36_13.png

4行目がを見るとbaseディレクトがduの結果35M、du -S結果6.0Mとなっています。
2,3行目、サブディレクトのbase/genは29M,/base/packagesは0で、同じ結果です。

du -Sの結果であるbase(6.0M) + base/gen(29M) は duの結果であるbase(35M)となります。

ではdu -Sの結果であるbase(6.0M)は何を指しているのか、baseディレクト配下のファイルのみ一覧で表示します。

[root@-new base]# find  ./ -maxdepth 1 -type f -exec du -sh {} \;
4.0K    ./mirrorlist.txt
4.0K    ./repomd.xml
0       ./cachecookie
160K    ./9346184be1deb727caf4b1ecf4a7949155da5da74af9b92c172687b290a773df-c7-x86_64-comps.xml.gz
5.8M    ./0c34273ad0292747ee5e15c047d3e51c67ca59861a446972db45d71abacc7ad7-primary.sqlite.bz2

base配下のファイルの合計は約6Mであることが分かり、du -Sのbaseに対する容量表示とほぼ同様になります。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0