2015-11-18 2 views
-2

Когда я запускаю stat для проверки файлов, я получил следующий результат.Проблема с размером блока Linux

> [[email protected] ~]$ stat test 
> File: ‘test’ Size: 538 
> Blocks: 8   IO Block: 4096 regular file Device: ca01h/51713d 
> Inode: 524329  Links: 1 Access: (0664/-rw-rw-r--) Uid: ( 
> 500/ec2-user) Gid: ( 500/ec2-user) Access: 2015-05-04 
> 17:28:43.644190329 +0000 Modify: 2015-05-04 17:28:43.644190329 +0000 
> Change: 2015-05-04 17:28:43.648190373 +0000 Birth: - 

Мой вопрос, если размер файла 538 байт, поэтому файл должен использовать 8 блоков? Один размер блока ввода-вывода составляет 4096 байт, недостаточно 1 блока?

ответ

1

Если вы посмотрите на manpage for stat:

Поле st_blocks указывает количество блоков, выделенных на файл, 512-байтовых блоков. (Это может быть меньше, чем st_size/512, когда файл имеет отверстия.)

Таким образом, выходные данные stat «Блоки» относятся к st_blocks, которые составляют 512 байт.

Если вы запустите 'du' в файле, вы заметите, что это действительно 4096 байт.

$ du -h test 
4.0K test 
Смежные вопросы