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

Руководство по команде stat: Проверка детальной информации о файлах/каталогах

Команда `stat` используется в операционных системах Linux и Unix для отображения подробной информации о состоянии файлов или каталогов. Эта информация включает в себя размер файла, владельца, группу, права доступа, время последнего доступа/изменения, номер inode и т.д. Это полезно для проверки метаданных файловой системы и диагностики проблем. В этом руководстве вы узнаете о различных способах использования команды `stat` и о том, как интерпретировать результаты вывода.

Обзор stat

Команда `stat` показывает метаданные, которые файловая система сохраняет для управления соответствующими объектами, а не содержимое самого файла или каталога. Это предоставляет гораздо более подробную информацию, чем `ls -l`, включая время создания файла, время последнего изменения и количество обращений, что полезно для анализа истории изменений файлов или паттернов доступа.

Основная роль stat

Команда `stat` в основном используется для следующих целей:

Основные области применения

  • **Проверка атрибутов файла**: Точно проверяет права собственности, разрешения, размер и т.д. файла.
  • **Анализ временных меток**: Проверяет различные временные данные, такие как время создания, последнего изменения и последнего доступа, чтобы отслеживать историю изменений файла.
  • **Информация о символических ссылках**: Проверяет как целевой путь символической ссылки, так и информацию о самой ссылке.
  • **Отладка файловой системы**: Диагностирует проблемы файловой системы через использование дискового пространства, распределение блоков, информацию об inode и т.д.

Понимание информации вывода stat

Вывод команды `stat` состоит из различных элементов. Важно понимать значение каждого элемента.

Основные элементы вывода

  • File: Имя целевого файла или каталога.
  • Size: Размер файла (в байтах). Для каталога обычно отображается 4096 байт.
  • Blocks: Количество 512-байтовых блоков, занимаемых файлом на диске.
  • IO Block: Эффективный размер блока для выполнения операций ввода-вывода для файла.
  • Type: Тип файла. Например: обычный файл, каталог, символическая ссылка и т.д.
  • Device: ID устройства (major:minor), на котором расположен файл.
  • Inode: Уникальный идентификатор файла в файловой системе - номер inode. Жесткие ссылки разделяют один и тот же inode.
  • Links: Количество жестких ссылок на данный файл.
  • Access: Права доступа к файлу (в восьмеричной и формате rwx).
  • Uid / Gid: Владелец файла (User ID) и группа (Group ID) с соответствующими именами.
  • Access / Modify / Change: `Access`: время последнего доступа (atime), `Modify`: время последнего изменения (mtime), `Change`: время последнего изменения (ctime). 'Birth' - это время создания (crtime), которое может не поддерживаться всеми файловыми системами.

Основные опции команды stat

Команда `stat` предоставляет несколько полезных опций, которые позволяют задавать формат вывода или изменять способ обработки символических ссылок.

1. Основные опции вывода

2. Опции обработки символических ссылок

3. Опции задания формата вывода

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

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

Описание:

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

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

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

Посмотрите различные примеры использования команды `stat`, чтобы узнать, как проверять и анализировать подробные свойства файлов/каталогов.

Проверка всей информации о единственном файле

stat config.ini

Выводит всю подробную информацию о файле `config.ini`, включая размер, разрешения, владельца, временные метки и т.д.

Проверка информации о самой символической ссылке

stat -P mylink.sh

Когда `mylink.sh` является символической ссылкой на `actual_script.sh`, выводит информацию о самой `mylink.sh`. (Размер файла ссылки, владелец и т.д.)

Проверка информации о оригинальном файле, на который указывает символическая ссылка

stat -L mylink.sh

Когда `mylink.sh` является символической ссылкой на `actual_script.sh`, выводит информацию о файле `actual_script.sh`.

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

stat -c '%n %s %y' my_document.txt

Выводит только имя, размер (в байтах) и время последнего изменения (YYYY-MM-DD HH:MM:SS) файла `my_document.txt`.

Проверка информации о файловой системе, к которой принадлежит файл

stat --file-system /var/log

Проверяет информацию о типе файловой системы, размере блока, точке монтирования и т.д. для каталога `/var/log`.

Проверка UNIX временной метки файла (mtime)

stat -c '%Y' important_data.csv

Полезно получать время изменения файла в UNIX временной метке (в секундах) в скрипте для вычислений и т.д.


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