Ödeme Yöntemleri Abuse

Linux'ta dosya oluşturma tarihi nasıl görüntülenir

22.04.2022, 18:05

Bir Linux sisteminde, dosya yöneticisindeki bir dosyanın dosya özellikleri yalnızca dosyaya son erişim tarihi ve değişiklik tarihi hakkında bilgi gösterir. Ancak oluşturma tarihi orada gösterilmez. Bazen, örneğin günlüğün ne zaman kaydedildiğini öğrenmek için buna bakmanız gerekir. Bu talimatta size Linux dosya sistemlerinde hangi verilerin saklandığını nasıl göreceğinizi ve bir Linux dosyasının oluşturulma tarihini nasıl bulacağınızı anlatacağız. Her biri kendine özgü özelliklere sahip iki uygun yoldan hemen bahsedilecektir.

Dosya oluşturma tarihi

POSIX standardı, bir dosya sisteminin saklaması gereken yalnızca 3 tür zaman damgası belirtir:

  • atime - dosyaya son erişim zamanı.
  • mtime - içerikte yapılan son değişikliğin zamanı.
  • ctime - erişim haklarında ya da sahipte yapılan son değişikliğin zamanı.

Bu nedenle eski dosya sistemlerinde dosya oluşturma tarihi hakkında bilgi görmek genellikle imkansızdır. Ancak modern dosya sistemlerinde (ext4, zfs, XFS ve benzeri) zaten saklanmaktadır.

Oluşturma tarihi ile ilgili veriler özel bir alana kaydedilir:

  • Ext4 - crtime
  • ZFS - crtime
  • XFS - crtime
  • Btrfs - otime
  • JFS - di_otime

Bu bilgiyi görüntülemek için iki yöntem vardır: stat ve debugfs. Ancak, ilk yöntem her Linux dağıtımının kullanıcıları için uygun değildir. İkinci yöntem evrenseldir, ancak kullanımı o kadar kolay değildir. Her birini ayrı ayrı ele alalım.

Stat Kullanımı

Stat yardımcı programı bir dosya hakkında ayrıntılı bilgi görüntüler. Diğer şeylerin yanı sıra, Linux dosyasının oluşturulduğu tarihi de görüntüler. Terminalde çalıştırmak için dosyanın yolunu belirtmeniz yeterlidir. Örneğin, /home/root-user/Pictures kataloğunda saklanan pic_1.jpeg resmi hakkındaki bilgilere bakalım:

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

Gerekli bilgiler Oluşturuldu sütununa kaydedilir. Ve -c seçeneğini kullanarak bilgi çıktısı için belirli biçimlendirme kuralları belirleyebilirsiniz, örneğin yalnızca gerekli sütunu bırakabilirsiniz:

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

Linux'ta dosya oluşturma tarihi nasıl görüntülenir

Ancak küçük bir zorluk var. Bazı Linux dağıtımlarında stat yardımcı programı kullanılırken bu alan boş olacaktır.

Linux'ta dosya oluşturma tarihi nasıl görüntülenir

Bunun temel nedeni, çıktının statx(2)'de görüntülenmesidir. Kabuk, glibc kütüphanesine 2.28 sürümünde eklenmiştir. Yani, bu kabuk için destek GNU coreutils 8.31 temel sistem yardımcı programları setinde ortaya çıkmıştır. Sürümü kontrol etmek için bu komutu çalıştırın:

$ stat --version

Linux'ta dosya oluşturma tarihi nasıl görüntülenir

Sonuç olarak, stat yalnızca yukarıda açıklanan belirli koşullar mevcutsa dosya oluşturma verilerinin çıktısını alabilecektir. Örneğin, Ubuntu 21.10 dağıtımında her şey sorunsuz çalışır, ancak Ubuntu 20.04'te alan boş olacaktır.

DebugFS Kullanımı

DebugFS yardımcı programının sürüm kısıtlaması yoktur. Her zaman çalışacaktır. Ancak kullanım prosedürü biraz daha karmaşıktır. Çünkü debugfs aracılığıyla bir dosyanın oluşturulma tarihini görüntülemek için dosyanın inode numarasını ve dosya sistemini bilmeniz gerekir. İnode numarasını öğrenmek için ls komutunu -i seçeneği ile dosyanın yolunu belirterek kullanın:

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

Linux'ta dosya oluşturma tarihi nasıl görüntülenir

Dosya sistemini görüntülemek için df komutu kullanışlı olacaktır:

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

Linux'ta dosya oluşturma tarihi nasıl görüntülenir

Artık gerekli tüm verilere sahipsiniz ve debugfs yardımcı programına geçebilirsiniz. Bu komuta -R seçeneğini aktarmanız, inode numarasını ve ardından dosya sisteminin adını belirtmeniz gerekir:

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

Linux'ta dosya oluşturma tarihi nasıl görüntülenir

Bundan sonra, terminalde oluşturma tarihinin depolandığı alanı bulabileceksiniz. Bizim durumumuzda bu crtime'dır.

Bu talimatları tamamlar.