
bashコマンドを実行するとdu -hs .
、出力は次のようになります。
1.2G .
bashコマンドを実行するとdu -hs *
、出力は次のようになります。
108K action
4.0K activate.php
8.0K browse.php
584K captcha
164K class
4.0K clearcache
388K cms
4.0K comment.complete.php
4.0K contact.php
530M docs
116K documentation
24K DONE.txt
21M em
4.0K footer.php
4.0K forgot.php
4.0K header.php
196K images
264K includes
8.0K index.php
168K js
4.0K login.php
4.0K logout.php
4.0K mail.confirmation.php
4.0K mail.php
4.0K news.item.php
4.0K news.php
4.0K profile.edit.php
4.0K profile.php
4.0K reset.confirmation.php
4.0K robots.txt
4.0K signup.confirmation.php
4.0K signup.php
4.0K svnstatus
4.0K svnunknown
4.0K TODO.txt
16M tpl
出力のファイルとディレクトリのサイズをすべて合計するとdu -hs *
、コマンドより約 600 MB 不足しますdu -hs .
。600 MB 不足する原因を突き止めるにはどうすればよいでしょうか。また、2 つのコマンドの間にこれほど大きな差があるのはなぜでしょうか。
答え1
このdu -hs *
コマンドは、ワイルドカードに一致するファイルのみを報告します。ワイルドカードには、ピリオドで始まるファイルやディレクトリは含まれません。
このdh -sh
コマンドは.
(現在のディレクトリ) をチェックし、ピリオドで始まるファイルも含め、そのディレクトリの下にあるすべてのものをチェックします。
例えば:
$ du -shc *
2.0M file.1
4.0M file.2
5.9M file.3
12M total
$ du -shc
24M .
24M total
$ ls -la
total 48576
drwxr-xr-x 8 John Bovi 272 Aug 20 14:26 .
drwxr-xr-x 243 John Bovi 8262 Aug 20 14:25 ..
-rw-r--r-- 1 John Bovi 2097152 Aug 20 14:26 .file.1
-rw-r--r-- 1 John Bovi 4145152 Aug 20 14:26 .file.2
-rw-r--r-- 1 John Bovi 6193152 Aug 20 14:26 .file.3
-rw-r--r-- 1 John Bovi 2097152 Aug 20 14:26 file.1
-rw-r--r-- 1 John Bovi 4145152 Aug 20 14:26 file.2
-rw-r--r-- 1 John Bovi 6193152 Aug 20 14:26 file.3
余談:
簡単にするには、 の代わりにdu -hs *
を使用しますdu -hsc *
。合計が表示されるので、手動で合計する必要がありません。