Төлем әдістері Abuse

Linux жүйесінде файлдың жасалған күнін қалай көруге болады

22.04.2022, 18:05

Linux жүйесінде файл менеджерінің файл сипаттары тек соңғы рет қол жеткізген күні мен өзгертілген күні туралы ақпаратты көрсетеді. Бірақ ол жерде құрылған күні жоқ. Сонымен қатар, кейде оны қарау керек, мысалы, журналдың қай сәттен бастап жазылып жатқанын білу үшін. Бұл нұсқаулықта біз сізге Linux файлдық жүйелерінде қандай деректер сақталатынын қалай көруге болатынын айтып береміз және Linux файлының жасалған күнін қалай білуге болатынын түсіндіреміз. Әрқайсысының өзіндік сипаттамалары бар екі ыңғайлы әдіс дереу айтылады.

Файлды жасау күні

POSIX стандарты файлдық жүйе сақтауы тиіс уақыт белгілерінің тек 3 түрін көрсетеді:

  • time – файлға соңғы қол жеткізу уақыты.
  • mtime – соңғы мазмұнды өзгерту уақыты.
  • ctime – қол жеткізу құқығының немесе иесінің соңғы өзгерту уақыты.

Сондықтан ескі файлдық жүйелерде файлды жасау күні туралы ақпаратты көру жиі мүмкін емес. Бірақ қазіргі файлдық жүйелерде (ext4, zfs, XFS және т.б.) ол қазірдің өзінде сақталған.

Жасалу күні туралы деректер арнайы өрісте жазылады:

  • Ext4 – crtime
  • ZFS - критикалық уақыт
  • XFS - критикалық уақыт
  • btrfs-otime
  • JFS – di_otime

Бұл ақпаратты көрудің екі белгілі әдісі бар: stat утилитасын және отладкаларды пайдалану. Дегенмен, бірінші әдіс әрбір Linux дистрибутивінің пайдаланушылары үшін қолайлы емес. Екінші әдіс әмбебап, бірақ пайдалану оңай емес. Олардың әрқайсысын бөлек қарастырайық.

Stat пайдалану

Stat утилитасы файл туралы толық ақпаратты көрсетеді. Бұл сонымен қатар Linux файлының жасалған күнін көрсетеді. Оны терминалда іске қосу үшін файлға жолды көрсету жеткілікті. Мысалы, /home/root-user/Pictures каталогында сақталған pic_1.jpeg суреті туралы ақпаратты қарастырайық:

 $ stat /home/root-user/Pictures/pic_1.jpeg

Қажетті ақпарат Жасалған бағанында жазылады. Және -c опциясын пайдаланып, ақпаратты көрсету үшін белгілі бір пішімдеу ережелерін орнатуға болады, мысалы, тек қажетті бағанды қалдыру:

 $ stat -c '%w' /home/root-user/Pictures/pic_1.jpeg

Linux жүйесінде файлдың жасалған күнін қалай көруге болады

Бірақ бір кішкентай қиындық бар. Кейбір Linux дистрибутивтерінде статистикалық қызметтік бағдарламаны пайдаланған кезде бұл өріс бос болады.

Linux жүйесінде файлдың жасалған күнін қалай көруге болады

Негізгі себебі - шығыс ақпараты statx(2) ішінде көрсетіледі. Қаптама glibc кітапханасының 2.28 нұсқасына қосылды. Яғни, бұл қабықты қолдау GNU coreutils 8.31 негізгі жүйелік утилиталар жинағында пайда болды. Нұсқаны тексеру үшін келесі пәрменді орындаңыз:

 $ stat --version

Linux жүйесінде файлдың жасалған күнін қалай көруге болады

Сондықтан, жоғарыда сипатталған арнайы шарттар орындалған жағдайда ғана stat файлды жасау деректерін шығара алады. Мысалы, Ubuntu 21.10 дистрибутивінде бәрі еш қиындықсыз жұмыс істейді, бірақ Ubuntu 20.04-те өріс бос болады.

DebugFS пайдалану

DebugFS утилитасында нұсқа шектеулері жоқ. Ол әрқашан жұмыс істейді. Бірақ оны пайдалану процедурасы біршама шатастырады. Бұл файлдың жасалу күнін отладкалар арқылы көру үшін оның inode нөмірін және файлдық жүйесін табу керек екеніне байланысты. Файлға жолды көрсете отырып, -i опциясы бар ls пәрменін пайдаланып inode алыңыз:

 $ ls -i /home/root-user/scripts/main_script.txt

Linux жүйесінде файлдың жасалған күнін қалай көруге болады

Файлдық жүйені көру үшін df пәрмені пайдалы:

 $ df /home/root-user/scripts/main_script.txt

Linux жүйесінде файлдың жасалған күнін қалай көруге болады

Енді барлық қажетті деректер жиналды және сіз debugfs утилитасын пайдалануға кірісе аласыз. Ол -R опциясын өткізіп, inode нөмірін, содан кейін файлдық жүйенің атын көрсетуі керек:

 $ sudo debugfs -R 'stat <28>' /dev/sda5

Linux жүйесінде файлдың жасалған күнін қалай көруге болады

Осыдан кейін терминалда сіз жасау күнін сақтайтын өрісті таба аласыз. Біздің жағдайда бұл уақыт.

Бұл нұсқауларды аяқтайды.