Linux stat all files

Руководство по команде stat для начинающих

Оригинал: Linux stat Command Tutorial for Beginners (5 Examples)
Автор: Himanshu Arora
Дата публикации: 16 февраля 2018 года
Перевод: А. Кривошей
Дата перевода: сентябрь 2018 г.

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

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

Команда stat

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

Ниже приведены некоторые примеры в стиле вопрос/ответ, которые помогут вам понять, как работает stat.

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

Все, что вам нужно сделать, — запустить команду «stat» с именем файла, о котором вы хотите узнать больше.

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

Вопрос 2. Как вывести информацию в краткой форме?

Краткая форма вывода упрощает для других программ синтаксический анализ вывода. Чтобы получить выходную информацию «stat» в этой форме, используйте опцию командной строки -t.

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

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

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

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

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

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

используется заданный формат FORMAT вместо формата по умолчанию. После каждого использования FORMAT выводится новая строка. работает как —format, но интерпретирует обратные слеши и не выводит обязательную новую строку. Если вам нужна новая строка, включите \n в FORMAT.

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

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

Читайте также:  Как отключить фоновая интеллектуальная служба передачи bits windows

Заключение

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

Источник

Landoflinux

Stat command

Displaying Files and File System information

The following are examples of how to use the Linux «stat» command to display detailed information relating to files and file systems.

Linux stat command examples

The Linux stat command is a tool that can be used for displaying detailed information relating to a file or file system on a Linux system. By default the stat command should be available on most distributions of Linux. In the examples below, a CentOS Linux distribution was used.

Linux Stat Command Syntax

The basic syntax of the «statstrong>» command is as follows:

The simplest use of the «stat» command is to pass the name of a file to the command. In the example below you can see the default output from the stat command. Basic information such as size, file type, Inode information, Number of links, Access, Modification and Change date and time stamps are displayed. The stat command is often used to view Modification/access times on a file. (A more detailed way of displaying creation time and access time stamps on a file is to use the debugfs command)

stat -f — Displaying File System Status

If you wish to view information that relates to a file system and not an individual file, you may pass the «-f» parameter followed by a filesystem:

Format Sequences

To display specific information relating to a file or file system, you may use what is known as a format sequence. By passing the parameter «-c» or «—format» for files and «-f» or «—file-system» for file systems. You can specify individual points of interest such as inode number, mount point etc.. A list of all the parameters that can be passed for files and file systems is listed at the bottom of the page.

stat —format=%i FileName

As an example we are specifying that we would like to display the inode information of the specified file.

From the above we can see that the inode number for the file «anaconda-ks.cfg» is «135«.

stat —format=%i%g%G FileName

In this example we are specifying multiple format sequences that we would like to display.

In the above example, multiple parameters were passed to the «—format» option. An explanation of these is listed below:

inode number: %i
group ID of owner: %g
group name of owner: %G
file name: anaconda-ks.cfg

The output from the file indicates that the inode number is «135«, the group ID of the owner is «0» and the group name of the owner is «root«.

stat -f -c %a /opt

The above example of the stat command is used against a file system. In this example, we use the «-f» option indicating that we are passing a file system. The «-c» flag is used to specify the format sequence.

Читайте также:  Как запаролить архив winrar windows

%a — free blocks available to non-superuser

For a full list of parameters that can be used against a file system, see the list below.

Format Sequences for files

The following format sequences are for use with files:

Format Sequences for File Systems

The following format sequences are for use with File Systems:

Источник

Команда Stat в Linux

Stat Command in Linux

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

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

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

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

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

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

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

  • File — имя файла.
  • Size — Размер файла в байтах.
  • Blocks — количество выделенных блоков, которые занимает файл.
  • IO Block — размер в байтах каждого блока.
  • File type — (например, обычный файл, каталог, символическая ссылка . )
  • Device — номер устройства в шестнадцатеричном и десятичном виде.
  • Inode — номер Inode.
  • Links — Количество жестких ссылок.
  • Access — Права доступа к файлам в числовых и символьных методах.
  • Uid — идентификатор пользователя и имя владельца .
  • Gid — идентификатор группы и имя владельца.
  • Context — контекст безопасности SELinux.
  • Access — последний раз, когда к файлу обращались.
  • Modify — последний раз, когда содержимое файла было изменено.
  • Change — последний раз, когда атрибут файла или содержимое были изменены.
  • Birth — Время создания файла (не поддерживается в Linux).

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

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

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

Когда stat вызывается с -f параметром, он показывает следующую информацию:

  • File — имя файла.
  • ID — ID файловой системы в шестнадцатеричном формате.
  • Namelen — максимальная длина имен файлов.
  • Fundamental block size — размер каждого блока в файловой системе.
  • Blocks:
    • Total — общее количество блоков в файловой системе.
    • Free — количество свободных блоков в файловой системе.
    • Available — количество бесплатных блоков, доступных для пользователей без полномочий root.
  • Inodes:
    • Total — общее количество inode в файловой системе.
    • Free — количество бесплатных инодов в файловой системе.

Разыменование (Follow) Симлинки

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

Для разыменования (следования) символической ссылки и отображения информации о файле, на который указывает символическая ссылка, используйте параметр -L , ( —dereference ):

Настройка вывода

Команда stat имеет две опции, которые позволяют вам настроить вывод в соответствии с вашими потребностями:, -c ( —format=»format» ) и —printf=»format» .

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

Существует множество директив формата для файлов и файловых систем, которые можно использовать с —format и —printf .

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

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

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

Читайте также:  Redshift cinema 4d r23 mac os

\n печатает новую строку:

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

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

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

Вывод

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

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

Источник

Linux stat command

On Unix-like operating systems, the stat command displays the detailed status of a particular file or a file system.

This page describes the GNU/Linux version of stat.

Syntax

Options

-f, —filesystem display filesystem status instead of file status
-c, —format=FORMAT use the specified FORMAT instead of the default
-L, —dereference follow links
-Z, —context print the SELinux security context
-t, —terse print the information in terse form
—help display this help and exit
—version output version information and exit

The valid format sequences for files (without —filesystem):

%A Access rights in human readable form
%a Access rights in octal
%B The size in bytes of each block reported by ‘%b
%b Number of blocks allocated (see %B)
%C SELinux security context string
%D Device number in hex
%d Device number in decimal
%F File type
%f Raw mode in hex
%G Group name of owner
%g Group ID of owner
%h Number of hard links
%i Inode number
%N Quoted File name with dereference if symbolic link
%n File name
%o IO block size
%s Total size, in bytes
%T Minor device type in hex
%t Major device type in hex
%U Username of owner
%u User ID of owner
%X Time of last access as seconds since Epoch
%x Time of last access
%Y Time of last modification as seconds since Epoch
%y Time of last modification
%Z Time of last change as seconds since Epoch
%z Time of last change

Valid format sequences for file systems:

%a Free blocks available to non-superuser
%b Total data blocks in file system
%c Total file nodes in file system
%C SELinux security context string
%d Free file nodes in file system
%f Free blocks in file system
%i File System id in hex
%l Maximum length of file names
%n File name
%s Optimal transfer block size
%T Type in human readable form
%t Type in hex

Examples

Reports the status of file index.htm, displaying results similar to the following output:

With the -f option, stat can return the status of an entire file system. Here, it returns the status of the first hard disk. Output resembles the following:

Display only the access restrictions, in human-readable form, of the system log /var/log/syslog. Output resembles the following:

. which indicates that the file is readable and writable by root, readable by the owning group (in this case the admin group), and not accessible at all by others.

ls — List the contents of a directory or directories.

Источник

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