Linux'a Yeni Başlayanlar için 5 'stat' Komut Örneği


stat komutu, dosya veya dosya sistemi durumunu görüntülemek için kullanışlı bir yardımcı programdır. Dosya türü gibi bilgileri alır; sekizli ve insan tarafından okunabilir erişim hakları; SELinux güvenlik bağlamı dizesi; dosyanın doğum zamanı, son erişim, son veri değişikliği, hem insan tarafından okunabilen hem de Epoch'tan bu yana saniye cinsinden son durum değişikliği ve çok daha fazlası.

Bilgileri görüntülemek için varsayılan yerine özel bir format belirleme seçeneği vardır. Bu kılavuzda Linux'a yeni başlayanlar için beş stat komut örneğine bakacağız.

Linux Dosya Durumunu Kontrol Edin

1. stat'u kullanmanın en kolay yolu, ona argüman olarak bir dosya sağlamaktır. Aşağıdaki komut, ekran görüntüsünde gösterildiği gibi /var/log/syslog dosyasının boyutunu, bloklarını, IO bloklarını, dosya türünü, inode değerini, bağlantı sayısını ve çok daha fazla bilgiyi görüntüler:

$ stat /var/log/syslog

File: '/var/log/syslog'
  Size: 26572     	Blocks: 56         IO Block: 4096   regular file
Device: 80ah/2058d	Inode: 8129076     Links: 1
Access: (0640/-rw-r-----)  Uid: (  104/  syslog)   Gid: (    4/     adm)
Access: 2018-04-06 09:42:10.987615337 +0530
Modify: 2018-04-06 11:09:29.756650149 +0530
Change: 2018-04-06 11:09:29.756650149 +0530
 Birth: -

Dosya Sistemi Durumunu Kontrol Edin

2. Önceki örnekte stat komutu giriş dosyasına normal bir dosya gibi davrandı, ancak dosya durumu yerine dosya sistemi durumunu görüntülemek için -f seçeneğini kullanın.

$ stat -f /var/log/syslog

File: "/var/log/syslog"
    ID: ce97e63d2201c974 Namelen: 255     Type: ext2/ext3
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 84769790   Free: 16012830   Available: 11700997
Inodes: Total: 21544960   Free: 20995459

Ayrıca gösterildiği gibi argüman olarak bir dizin/dosya sistemi de sağlayabilirsiniz.

$ stat -f /

File: "/"
    ID: ce97e63d2201c974 Namelen: 255     Type: ext2/ext3
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 84769790   Free: 16056471   Available: 11744638
Inodes: Total: 21544960   Free: 21005263

Sembolik Bağlantıların Takibini Etkinleştir

3. Linux bağlantıları (sembolik ve sabit bağlantılar) desteklediğinden, belirli dosyalar bir veya daha fazla bağlantıya sahip olabilir, hatta bunlar bir dosyada mevcut bile olabilir. dosya sistemi.

İstatistiğin bağlantıları takip etmesini etkinleştirmek için gösterildiği gibi -L bayrağını kullanın.

$ stat -L /

 File: '/'
  Size: 4096      	Blocks: 8          IO Block: 4096   directory
Device: 80ah/2058d	Inode: 2           Links: 25
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-04-09 10:55:55.119150525 +0530
Modify: 2018-02-20 11:15:54.462893167 +0530
Change: 2018-02-20 11:15:54.462893167 +0530
 Birth: -

Bilgileri Görüntülemek İçin Özel Bir Format Kullanın

4. stat ayrıca varsayılan biçim yerine belirli veya özel bir biçimi kullanmanıza da olanak tanır. -c bayrağı, kullanılan formatı belirtmek için kullanılır; format sırasının her kullanımından sonra yeni bir satır yazdırır.

Alternatif olarak, ters eğik çizgi kaçış dizilerinin yorumlanmasını sağlayan ve sondaki yeni satırın yazdırılmasını kapatan --printf seçeneğini kullanabilirsiniz. Örneğin yeni bir satır yazdırmak için formatta \n kullanmanız gerekir.

stat --printf='%U\n%G\n%C\n%z\n' /var/log/secure

Yukarıdaki örnekte kullanılan dosyalara ilişkin format sıralarının anlamı:

  • %U – sahibinin kullanıcı adı
  • %G – grup sahibinin adı
  • %C – SELinux güvenlik bağlamı dizesi
  • %z – son durum değişikliğinin zamanı, insan tarafından okunabilir

5. Aşağıda, dosya sistemleri için kabul edilen biçim sıralarının kullanımını gösteren bir örnek verilmiştir.

stat --printf='%n\n%a\n%b\n' /

Yukarıdaki komutta kullanılan format dizilerinin anlamı.

  • %n – dosya adını gösterir
  • %a – süper kullanıcı olmayanlar için ücretsiz bloklar yazdırılabilir
  • %b – dosya sistemindeki toplam veri bloklarının çıktısını verir

Bilgileri Kısa Formda Yazdırma

6. Bilgileri kısa bir şekilde yazdırmak için -t seçeneği kullanılabilir.

$ stat -t /var/log/syslog

/var/log/syslog 12760 32 81a0 104 4 80a 8129076 1 0 0 1523251873 1523256421 1523256421 0 4096

Son bir not olarak, kabuğunuzun kendi istatistik sürümü olabilir; desteklediği seçeneklerle ilgili ayrıntılar için lütfen kabuğunuzun belgelerine bakın. Kabul edilen tüm çıktı formatı sıralarını görmek için istatistik kılavuz sayfasına bakın.

man stat 

Bu yazımızda Linux'a yeni başlayanlar için beş stat komut örneğini anlattık. Soru sormak için aşağıdaki geri bildirim formunu kullanın.