Начини плаћања Abuse

Шта ради команда stat у Линуксу

14.11.2021, 16:15

Свака датотека и фасцикла у систему датотека има такозвану структуру Inode која чува метаподатке овог објекта. Она чува власника, групу власника, време измене, време креирања и време приступа датотеци, као и друге информације. То се може видети не само уз помоћ алата за отклањање грешака у систему датотека. Услужни програм ls приказује одређене информације, али ако вам је потребно више, можете користити команду stat . У наставку ћемо вам рећи како да користите ову команду у Линуксу.

Шта тим даје?

Синтакса команде је једноставна. Потребно је да јој проследите опције и путању до датотеке за коју желите да видите информације:

 $ stat [options] /path/to/file

Није потребно додавати опције и нема их много:

-L, dereference - прикажи информације о датотеци уместо симболичке везе;

-f, --file-system - прикажи информације о фајл систему у коме се датотека налази;

-c, --forma - омогућава вам да одредите излазни формат уместо стандардног, свака датотека се изводи у новом реду;

--printf - слично као --format , само што за нови ред треба користити ;

-t, --terse - прикажи информације у веома кратком облику, у једном реду;

--version - прикажи верзију услужног програма.

Погледајмо примере употребе. Да бисте видели информације о датотеци, једноставно покрените програм без опција, проследивши му путању до датотеке, на пример /etc/passwd :

 $ stat /etc/passwd 

Излаз програма:

File - путања до датотеке у којој се приказују информације;

Величина ( Size ) - величина датотеке у бајтовима;

IO Block Block - величина блока датотечног система у бајтовима;

Blocks - број блокова датотечног система које датотека заузима;

Device - идентификатор уређаја, на пример ХДД, на којем је датотека сачувана;

Иноде - јединствени Иноде број ове датотеке;

Links - број чврстих линкова до ове датотеке;

Access - права приступа датотеци;

Uid - идентификатор и име корисника који је власник датотеке;

Gid - идентификатор и име групе датотека;

Access - време последњег приступа датотеци;

Измењено ( Modify ) - време када је садржај датотеке последњи пут промењен;

Change - време када су атрибути датотеке или садржај датотеке последњи пут промењени;

Креирано ( Birth ) - Резервисано за приказ датума креирања оригиналне датотеке, али још није имплементирано.

Морамо мало више да разговарамо о формату времена. На пример, последње време приступа датотеци је 2020-12-02 18:25:01.043831739 +0200. Ово време је приказано узимајући у обзир временску зону. А бројеви +0200 показују да је временска зона на рачунару који је креирао или изменио ову датотеку два сата каснија од UTC-а, односно Европа/Кијев по зимском времену.

Ако покушате да проследите симболичку везу услужном програму, он ће приказати само информације из инода саме везе:

 $ stat /etc/passwdlin

Да бисте видели информације о датотеци на коју линк указује, потребно је да користите опцију -L :

 $ stat -L /etc/passwdlink 

Можете пренети не једну датотеку, већ неколико:

 $ stat /etc/passwd /etc/group

Следећи низови карактера могу се користити за форматирање излаза:

%A - права приступа;

%b - број заузетих блокова;

%F - тип датотеке;

%g - идентификатор групе датотека;

%G - име групе датотека;

%i - Идентификатор инода;

%n - име датотеке;

%s - величина датотеке;

%u - идентификатор власника датотеке;

%U - име власника датотеке;

%x - време последњег приступа;

%y - време последње измене садржаја;

%z - време последње промене садржаја или атрибута.

Ово нису све могуће секвенце, више можете пронаћи у помоћи за услужни програм:

 $ man stat

На пример, прикажимо само име датотеке и време последње измене њеног садржаја:

 $ stat --printf "File %n has been modified %y " /etc/passwd /etc/group 

Ако желите да видите информације о фајл систему у коме се датотека налази, потребно је да користите опцију -f :

 $ stat -f /etc/passwd 

Погледајмо шта значе поља која услужни програм приказује:

File - име датотеке;

Type - тип фајл система;

ID - идентификатор датотечног система;

Дужина имена ( Namelen ) - максимална дужина имена у систему датотека;

Величина Block size - количина података по захтеву за читање или писање за оптималне перформансе;

Fundamental block size је физичка величина блока у датотечном систему.

Затим долази укупан број блокова у систему и број слободних блокова.