Команда Stat

Thank you for reading this post, don't forget to subscribe!

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

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

 

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

 

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

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

 

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

 

При вызо­ве без каких-либо пара­мет­ров 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, он пока­зы­ва­ет сле­ду­ю­щую информацию:

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

 

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

 

 

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

 

 

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

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

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

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

 

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

 

 

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

 

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