stat
adalah utilitas baris perintah yang menampilkan informasi terperinci tentang file atau sistem file yang diberikan.
Artikel ini menjelaskan cara menggunakan stat
perintah.
Menggunakan stat
Perintah #
Sintaks untuk stat
perintahnya adalah sebagai berikut:
stat [OPTION]... FILE...
stat
menerima satu atau lebih masukan FILE
nama dan menyertakan sejumlah opsi yang mengontrol perilaku dan keluaran perintah.
Mari kita lihat contoh berikut:
stat file.txt
Outputnya akan terlihat seperti ini:
File: file.txt
Size: 4030 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 13633379 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ linuxize) Gid: ( 1000/ linuxize)
Access: 2019-11-06 09:52:17.991979701 +0100
Modify: 2019-11-06 09:52:17.971979713 +0100
Change: 2019-11-06 09:52:17.971979713 +0100
Birth: -
Saat dipanggil tanpa opsi apa pun, stat
menampilkan informasi file berikut:
- File - Nama file.
- Ukuran - Ukuran file dalam byte.
- Blok - Jumlah blok yang dialokasikan yang dibutuhkan file.
- IO Block - Ukuran dalam byte untuk setiap blok.
- Jenis file - (mis. file biasa, direktori, tautan simbolik.)
- Perangkat - Nomor perangkat dalam heksadesimal dan desimal.
- Inode - Nomor inode.
- Tautan - Jumlah tautan keras.
- Akses - Izin file dalam metode numerik dan simbolis.
- Uid - ID Pengguna dan nama pemiliknya.
- Gid - ID Grup dan nama pemiliknya.
- Konteks - Konteks keamanan SELinux.
- Akses - Terakhir kali file diakses.
- Ubah - Terakhir kali konten file diubah.
- Ubah - Terakhir kali atribut atau konten file diubah.
- Lahir - Waktu pembuatan file (tidak didukung di Linux).
Menampilkan Informasi Tentang Sistem File #
Untuk mendapatkan informasi tentang sistem file tempat file yang diberikan berada, alih-alih informasi tentang file itu sendiri, gunakan -f
, (--file-system
) pilihan:
stat -f file.txt
Output dari perintah akan terlihat seperti ini:
File: "package.json"
ID: 8eb53097b4494d20 Namelen: 255 Type: ext2/ext3
Block size: 4096 Fundamental block size: 4096
Blocks: Total: 61271111 Free: 25395668 Available: 22265851
Inodes: Total: 15630336 Free: 13979610
Ketika stat
dipanggil dengan -f
pilihan, ini menunjukkan informasi berikut:
- File - Nama file.
- ID - ID sistem file dalam heksa.
- Namelen - Panjang maksimum nama file.
- Ukuran blok dasar - Ukuran setiap blok pada sistem file.
- Blokir:
- Total - Jumlah total blok dalam sistem file.
- Gratis - Jumlah blok gratis dalam sistem file.
- Tersedia - Jumlah blok gratis yang tersedia untuk pengguna non-root.
- Inode:
- Total - Jumlah total inode dalam sistem file.
- Gratis - Jumlah inode gratis dalam sistem file.
Dereference (Ikuti) Symlinks #
Secara default, stat
tidak mengikuti symlink. Jika Anda menjalankan perintah pada symlink, outputnya akan menyertakan informasi tentang symlink, bukan file yang ditunjuknya:
stat /etc/resolv.conf
File: /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf
Size: 39 Blocks: 0 IO Block: 4096 symbolic link
Device: 801h/2049d Inode: 8126659 Links: 1
Access: (0777/lrwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-11-06 21:12:26.875956073 +0100
Modify: 2018-07-24 11:11:48.128794519 +0200
Change: 2018-07-24 11:11:48.128794519 +0200
Birth: -
Untuk mendereferensi (mengikuti) symlink dan menampilkan informasi tentang file yang ditunjuk oleh symlink, gunakan -L
, (--dereference
) pilihan:
stat -L /etc/resolv.conf
File: /etc/resolv.conf
Size: 715 Blocks: 8 IO Block: 4096 regular file
Device: 17h/23d Inode: 989 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 101/systemd-resolve) Gid: ( 103/systemd-resolve)
Access: 2019-11-06 20:35:25.603689619 +0100
Modify: 2019-11-06 20:35:25.555689733 +0100
Change: 2019-11-06 20:35:25.555689733 +0100
Birth: -
Menyesuaikan Output #
stat
perintah memiliki dua opsi yang memungkinkan Anda untuk menyesuaikan output sesuai dengan kebutuhan Anda:-c
, (--format="format"
) dan --printf="format"
.
Perbedaan antara dua opsi ini adalah ketika dua atau lebih file digunakan sebagai operan --format
secara otomatis menambahkan baris baru setelah setiap keluaran operan. --printf
menafsirkan pelarian garis miring terbalik.
Ada banyak arahan format untuk file dan sistem file yang dapat digunakan dengan --format
dan --printf
.
Misalnya, untuk hanya melihat jenis file, Anda akan menjalankan:
stat --format="%F" /dev/null
character special file
Anda dapat menggabungkan sejumlah arahan pemformatan dan secara opsional menggunakan pemisah khusus di antara mereka. Pemisah dapat berupa karakter tunggal atau string:
stat --format="%n,%F" /dev/null
/dev/null,character special file
Untuk menafsirkan karakter khusus seperti baris atau tab baru, gunakan --printf
pilihan:
stat --printf='Name: %n\nPermissions: %a\n' /etc
\n
mencetak baris baru:
Name: /etc
Permissions: 755
stat
juga dapat menampilkan informasi dalam bentuk singkat. Format ini berguna untuk penguraian oleh utilitas lain.
Panggil perintah dengan -t
(--terse
) opsi untuk mencetak output dalam bentuk singkat:
stat -t /etc
/etc 12288 24 41ed 0 0 801 8126465 147 0 0 1573068933 1573068927 1573068927 0 4096
Untuk daftar lengkap semua arahan format untuk file dan jenis sistem file, man stat
atau stat --help
di terminal Anda.
Kesimpulan #
stat
perintah mencetak informasi tentang file dan sistem file yang diberikan.
Di Linux, beberapa perintah lain dapat menampilkan informasi tentang file yang diberikan, dengan ls
menjadi yang paling sering digunakan, tetapi hanya menampilkan sebagian informasi yang diberikan oleh stat
perintah.
Jika Anda memiliki pertanyaan atau umpan balik, silakan tinggalkan komentar.