ls -l f.txt
-rwxrwxr-x 1 abc abc 1161 Sep 1 02:02 f.txt
stat f.txt
File: `f.txt'
Size: 1161 Blocks: 34 IO Block: 524288 regular file
Device: 38h/56d Inode: 6448956669 Links: 1
Access: (0775/-rwxrwxr-x) Uid: ( 1024/ carle) Gid: ( 100/ users)
Access: 2017-09-09 02:02:36.000000000 -0700
Modify: 2017-09-09 02:02:36.000000000 -0700
Change: 2017-09-11 20:42:00.709807459 -0700
du -h f.txt
17K wiki.txt
何が起きてる?
どちらも、ファイルシステム上のfile size
とsize on disk
について混乱しているだけです。 ここで、各ボックス/ブロックサイズはファイルシステム上で17k
です。黄色の部分はファイルデータ(f.txt)であり、サイズは約1161ですが、ディスクは17kサイズでいっぱいです。du
コマンドは、ディスク上の実際のサイズを示します。
ファイルサイズが18000 bytes
であると仮定すると、duコマンドは出力34kを返します!
サイズはファイルの実際のバイト数であり、ディスク上のサイズはファイルがディスク上で占める実際のバイト数です。
ディスク上のサイズは通常、ファイルの実際のサイズよりも大きくなります。
ディスク上のサイズは、スパースとマークされている(「穴」がある)ファイルまたはファイルシステムによって自動的に圧縮されているファイルの実際のサイズよりも小さい場合があります。