![duはなぜ予期しない出力を提供しますか?](https://linux33.com/image/1097/du%E3%81%AF%E3%81%AA%E3%81%9C%E4%BA%88%E6%9C%9F%E3%81%97%E3%81%AA%E3%81%84%E5%87%BA%E5%8A%9B%E3%82%92%E6%8F%90%E4%BE%9B%E3%81%97%E3%81%BE%E3%81%99%E3%81%8B%EF%BC%9F.png)
私はLinuxを初めて使用するのに簡単な質問をして申し訳ありません。私はUbuntuにいます。
私は次のディレクトリを持っています:
$ ls -al
total 16
drwxr-xr-x 2 alberto alberto 4096 2011-04-03 16:02 .
drwxr-xr-x 4 alberto alberto 4096 2011-04-03 16:01 ..
-rw-r--r-- 1 alberto alberto 7 2011-04-03 16:02 .hidden
-rw-r--r-- 1 alberto alberto 4 2011-04-03 15:51 testfile
を実行するときは、du
次のことを期待します。
$ du
4 testfile
4 .hidden
しかし、私はこれを得ます:
$ du
12 .
$ du *
4 testfile
$ du .*
12 .
20 ../snippet
12 ../test
52 ..
4 .hidden
なぜこれが起こるのですか?
答え1
du
ディレクトリごとのディスク使用量を要約します。あなたの例では、現在のディレクトリにサブディレクトリがないので、出力は1行です。
ファイル名がコマンドラインに渡されると、そのサイズが報告されます。複数のファイルの名前を渡すことは、そのファイルをdu
複数回実行するのと同じです。du .*
du .; du ..; du .hidden
du -a
各ファイルが占めるスペースを確認するには、実行してください。
$ du -a
4 .hidden
4 testfile
12 .
ほとんど
:一部のシステムでは、通常のファイルに複数のハードリンクがある場合は、特定の呼び出しで初めて接続されたときにのみ計算されますdu
。