Главная > Управление файлами и каталогами > stat

stat: Вывод информации о файле в настраиваемом формате

Команда `stat` отображает подробную информацию о состоянии файла или файловой системы. В частности, опция `-c` (или `--format`) позволяет извлекать размер файла, права доступа, владельца, информацию о времени и т. д. в заданном пользователем формате, что делает ее очень полезной при написании скриптов или отчетов.

Обзор

Команда `stat` отображает информацию об inode файла (метаданные). Опция `-c` позволяет выводить эту информацию в пользовательском формате, что удобно для извлечения определенных атрибутов или использования в сочетании с другими командами.

Основные возможности

  • Просмотр подробных метаданных файла и файловой системы
  • Поддержка пользовательского формата вывода с опцией `-c`
  • Полезно для скриптов и автоматизации
  • Доступ к различным атрибутам файла (размер, права, владелец, время и т. д.)

Основные опции

Основные спецификаторы формата, используемые с ключевой опцией `-c` команды `stat`.

Опции форматирования

Сгенерированная команда:

Комбинируйте команды.

Описание:

`stat` Запускает команду.

Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.

Примеры использования

Примеры вывода информации о файле в различных форматах с использованием опции `stat -c`.

Вывод имени и размера файла

stat -c '%n %s' my_file.txt

Выводит имя и размер указанного файла, разделенные пробелом.

Вывод типа и прав доступа к файлу

stat -c '%F %A' my_script.sh

Выводит тип файла и права доступа в удобочитаемом формате.

Вывод владельца, группы и времени последнего изменения

stat -c 'Owner: %U, Group: %G, Modified: %y' my_document.pdf

Выводит имя владельца, имя группы и время последнего изменения файла с указанием текста.

Проверка целевого объекта символической ссылки

stat -c '%N' my_symlink

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

Вывод имен и размеров всех файлов/каталогов в текущем каталоге

stat -c '%n %s' *

Использует подстановочные знаки для вывода имен и размеров всех элементов в текущем каталоге.

Советы и примечания

Советы и моменты, на которые стоит обратить внимание при более эффективном использовании `stat -c`.

Использование кавычек

Если строка FORMAT содержит пробелы или специальные символы, ее следует заключить в одинарные (') или двойные (") кавычки, чтобы оболочка не интерпретировала их как отдельные аргументы.

  • Одинарные кавычки ('): Полезны для предотвращения подстановки переменных и передачи строки как есть.
  • Двойные кавычки ("): Используются для группировки строки с разрешением подстановки переменных.

Формат времени

Спецификаторы времени (%x, %y, %z) по умолчанию выводятся в удобочитаемом формате. Для получения временной метки в секундах используйте `%X`, `%Y`, `%Z`.

Комбинация с командой find

find . -maxdepth 1 -type f -exec stat -c '%n %s' {} \;

Можно использовать в сочетании с опцией `-exec` команды `find` для выполнения `stat -c` для файлов, соответствующих определенным условиям.

Различия между операционными системами

Некоторые спецификаторы формата могут работать по-разному или не поддерживаться в зависимости от операционной системы или версии `stat`. Например, спецификатор `%w` (время создания) обычно не поддерживается в Linux и доступен только в macOS/BSD.

  • Linux: В основном используется версия `stat` из пакета `coreutils`.
  • macOS/BSD: Некоторые спецификаторы формата (например, `%w`) могут вести себя иначе.

Те же команды в категории