Команды Linux · 2 min read · Sep 15, 2025

Учебник по команде stat в Linux для начинающих (5 примеров)

Иногда, работая в командной строке Linux, вам нужно узнать больше о файле. Например, вам может понадобиться информация, такая как размер файла, номер inode, права доступа, время последнего доступа или изменения и многое другое. Вам будет приятно узнать, что существует утилита командной строки stat, которая предоставляет всю эту информацию сразу.

В этом учебнике мы обсудим основы stat, используя несколько простых примеров. Но прежде чем мы это сделаем, стоит упомянуть, что все примеры, упомянутые здесь, были протестированы на Ubuntu 16.04LTS.

Команда stat в Linux

Команда stat в Linux позволяет вам просматривать статус файла (или даже файловой системы). Вот синтаксис команды:

stat [OPTION]... FILE...

Следующие примеры в формате вопросов и ответов дадут вам хорошее представление о том, как работает stat.

Вопрос 1. Как использовать команду stat?

Основное использование инструмента очень простое - все, что вам нужно сделать, это запустить команду ‘stat’ с именем файла, о котором вы хотите узнать больше.

stat [имя_файла]

Например:

stat test.txt

Таким образом, вы можете увидеть такие детали, как имя файла, размер, тип файла, права доступа, UID и GID, а также время доступа/изменения/изменения.

Вопрос 2. Как сделать так, чтобы stat отображал информацию в сжатом виде?

Сжатая форма вывода облегчает другим программам разбор вывода. Чтобы сделать так, чтобы ‘stat’ выводил информацию в этой форме, используйте командный параметр -t.

stat -t test.txt

Вопрос 3. Как сделать так, чтобы stat выводил информацию в пользовательском формате?

Для этого используйте опцию –format. Эта опция требует от вас ввода допустимой последовательности формата, и много таких доступно. Например, чтобы получить права доступа в читаемом виде, используйте %A.

Например:

stat --format=%A test.txt

выдает следующий вывод:

Аналогично, вы можете использовать %n для имени файла, %s для размера и %U для имени пользователя владельца файла.

Вопрос 4. Чем опция –format отличается от –printf?

В основном обе опции делают одно и то же. Разница заключается в способе, которым производится вывод. В то время как –format выводит новую строку после каждого использования, в случае –printf новая строка не добавляется. Вот как это объясняет страница man:

       -c  --format=FORMAT  
              использовать указанный FORMAT вместо значения по умолчанию; выводить новую?  
              строку после каждого использования FORMAT  
  
       --printf=FORMAT  
              как --format, но интерпретировать обратные слэши, и не выводить обязательную завершающую новую строку; если вы хотите новую строку, включите  
 в FORMAT

Вопрос 5. Как убедиться, что stat разыменовывает, если входной файл является ссылкой?

Для этого также существует специальная опция: -L. Таким образом, если входной файл является ссылкой, и вы хотите, чтобы stat следовал за ней при выполнении команды, выполните ее следующим образом:

stat -L [имя_файла]

Заключение

Будет неправильно сказать, что stat не имеет кривой обучения, но количество усилий, которые требует инструмент, не велико, так как количество предлагаемых им параметров командной строки ограничено. Мы уже обсудили большинство из них здесь. Для получения дополнительной информации перейдите на страницу man инструмента.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.