Команда stat информация по файлам/папкам
Часть информации показывает утилита ls
, но если вам нужно больше, то можно воспользоваться командой stat
.
Синтаксис
stat опции путь_к_файлу
Опции
-L, dereference
показывать информацию о файле вместо символической ссылки-f, --file-system
показывать информацию о файловой системе в которой расположен файл-c, --format
позволяет указать формат вывода вместо стандартного, каждый файл выводится с новой строки--printf
аналогично--format
, только для новой строки надо использовать \n-t, --terse
показ информации в очень кратком виде, в одну строку--version
показать версию утилиты.
Чтобы посмотреть информацию о файле достаточно запустить программу без опций передав ей путь к файлу:
stat /etc/passwd
Рассмотрим что означает вывод программы:
Файл (File)
путь к файлу по которому показывается информацияРазмер (Size)
размер файла в байтахБлок В/В (IO Block)
размер блока файловой системы в байтахБлоков (Blocks)
количество блоков файловой системы, занятых файломУстройство (Device)
идентификатор устройства, например HDD, на котором сохранён файлInode
уникальный номер Inode этого файлаСсылки (Links)
количество жестких ссылок на этот файлДоступ (Access)
права доступа к файлуUid
идентификатор и имя пользователя-владельца файлаGid
идентификатор и имя группы файлаДоступ (Access)
время последнего доступа к файлуМодифицирован (Modify)
время когда в последний раз изменялся контент файлаИзменен (Change)
время, когда в последний раз изменялись атрибуты файла или контент файлаСоздан (Birth)
зарезервировано для отображения первоначальной даты создания файла, но пока ещё не реализовано.
Надо ещё немного поговорить про формат времени. Например, время последнего доступа к файлу 2020-12-02 18:25:01.043831739 +0200
. Это время показывается с учётом временной зоны. А цифры +0200
показывают, что временная зона на компьютере, который создал или модифицировал этот файл на два часа больше чем UTC
, то есть Europe/Kiev
в зимнее время.
Если попробовать передать утилите символическую ссылку, то она покажет информацию только из Inode
самой ссылки:
stat /etc/passwdlink
Для того чтобы увидеть информацию о файле, на который указывает ссылка надо использовать опцию -L
:
stat -L /etc/passwdlink
Если вы хотите посмотреть информацию о файловой системе, в которой расположен файл, то надо использовать опцию -f
:
stat -f /etc/passwd
Давайте рассмотрим что означают поля, которые выводит утилита:
Файл (File)
имя файлаТип (Type)
тип файловой системыID
идентификатор файловой системыДлина имени (Namelen)
максимальная длина имени в файловой системеРазмер блока (Block size)
объем данных при запросе на чтение или запись для оптимальной скорости работыБазисный размер блока (Fundamental block size)
физический размер блока в файловой системе.