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
- f.txtがディスクで17K(17408バイト)を占めるのはなぜですか?
- IOブロックサイズとは何ですか?長さが524288バイトで、ファイルシステムのブロックサイズと等しくないのはなぜですか(ファイルシステムのブロックサイズが17Kであると仮定)。
ここで何が起こっているのでしょうか?
答え1
どちらもありません。ファイルシステムに比べて混乱するだけですfile size
。size on disk
ここで、各ボックス/ブロックのサイズは17k
ファイルシステムにあります。黄色の部分がファイルデータ(f.txt)であることを考慮すると、サイズは約1161ですが、ディスクは17kサイズを占めます。du
このコマンドはディスクの実際のサイズを提供します。
ファイルサイズが18000 bytes
34kと仮定すると、duコマンドが出力されます。
サイズはファイルの実際のバイト数、ディスク上のサイズはファイルがディスクから占める実際のバイト数です。
ディスクのサイズは通常、ファイルの実際のサイズより大きいです。
スパース(「リーク」)としてマークされたファイルシステムまたはファイルシステムによって自動的に圧縮されたファイルの場合、ディスクのサイズが実際のサイズより小さい場合があります。