Linux’ta 8 Stat Komutu Örneği
Linux’ta işleri halletmenin her zaman ustaca bir yolu vardır. Herhangi bir görev için, onu daha iyi bir şekilde yürütmek için her zaman birden fazla komut satırı yardımcı programı vardır. Linux stat komutu, bir dosya hakkında ayrıntılı bilgileri görüntülemek için kullanılan bir komut satırı aracıdır. Bu kılavuzda, Linux’ta 8 stat komut kullanımını vurgulayacağız. Bu, tüm Linux dağıtımlarında çalışır.
Linux istatistik komutu
stat komutunu ls -l komutunun daha iyi bir versiyonu olarak düşünün . -l bayrağı, dosya sahipliği ve izinler gibi dosyalar hakkında daha fazla ayrıntı sağlarken, stat komutu başlığın altında daha derine iner ve bir dosya hakkında zengin bilgi sağlar.
Linux stat komutunun sözdizimi gösterildiği gibidir:
$ stat [SEÇENEK] dosya adı
1) Argümansız Stat komutu
En basit biçiminde – herhangi bir parametre olmadan – stat komutu varsayılan çıktıyı görüntüler. Buna dosya boyutu ve türü, aygıt türü, düğüm numarası, UID, GID, bağlantı sayısı ve dosyanın erişim/değiştirme tarihleri dahildir.
Örneğin, geçerli ana dizinde bulunan bir dosyanın dosya ayrıntılarını görüntülemek için şunu yürütün:
$ stat dosya1.txt
Çıktıyı çıkaralım:
- Dosya : Bu, dosyanın adını gösterir.
- Boyut : Dosyanın bayt cinsinden boyutu.
- Blok : Dosyaya tahsis edilen blok sayısı.
- IO Bloğu : Bu, her bloğun bayt boyutudur.
- Cihaz : Onaltılık veya ondalık biçimdeki cihaz numarası.
- Inode : Dosyanın inode numarasıdır.
- Bağlantılar : Dosyayla ilişkili sabit bağlantıların sayısı.
- Erişim : Sembolik veya sayısal formatta dosya izinleri.
- Uid : Kullanıcı kimliği ve sahibinin adı.
- Gid : Grup kimliği ve sahibinin adı.
- Bağlam : SeLinux güvenlik bağlamı
- Dosya türü : Dosyanın türünü gösterir (Normal bir dosya, sembolik bağlantı vb.).
- Erişim : Dosyaya en son ne zaman erişildiğini gösterir.
- Değiştir : Dosya içeriğinin en son ne zaman değiştirildiğini gösterir.
- Değiştir : Bir dosyanın meta verilerinin, örneğin izinlerin ve sahipliğin en son ne zaman değiştirildiğini gösterir.
2) Birden fazla dosya hakkındaki bilgileri görüntüleyin
Dosyaları gösterildiği gibi arka arkaya komut satırında belirterek birden fazla dosya hakkında ayrıntılı bir rapor görüntüleyebilirsiniz.
$ stat dosya1.txt dosya2.pdf
3) Dosya sistemi durumunu görüntüle
Dosyanın bulunduğu dosya sistemi durumunu, gösterildiği gibi -f seçeneğini kullanarak kontrol edebilirsiniz . Bu size blok boyutunu, toplam ve kullanılabilir hafızayı verir ve sadece birkaç özellikten bahseder.
$ stat -f /ev
4) Bilgileri kısa ve öz biçimde görüntüleyin
-t seçeneği, bilgileri gösterildiği gibi kısa bir biçimde görüntülemek için kullanılır:
$ stat -t dosya1.txt
5) Sembolik bağlantıların izlenmesini etkinleştirin
Genellikle, stat komutunu bir sembolik bağlantı üzerinde çalıştırırsanız, size bağlantının işaret ettiği dosya değil, yalnızca bağlantı hakkında bilgi verir. Örneğin /usr/share/zoneinfo/America/Cayman sembolik bağlantısını alın.
$ stat /usr/share/zoneinfo/Europe/Istanbul
Yukarıdaki örnekte, /usr/share/zoneinfo/Europe/Istanbul sembolik bağlantısı ( ->) Panama’yı gösterir . Sembolik bağlantı sadece 6 bayttır.
Bağlantıların işaret ettiği dosya hakkında bilgi almak için , referans seçeneği olarak da bilinen -L seçeneğini kullanın.
$ stat -L /usr/share/zoneinfo/Europe/Istanbul
Çıktı bunun bağlantı olduğunu gösterse de, bu artık bağlantıyla ilgili bilgileri değil, dosyayla ilgili bilgileri görüntüler. Bunun nedeni, onu stat komutuyla bir argüman olarak geçirmemizdir.
6) Biçim sıralaması
Önceki örneklerden, stat komutunun terminalde bir dizi bilgi yazdırdığını gördük. Belirli bilgiler istiyorsanız, tam olarak ihtiyacınız olanı sağlamak ve diğer ayrıntıları bırakmak için çıktıyı bir biçim dizisi kullanarak özelleştirebilirsiniz.
Çıktıyı özelleştirmek için kullanılan popüler ifadeler arasında –printf veya –format seçeneği bulunur
Örneğin, yalnızca bir dosyanın düğümünü görüntülemek için, gösterildiği gibi %i biçim sırasını kullanın. \ n işleneni yeni bir satır yazdırır.
$ stat --printf='%i\n' file1.txt
–format seçeneği , ek bir işlenen gerektirmeden yeni bir satır yazdırır.
$ stat --format='%a:%F' file1.txt
İşte kullanabileceğiniz format dizilerinin tam listesi:
- %a Erişim haklarını sekizli biçimde görüntüler.
- %A Erişim haklarını insan tarafından okunabilir bir biçimde görüntüler.
- %b Bu, tahsis edilen blok sayısıdır (bkz. %B).
- %B, %b tarafından bildirilen her bloğun bayt cinsinden boyutu.
- %C SELinux güvenlik bağlamı dizesini gösterir.
- %d Aygıt numarasını ondalık biçimde görüntüler.
- %D Onaltılık biçimde aygıt numarası.
- %f Ham modu onaltılık olarak görüntüler.
- %F Dosya türünü görüntüler.
- %g Sahibin grup kimliğini yazdırır.
- %G Sahibin grup adını yazdırır.
- %h Sabit bağlantıların sayısını görüntüler.
- %i İnode numarasını yazdırır.
- %m Bağlama noktasını yazdırır.
- %n Dosyanın dosya adını görüntüler
- %N Sembolik bağlantı varsa alıntılanan dosya adını referansla gösterir
- %o Optimum G/Ç aktarım boyutu ipucunu yazdırır.
- bayt olarak %s toplam boyut.
- Karakter/blok aygıtı özel dosyaları için onaltılı olarak %t ana aygıt türü
- Karakter/blok aygıtı özel dosyaları için onaltılı olarak %T küçük aygıt türü
- %u Sahibinin kullanıcı kimliğini gösterir.
- %U Sahibin kullanıcı adını yazdırır.
- %w Dosyanın doğum zamanını gösterir, insan tarafından okunabilir; – bilinmiyorsa.
- %W Dosya doğum zamanını, Epoch’tan bu yana saniyeleri yazdırır; 0 bilinmiyorsa.
- %x Son erişim zamanı, insan tarafından okunabilir.
- %X Son erişim zamanı, Epoch’tan bu yana saniye.
- %y Son değişikliğin son zamanını görüntüler, insan tarafından okunabilir.
- %Y Son değişiklik zamanını, Epoch’tan bu yana saniyeleri yazdırır.
- %z Bu, insan tarafından okunabilen son değişikliğin zamanıdır.
- %Z Son değişiklik zamanı, Epoch’tan bu yana saniye.
7) stat komutuyla yardım alma
Daha fazla komut seçeneği için, gösterildiği gibi stat komutuyla –help seçeneğini kullanın.
$ stat --help
Ayrıca stat komutunun man sayfalarını da ziyaret edebilirsiniz.
$ stat man