- Руководство по команде stat для начинающих
- Команда stat
- Вопрос 1. Как использовать команду stat?
- Вопрос 2. Как вывести информацию в краткой форме?
- Вопрос 3. Как сделать вывод информации stat в пользовательском формате?
- Вопрос 4. Чем опция —format отличается от —printf?
- Вопрос 5. Как заставить stat работать с файлом, если он является ссылкой?
- Заключение
- Landoflinux
- Stat command
- Displaying Files and File System information
- Linux stat command examples
- Linux Stat Command Syntax
- stat -f — Displaying File System Status
- Format Sequences
- stat —format=%i FileName
- stat —format=%i%g%G FileName
- stat -f -c %a /opt
- Format Sequences for files
- Format Sequences for File Systems
- Команда Stat в Linux
- Stat Command in Linux
- Эта статья объясняет, как использовать stat команду.
- Использование stat команды
- Отображение информации о файловой системе
- Разыменование (Follow) Симлинки
- Настройка вывода
- Вывод
- Linux stat command
- Syntax
- Options
- Examples
- Related commands
Руководство по команде 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 вывела информацию о нем, запустите команду следующим образом:
Заключение
Было бы неправильно говорить, что у 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.
%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 параметр:
\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.
Related commands
ls — List the contents of a directory or directories.
Источник