Свака датотека и фасцикла у систему датотека има такозвану структуру 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
је физичка величина блока у датотечном систему.
Затим долази укупан број блокова у систему и број слободних блокова.