5 примеров команды stat для новичков в Linux
команда stat — полезная утилита для просмотра состояния файла или файловой системы. Он извлекает такую информацию, как тип файла; права доступа в восьмеричном и человекочитаемом формате; Строка контекста безопасности SELinux; время рождения файла, последний доступ, последняя модификация данных, последнее изменение статуса как в удобочитаемом виде, так и в секундах с момента Epoch и многое другое.
У него есть возможность указать собственный формат вместо формата по умолчанию для отображения информации. В этом руководстве мы рассмотрим пять примеров команд stat для новичков в Linux.
Проверьте статус файла Linux
1. Самый простой способ использовать stat — предоставить ему файл в качестве аргумента. Следующая команда отобразит размер, блоки, блоки ввода-вывода, тип файла, значение индексного дескриптора, количество ссылок и другую информацию о файле /var/log/syslog, как показано на снимке экрана:
$ stat /var/log/syslog
File: '/var/log/syslog'
Size: 26572 Blocks: 56 IO Block: 4096 regular file
Device: 80ah/2058d Inode: 8129076 Links: 1
Access: (0640/-rw-r-----) Uid: ( 104/ syslog) Gid: ( 4/ adm)
Access: 2018-04-06 09:42:10.987615337 +0530
Modify: 2018-04-06 11:09:29.756650149 +0530
Change: 2018-04-06 11:09:29.756650149 +0530
Birth: -
Проверьте состояние файловой системы
2. В предыдущем примере команда stat обрабатывала входной файл как обычный файл, однако для отображения состояния файловой системы вместо статуса файла используйте параметр -f
.
$ stat -f /var/log/syslog
File: "/var/log/syslog"
ID: ce97e63d2201c974 Namelen: 255 Type: ext2/ext3
Block size: 4096 Fundamental block size: 4096
Blocks: Total: 84769790 Free: 16012830 Available: 11700997
Inodes: Total: 21544960 Free: 20995459
Вы также можете указать каталог/файловую систему в качестве аргумента, как показано.
$ stat -f /
File: "/"
ID: ce97e63d2201c974 Namelen: 255 Type: ext2/ext3
Block size: 4096 Fundamental block size: 4096
Blocks: Total: 84769790 Free: 16056471 Available: 11744638
Inodes: Total: 21544960 Free: 21005263
Включить отслеживание символических ссылок
3. Поскольку Linux поддерживает ссылки (символические и жесткие ссылки), некоторые файлы могут иметь одну или несколько ссылок или даже существовать в файловая система.
Чтобы разрешить stat переходить по ссылкам, используйте флаг -L
, как показано.
$ stat -L /
File: '/'
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: 80ah/2058d Inode: 2 Links: 25
Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2018-04-09 10:55:55.119150525 +0530
Modify: 2018-02-20 11:15:54.462893167 +0530
Change: 2018-02-20 11:15:54.462893167 +0530
Birth: -
Используйте собственный формат для отображения информации
4. stat также позволяет использовать определенный или собственный формат вместо формата по умолчанию. Флаг -c
используется для указания используемого формата. Он печатает новую строку после каждого использования последовательности форматов.
Альтернативно вы можете использовать опцию --printf
, которая позволяет интерпретировать управляющие последовательности обратной косой черты и отключает печать завершающего символа новой строки. Например, вам нужно использовать \n
в формате, чтобы напечатать новую строку.
stat --printf='%U\n%G\n%C\n%z\n' /var/log/secure
Значение последовательности форматов файлов, использованных в приведенном выше примере:
- %U – имя пользователя владельца
- %G – имя группы владельца
- %C – строка контекста безопасности SELinux.
- %z – время последнего изменения статуса, понятное человеку.
5. Вот пример, показывающий использование принятых последовательностей форматов для файловых систем.
stat --printf='%n\n%a\n%b\n' /
Значение последовательностей форматов, используемых в приведенной выше команде.
- %n – показывает имя файла.
- %a – печатать бесплатные блоки, доступные не суперпользователю.
- %b – выводит общее количество блоков данных в файловой системе.
Распечатать информацию в краткой форме
6. Опцию -t
можно использовать для печати информации в краткой форме.
$ stat -t /var/log/syslog
/var/log/syslog 12760 32 81a0 104 4 80a 8129076 1 0 0 1523251873 1523256421 1523256421 0 4096
И последнее замечание: ваша оболочка может иметь свою собственную версию stat; пожалуйста, обратитесь к документации вашей оболочки для получения подробной информации о поддерживаемых опциях. Чтобы просмотреть все принятые последовательности выходных форматов, обратитесь к странице руководства по статистике.
man stat
В этой статье мы объяснили пять примеров команд stat для новичков в Linux. Используйте форму обратной связи ниже, чтобы задать любые вопросы.