Какие блоки размера используют `truncate -io-blocks`?

Какие блоки размера используют truncate --io-blocks GNU truncate --io-blocks ?

  -o, --io-blocks treat SIZE as number of IO blocks instead of bytes 
  • 512 байт
  • blockdev --getbsz
  • blockdev --getpbsz

  • Не удается удалить файл - разрешено разрешение - почему?
  • Как найти отсутствующие файлы с последовательными именами?
  • Обратная сторона `tree` - восстанавливает структуру файлов и каталогов из содержимого текстового файла?
  • Почему этот исполняемый файл все еще выполняется после того, как я удалил его?
  • Как применить dos2unix рекурсивно ко всему содержимому папки?
  • Что такое core.mountd. ######### файлы? OpenSolaris
  • Поиск файлов, созданных определенным пользователем
  • Я хочу, чтобы grep из текстовой строки из многих файлов, как я могу запустить цикл для этого
  • Почему rm удаляет файлы только для чтения?
  • Какой смысл добавлять новую строку в конец файла?
  • Как сделать разницу между .wxm (wxMaxima) и .c файлами в Linux Mint?
  • Как перенести файл в каталог другого пользователя?
  • One Solution collect form web for “Какие блоки размера используют `truncate -io-blocks`?”

    Ни один из вышеперечисленных.

    Блокировка связана с параметрами файловой системы, выбранными в момент времени mkfs, и может быть найден путем запуска stat() отношении файла. Он не имеет отношения к базовому блочному устройству, на котором хранится файловая система (если есть).

    Например, с GNU stat :

     $ /usr/bin/stat . | grep IO.Block Size: 71680 Blocks: 144 IO Block: 2048 directory 

    Если вы предпочитаете более программное представление, системный вызов stat() можно сделать в perl с помощью:

     $ perl -e '@x=stat("."); print $x[11]' 2048 

    В обоих случаях мы получаем «2048» в качестве ответа для этой файловой системы.

    Мы можем проверить это:

     $ truncate -o -s 1 foo $ ls -l foo -rw-r--r-- 1 sweh sweh 2048 Sep 17 10:28 foo 

    Различные файловые системы могут иметь разные размеры блоков. например, на моей машине я делал диск /news диске меньшим размером блока, поскольку он хранит в основном меньшие файлы

     $ perl -e '@x=stat("/"); print $x[11]' 4096 $ perl -e '@x=stat("/news"); print $x[11]' 2048 

    Для Linux ext x файловых систем это выполняется с помощью mke2fs с флагом -b :

      -b block-size Specify the size of blocks in bytes. Valid block-size values are 1024, 2048 and 4096 bytes per block. If omitted, block-size is heuristically determined by the filesystem size and the expected usage of the filesystem (see the -T option). If block- size is preceded by a negative sign ('-'), then mke2fs will use heuristics to determine the appropriate block size, with the constraint that the block size will be at least block-size bytes. This is useful for certain hardware devices which require that the blocksize be a multiple of 2k. 
    Linux и Unix - лучшая ОС в мире.