Linux'ta hangi dosya sistemleri oluşturma süresini depolar?


32

Linux'ta i-node tablosundaki dosyaların ve dizinlerin oluşturulma zamanını depolayan herhangi bir (iyi bilinen, güvenilir) dosya sistemi var mı?

Varsa, stat çağrısında i-node'un yaratma zamanı ile değiştirilen "değiştirilmiş" zaman mı?



Dosya ext4 dosya sisteminde ise, Linux'ta dosya oluşturma zamanını elde etmenin bir yolu var gibi görünüyor. Bakınız: unix.stackexchange.com/a/131347/182996
— kaartic

Yanıtlar:


16

Ext4 dosya sistemi oluşturma zamanı saklamak yok. stat -c %W myfilesana gösterebilirim.


6
Teşekkürler. Sistemimde stat -c %W0 döndürüyor (oluşturma zamanı bilinmiyor), ancak bu başka bir soru ...
— franziskus

1
Ancak, dosyaların birçok program tarafından nasıl işlendiğine bağlı olarak, bu oluşturma süresi değerinin yararlı olmayabileceğini unutmayın .
— mattdm

15
@ Bir metin: bir metin editörü dosyayı geçici bir yere kopyalayarak, geçici çalışma kopyasını düzenleyerek ve ardından geçici kopyayı kaydetme sırasında orijinal belgeye kaydeterek çalışıyorsa, oluşturma süresi ne zamandır?
— mattdm

1
Bunun bir şekilde etkinleştirilmesi gerekiyor mu? Bir ext4 dosya sistemindeki bir dosyanın crtime'ini almaya çalıştım ve sıfıra aldım. Daha önce bu blog gönderisini okuduktan sonra , kullanmayı da denedim debugfsve stathangisinin olmadığını açıkladım crtime. Yani bir şekilde etkinleştirilmesinin gerekli olup olmadığını merak ediyorum? (FWIW Ben Arch Linux kullanıyorum )
— starfry

2
Linux'ta dosya oluşturma zamanını elde etmenin bir yolu var gibi görünüyor. Bakınız: unix.stackexchange.com/a/131347/182996
— kaartic

30

Birkaç dosya sistemi, bu alan için standart bir isim olmamasına rağmen, dosya oluşturma zamanını saklar:

  • ufs2 → st_birthtime
  • zfs → crtime
  • ext4 → crtime
  • btrfs → otime
  • jfs → di_otime

5
Açık olmak gerekirse, 2015-03 itibariyle, XFS desteklememektedir (bkz. Manpage xfs_dbveya XFS Dosya Sistemi Yapısı).
— Franklin Piat

4

Ext4'ü bildiğim kadarıyla, JFS ve BTRFS dosya sistemlerinin tümü, oluşturma zamanını depolamak için inode dosyalarında fazladan bir alanı destekler, ancak adlandırma farklı olabilir.

Kaynak: LWN Dosya Oluşturma Süreleri


//, bunu doğrulayabildin mi? AFAIK en azından benim zevkime göre biraz zayıf.
— Nathan Basanese,

5
@NathanBasanese AFAIK, JFS ve BTRFS'ye rapor veriyordu. Ext4 için evet onu destekliyor. debugfsKomut statünü kontrol et . Örnek: ext4 dosya sisteminin monte edildiği bir cihaza ihtiyacınız var (örneğin / dev / sda3) ve bu dosya sistemi içinde bir dosya inode numarası almanız gerekir (kullanın ls -i, 42000'in sayı olduğunu söyleyin). debugfs -R 'stat <42000>' /dev/sda3. Bunu root olarak veya yeterli bir ayrıcalıkla çalıştırın. Tarlaya bak crtime, işte o. JFS ve BTRFS için, eşdeğer debugfs komutunu bulmanız gerekir ...
— Huygens,

//, NIIICE. Ben $ ls -i denedim | grep dump.rdb 656376 dump.rdb ve $ sudo debugfs -R 'stat <656376>' / dev / sda2, ama sanırım henüz ext4 yok. Bir ext4 üzerinde denersem, söyleyeceğim.
— Nathan Basanese,

@NathanBasanese df -TBölüm türünü almak için veya basitçe yazabilirsiniz mount. İnode dosyasının doğru bölüme ait olduğundan emin olun. İnode'lar (tabiatlarına göre) bir bölüme özgüdür.
— Huygens
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.