Ödeme Yöntemleri Abuse

Linux'ta stat komutu ne işe yarar?

14.11.2021, 16:15

Dosya sistemindeki her dosya ve klasör, bu nesnenin meta verilerinin depolandığı Inode yapısı olarak adlandırılan bir yapıya sahiptir. Sahip, sahip grubu, değişiklik zamanı, oluşturma ve dosyaya erişimin yanı sıra diğer bilgileri de saklar. Sadece dosya sistemi hata ayıklama araçlarının yardımıyla görülemez. Bazı bilgiler ls yardımcı programı tarafından gösterilir, ancak daha fazlasına ihtiyacınız varsa stat komutunu kullanabilirsiniz. Şimdi size bu komutu Linux'ta nasıl kullanacağınızı anlatacağız.

Komut ne yapar

Komutun sözdizimi basittir. Seçeneklerin ve bilgileri görmek istediğiniz dosyanın yolunun iletilmesi gerekir:

$ stat [options] /path/to/file

Seçenekleri geçmek gerekli değildir ve çok fazla seçenek de yoktur:

-L, dereference - sembolik bağlantı yerine dosya bilgilerini gösterir;

-f, --file-system - dosyanın bulunduğu dosya sistemi hakkında bilgi gösterir;

-c, --format -standart format yerine çıktı formatını belirlemenizi sağlar, her dosyanın çıktısı yeni bir satırdan alınır;

--printf - --format'a benzer, sadece yeni bir satır için kullanmalısınız ;

-t, --terse - bilgileri çok kısa bir biçimde, tek bir satırda gösterir;

--version - yardımcı programın sürümünü gösterir.

Şimdi bazı kullanım örneklerini görelim. Bir dosya hakkında bilgi görmek için, programa dosyanın yolunu (örneğin /etc/passwd) vererek seçenekler olmadan çalıştırmak yeterlidir:

$ stat /etc/passwd

Program çıktısı:

Dosya- bilgilerin gösterildiği dosyanın yolu;

Boyut- dosyanın bayt cinsinden boyutu;

IO Bloğu - dosya sistemi bloğunun bayt cinsinden boyutu;

Bloklar- dosya tarafından işgal edilen dosya sistemi bloklarının sayısı;

Aygıt- dosyanın kaydedildiği aygıtın, örneğin HDD'nin tanımlayıcısı;

Inode - bu dosyanın benzersiz Inode numarası;

Bağlantılar- bu dosyaya olan sabit bağlantıların sayısı;

Erişim - dosyayaerişim hakları;

Uid - dosyanın kullanıcı sahibinin tanımlayıcısı ve adı;

Gid - dosya grubunun tanımlayıcısı ve adı;

Erişim- dosyaya son erişim zamanı;

Değiştir- dosyanın içeriğinin en son değiştirildiği zaman;

Değiştirildi- dosya özniteliklerinin veya dosya içeriğinin en son değiştirildiği zaman;

Oluşturuldu(Doğum) - dosyanın orijinal oluşturulma tarihini görüntülemek için ayrılmıştır, ancak henüz uygulanmamıştır.

Zaman formatı hakkında biraz daha konuşmamız gerekiyor. Örneğin, dosyaya son erişim zamanı 2020-12-02 18:25:01.043831739 +0200. Bu zaman, saat dilimi dikkate alınarak gösterilir. Ve +0200 sayıları, bu dosyayı oluşturan veya değiştiren bilgisayardaki saat diliminin UTC'den iki saat daha fazla olduğunu, yani kış saatinde Avrupa/Kiev olduğunu gösterir.

Yardımcı programa sembolik bir bağlantı iletmeye çalışırsanız, yalnızca bağlantının Inode'undaki bilgileri gösterecektir:

$ stat /etc/passwdlin

Bağlantının işaret ettiği dosya hakkındaki bilgileri görmek için -L seçeneğini kullanın:

$ stat -L /etc/passwdlink

Birden fazla dosya geçebilirsiniz:

$ stat /etc/passwd /etc/group

Çıktıyı biçimlendirmek için aşağıdaki karakter dizilerini kullanabilirsiniz:

A - erişim hakları;

b - dolu blok sayısı;

F - dosya türü;

g - dosya grubu tanımlayıcısı;

G - dosya grubu adı;

i - Inode tanımlayıcısı;

n - dosya adı;

s - dosya boyutu;

u - dosya sahibi tanımlayıcısı;

U - dosya sahibi adı;

x - son erişim zamanı;

y - son içerik değişikliğinin zamanı;

z - içerik veya özniteliklerin son değiştirilme zamanı.

Bunlar tüm olası diziler değildir, yardımcı program yardımında daha fazlasını bulabilirsiniz:

$ man stat

Örneğin, yalnızca bir dosyanın adını ve içeriğinin son değiştirilme zamanını görüntüleyelim:

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

Eğer dosyanın bulunduğu dosya sistemi hakkında bilgi görmek istiyorsanız -f seçeneğini kullanmalısınız:

$ stat -f /etc/passwd

Yardımcı programın görüntülediği alanların ne anlama geldiğini görelim:

Dosya- dosyanın adı;

Type- dosya sistemi türü;

ID - dosya sistemi tanımlayıcısı;

İsim uzunluğu(Namelen) - dosya sistemindeki maksimum isim uzunluğu;

Blok boyutu - optimum hız için bir okuma veya yazma isteğindeki veri miktarı;

Temel blok boyutu - dosya sistemindeki fiziksel blok boyutu.

Sırada sistemdeki toplam blok sayısı ve boş blok sayısı vardır.