NFSマウントのstat、du、およびls -l出力の理解

NFSマウントのstat、du、およびls -l出力の理解
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
  1. f.txtがディスクで17K(17408バイト)を占めるのはなぜですか?
  2. IOブロックサイズとは何ですか?長さが524288バイトで、ファイルシステムのブロックサイズと等しくないのはなぜですか(ファイルシステムのブロックサイズが17Kであると仮定)。

ここで何が起こっているのでしょうか?

答え1

どちらもありません。ファイルシステムに比べて混乱するだけですfile sizesize on diskファイルシステム ここで、各ボックス/ブロックのサイズは17kファイルシステムにあります。黄色の部分がファイルデータ(f.txt)であることを考慮すると、サイズは約1161ですが、ディスクは17kサイズを占めます。duこのコマンドはディスクの実際のサイズを提供します。

ファイルサイズが18000 bytes34kと仮定すると、duコマンドが出力されます。

  1. サイズはファイルの実際のバイト数、ディスク上のサイズはファイルがディスクから占める実際のバイト数です。

  2. ディスクのサイズは通常、ファイルの実際のサイズより大きいです。

  3. スパース(「リーク」)としてマークされたファイルシステムまたはファイルシステムによって自動的に圧縮されたファイルの場合、ディスクのサイズが実際のサイズより小さい場合があります。

関連情報