Последние новости:

Поиск по сайту:

Было бы сердце, а печали найдутся (В.О. Ключевский).

Команда Stat в Linux

08.11.2019
Команда Stat в Linux

stat утилита командной строки, которая отображает подробную информацию о данных файлах или файловых системах

Эта статья объясняет, как использовать команду stat.

 

Синтаксис команды stat следующий:

stat [OPTION]... FILE...

 

stat принимает одно или несколько входных имен FILE и включает в себя ряд параметров, которые управляют поведением команды и выводом.

Давайте посмотрим на следующий пример:

stat file.txt

 

Вывод будет выглядеть примерно так:

  File: file.txt
  Size: 4030      	Blocks: 8          IO Block: 4096   regular file
Device: 801h/2049d	Inode: 13633379    Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/   linuxize)   Gid: ( 1000/   linuxize)
Access: 2019-11-09 09:52:17.991979701 +0100
Modify: 2019-11-09 09:52:17.971979713 +0100
Change: 2019-11-09 09:52:17.971979713 +0100
 Birth: -

 

При вызове без каких-либо параметров stat, отображается следующая информация о файле:

  • File — имя файла.
  • Size — Размер файла в байтах.
  • Blocks — количество выделенных блоков, которые занимает файл.
  • IO Block — вывода — размер в байтах каждого блока.
  • File type — (например, обычный файл, каталог, символическая ссылка …)
  • Device — номер устройства в шестнадцатеричном и десятичном виде.
  • Inode — номер Inode.
  • Links — Количество жестких ссылок.
  • Access — Права доступа к файлам в числовых и символьных методах.
  • Uid — идентификатор пользователя и имя владельца .
  • Gid — идентификатор группы и имя владельца.
  • Context — контекст безопасности SELinux.
  • Access — последний раз, когда к файлу обращались.
  • Modify — последний раз, когда содержимое файла было изменено.
  • Change — последний раз, когда атрибут файла или содержимое были изменены.
  • Birth — Время создания файла (не поддерживается в Linux).

 

Чтобы получить информацию о файловой системе, в которой находится данный файл, вместо информации о самом файле, используйте параметр -f, ( —file-system):

stat -f file.txt

 

Вывод команды будет выглядеть так:

  File: "package.json"
    ID: 8eb53097b4494d20 Namelen: 255     Type: ext2/ext3
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 61271111   Free: 25395668   Available: 22265851
Inodes: Total: 15630336   Free: 13979610

 

Когда stat вызывается с параметром -f, он показывает следующую информацию:

  • Файл — имя файла.
  • ID — ID файловой системы в шестнадцатеричном формате.
  • Namelen — максимальная длина имен файлов.
  • Fundamental block size — размер каждого блока в файловой системе.
  • Blocks:
    • Total — общее количество блоков в файловой системе.
    • Free — количество свободных блоков в файловой системе.
    • Available — количество бесплатных блоков, доступных для пользователей без полномочий root.
  • Inodes:
    • Total — общее количество inode в файловой системе.
    • Free — количество бесплатных инодов в файловой системе.

 

По умолчанию stat не следует символическим ссылкам. Если вы запустите команду по символической ссылке, вывод будет содержать информацию о символической ссылке, а не о файле, на который она указывает:

stat /etc/resolv.conf

 

  File: /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf
  Size: 39        	Blocks: 0          IO Block: 4096   symbolic link
Device: 801h/2049d	Inode: 8126659     Links: 1
Access: (0777/lrwxrwxrwx)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2019-11-06 21:12:26.875956073 +0100
Modify: 2018-07-24 11:11:48.128794519 +0200
Change: 2018-07-24 11:11:48.128794519 +0200
 Birth: -

 

Для разыменования (следования) символической ссылки и отображения информации о файле, на который указывает символическая ссылка, используйте параметр -L, ( —dereference):

stat -L /etc/resolv.conf

 

  File: /etc/resolv.conf
  Size: 715       	Blocks: 8          IO Block: 4096   regular file
Device: 17h/23d	Inode: 989         Links: 1
Access: (0644/-rw-r--r--)  Uid: (  101/systemd-resolve)   Gid: (  103/systemd-resolve)
Access: 2019-11-06 20:35:25.603689619 +0100
Modify: 2019-11-06 20:35:25.555689733 +0100
Change: 2019-11-06 20:35:25.555689733 +0100
 Birth: -

 

Команда stat имеет две опции, которые позволяют вам настроить вывод в соответствии с вашими потребностями:, -c ( —format=»format») и —printf=»format».

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

Существует множество директив формата для файлов и файловых систем, которые можно использовать с —format и —printf.

Например, чтобы просмотреть только тип файла, который вы будете использовать:

stat --format="%F" /dev/null

 

character special file

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

stat --format="%n,%F" /dev/null

 

/dev/null,character special file

 

Чтобы интерпретировать специальные символы, такие как перевод строки или табуляция, используйте параметр —printf:

stat --printf='Name: %n\nPermissions: %a\n' /etc

 

\n печатает новую строку:

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

1 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Андрюша_кеков

сдравствуйте, у меня проблемы с мочеиспусканием, каждый раз когда я сожусь за этот ваш уникс, у меня появляется запор. Никогда такого не было и вот опять. ПАМаГИТЕ!!я просираю свою жизнь

Читайте также

Статьи партнеров:

1
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить

Спасибо! Ваша заявка принята

close

Спасибо! Ваша заявка принята

close