размеры файловой системы stat

С stat 8.13 на Linux на Debian – среди многих других – предлагаются следующие FORMAT-директивы ( --format= ):

В сочетании с --file-system ( -f ):

  • %s Размер блока (для более быстрой передачи)
  • %S Фундаментальный размер блока (для количества блоков)

Вопрос (ы) : Что именно имеется в виду?

Лучше всего предположить, что %s , %S равно %b (отображение в блоках) и %B (размер блока отображения), где последние для файлов, а первые два – для файловых систем. Это верно?

  • И «stat -f» и «cat / etc / fstab» показывают идентификаторы файловой системы?
  • stat: временная метка изменения файла
  • Как получить владельца файла в AIX без вывода munging ls?
  • Получить устройство с большим номером 0 (bbffs subvolume)
  • Подробная информация о команде Stat
  • размер блока файла - разница между stat и ls
  • Изменение времени создания файла в файловой системе FAT
  • Как найти дату создания файла?
  • One Solution collect form web for “размеры файловой системы stat”

      %S fundamental block size (for block counts) 

    сообщает, насколько большой каждый блок находится в файловой системе. В большинстве файловых систем это наименьшее количество места, которое может занимать любой файл. В каждом файле используется кратное.

    Например,

     $ echo > a # create a file containing a single byte $ du -ha # see how much disk space it's using 4.0K a $ stat -f -c '%S' . # see what stat thinks the block size is 4096 $ tune2fs -l /dev/mydrive | grep '^Block size' 4096 

    Я не уверен на 100%, что он всегда работает так. Например, я ожидаю, что он также может решить распечатать 512 или 1024 , даже если размер базового блока отличается, если stat -c %b FILE * stat -f -c %S FILE = du --block-size=1 FILE , Точная реализация будет зависеть от файловой системы.


     %s block size (for faster transfers) 

    предлагает количество байтов, которые вы должны читать за раз, если вы копируете большие файлы, например, что вы должны использовать в качестве параметра bs (blockize) при использовании dd . Но в системах, которые я проверил, он всегда печатает 4096 , даже если более крупные значения могут быть быстрее. См. Есть ли способ определить оптимальное значение параметра bs для dd? для более подробного обсуждения этого.


    Технически эта информация (и вся информация из stat -f ) поступает из системного вызова statvfs .

    %s соответствует полю f_bsize , а %Sf_frsize .

    Таким образом, вы можете изучить их точные значения, начиная со страницы statvfs man

      unsigned long f_bsize; /* Filesystem block size */ unsigned long f_frsize; /* Fragment size */ 
    Linux и Unix - лучшая ОС в мире.