Обзор
Команда `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`) могут вести себя иначе.