Вывести полную информацию обо всех файлах linux

Команда Stat в Linux

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

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

Использование команды stat

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

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

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

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

 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-06 09:52:17.991979701 +0100 Modify: 2019-11-06 09:52:17.971979713 +0100 Change: 2019-11-06 09:52:17.971979713 +0100 Birth: - 

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

  • Файл — имя файла.
  • Размер — размер файла в байтах.
  • Блоки — количество выделенных блоков, занимаемых файлом.
  • Блок ввода-вывода — размер каждого блока в байтах.
  • Тип файла — (например, обычный файл, каталог, символическая ссылка.)
  • Устройство — номер устройства в шестнадцатеричном и десятичном формате.
  • Inode — номер Inode.
  • Ссылки — количество жестких ссылок.
  • Доступ — права доступа к файлам в числовых и символьных методах.
  • Uid — ID пользователя и имя владельца .
  • Gid — ID группы и имя владельца.
  • Контекст — контекст безопасности SELinux.
  • Доступ — время последнего доступа к файлу.
  • Изменить — время последнего изменения содержимого файла.
  • Изменить — время последнего изменения атрибута или содержимого файла.
  • Рождение — время создания файла (не поддерживается в Linux).

Отображение информации о файловой системе

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

Читайте также:  Linux open terminal sudo

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

 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 — Максимальная длина имен файлов.
  • Основной размер блока — размер каждого блока в файловой системе.
  • Блоки:
    • Всего — общее количество блоков в файловой системе.
    • Свободно — количество свободных блоков в файловой системе.
    • Доступно — количество бесплатных блоков, доступных пользователям без полномочий root.
    • Всего — общее количество индексных дескрипторов в файловой системе.
    • Free — количество свободных индексных дескрипторов в файловой системе.

    Разыменование (следовать) символическим ссылкам

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

     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 ):

     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 .

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

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

    /dev/null,character special file 

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

    stat --printf='Name: %nnPermissions: %an' /etc

    stat также может отображать информацию в краткой форме. Этот формат полезен для анализа другими утилитами.

    Вызовите команду с параметром -t ( —terse ), чтобы распечатать вывод в краткой форме:

    /etc 12288 24 41ed 0 0 801 8126465 147 0 0 1573068933 1573068927 1573068927 0 4096 

    Для получения полного списка всех директив форматирования для файлов и типов файловых систем используйте man stat или stat —help в вашем терминале.

    Выводы

    Команда stat выводит информацию о данных файлах и файловых системах.

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

    Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

    Источник

    Как посмотреть подробные сведения о файле и папке в linux командой ls -l

    Для понимания структуры доступа в файловой системе часто требуется знать, каким пользователям и группам пользователей какие права доступа назначены к папкам и файлам. Одним из способов быстро узнать эту информацию является команда ls с опцией -l . О том, какие подводные камни могут быть при работе с этой командой и как всё-таки посмотреть информацию о распределении доступа к файлам и директориям на диске, подробно рассмотрим на примерах ниже.

    Создание файла и просмотр сведений о его владельце, группе и правах доступа

    Сперва создадим файл file командой touch так, как описано в → этой статье. Для того, чтобы посмотреть информацию о его владельце, группе и правах доступа нужно набрать команду ls -l ИмяФайла . В итоге получим сводку по этому файлу:

    [email protected]:~# ls -l file -rw-r--r-- 1 root root 0 Apr 10 21:06 file

    Первый набор символов отвечает за права доступа, далее идет имя владельца, за ним группа, потом дата/время создания и потом имя файла. Этой информации достаточно для того, чтобы определить, кто и что может делать с этим файлом и, если что-то не работает по причине того, что каких-то прав не хватает, то это становится ясно.

    Создание папки и просмотр сведений о её владельце, группе и правах доступа

    Создадим папку folder командой mkdir так, как описано в → этой статье. Если действовать по такой же схеме, как и описано выше, то окажется, что этого недостаточно. Будет выдана информация только о размере папки:

    Поэтому с папками при просмотре сведении о ней работаем по такой схеме: смотрим информацию не об этой папке, а общую информацию о всей папке. Тогда информация о вложенных в неё файлах и папках выдаётся в полной мере:

    [email protected]:~# ls -l total 4 -rw-r--r-- 1 root root 0 Apr 10 21:06 file drwxr-xr-x 2 root root 4096 Apr 10 21:18 folder

    Как отличить папку от файла в linux

    Сразу на этом примере остановлюсь на вопросе о том, как отличить папку от файла в linux. В самом начале строки в символах о правах доступа у файла первым символом идет — тогда, как у папки первый символ это буква d . Именно это отличает папку от файла.

    P.S.

    Альтернатива есть почти всегда! 😉

    Как вывести дерево каталогов с правами, группой и пользователем с помощью команды tree читать по → этой ссылке.

    Заберите ссылку на статью к себе, чтобы потом легко её найти!
    Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
    Не надо себя сдерживать! 😉

    Источник

Оцените статью
Adblock
detector