Jenis dan metadata berkas Linux: gunakan ls, file, stat, dan readlink
Nama atau ekstensi saja tidak memastikan jenis berkas di Linux. ls -l menunjukkan jenis entri dan atribut dasar pada sistem berkas, file memeriksa isinya untuk memperkirakan format, sedangkan stat menampilkan metadata seperti ukuran, izin, waktu, dan inode. Bedakan jenis entri, format isi, serta atributnya saat membaca hasil pemeriksaan.
Setelah memahami atribut ini, gunakan latihan hard link dan symbolic link berbahasa Inggris untuk membandingkan nama, inode, dan jalur tujuan yang disimpan oleh tautan.
Arti jenis berkas pada sistem berkas Linux
Entri sistem berkas Linux mencakup berkas biasa, direktori, tautan simbolis, dan perangkat. Karakter pertama pada setiap baris ls -l menunjukkan jenis entri tersebut. Ekstensi seperti .txt atau .jpg hanyalah bagian dari nama, bukan penanda jenis sistem berkas ini.
| Karakter pertama | Jenis | Contoh |
|---|---|---|
- |
Berkas biasa | Dokumen atau berkas program yang dapat dijalankan |
d |
Direktori | Jalur yang memuat entri lain |
l |
Tautan simbolis | Entri yang menunjuk ke jalur lain |
c, b |
Perangkat karakter atau blok | Entri perangkat di bawah /dev |
p, s |
FIFO atau soket | Entri untuk komunikasi antarproses |
FIFO berarti first in, first out dan juga disebut pipa bernama. Untuk memeriksa entri yang disebut itu sendiri, gunakan ls -ld. Jika hanya memakai ls -l pada sebuah direktori, yang ditampilkan dapat berupa isi direktori tersebut.
ls -ld /etc /etc/passwd
Baris /etc biasanya dimulai dengan d, sedangkan /etc/passwd dengan -. Kolom berikutnya memuat izin, jumlah tautan, pemilik, grup, ukuran, waktu modifikasi, dan nama. Nilai serta rincian tampilannya bergantung pada sistem.
Memperkirakan format isi dengan file
Perintah file memeriksa informasi sistem berkas dan ciri isinya, lalu memberikan deskripsi yang dapat dibaca manusia. Berkas /etc/passwd, misalnya, dapat dikenali sebagai teks meskipun namanya tidak memiliki ekstensi.
file /etc/passwd
Hasilnya dapat menyerupai contoh berikut. Kalimat yang ditampilkan bergantung pada pengodean dan implementasi.
/etc/passwd: ASCII text
Deskripsi ini merupakan hasil klasifikasi berdasarkan pemeriksaan, bukan jaminan mutlak tentang isi atau keamanan berkas. Aturan deteksi memengaruhi rincian pengodean teks dan format lain yang dikenali. Pada tautan simbolis, pemeriksaan tautan atau sasarannya juga bergantung pada opsi dan lingkungan. Bandingkan file -h link, yang tidak mengikuti tautan, dengan file -L link, yang mengikuti tujuannya; ganti link dengan nama tautan yang benar-benar ada.
Memeriksa metadata dengan stat
stat menampilkan informasi yang dikelola sistem berkas, bukan teks atau isi berkasnya. Informasi ini mencakup ukuran, izin, pemilik, nomor inode, jumlah tautan, dan beberapa waktu. Inode adalah struktur sistem berkas untuk mengelola metadata suatu objek; inode berbeda dari nama entri. Nomor inode perlu dibaca dalam konteks sistem berkasnya.
stat /etc/passwd
Untuk hasil yang lebih ringkas, GNU stat mendukung opsi -c dengan string format. Dalam contoh ini, %F berarti jenis berkas, %s ukuran dalam byte, dan %n nama berkas.
stat -c '%F | %s bytes | %n' /etc/passwd
Hasilnya berupa satu baris seperti berikut. Angka 1234 adalah ukuran rekaan untuk menjelaskan format, bukan hasil pengukuran berkas Anda. Ukuran sebenarnya dan bahasa tampilan dapat berbeda.
regular file | 1234 bytes | /etc/passwd
Bagian pertama menyatakan berkas biasa, bagian tengah ukuran dalam byte, dan bagian terakhir jalur yang diperiksa. Pada keluaran stat lengkap, Access berarti waktu akses, Modify waktu perubahan isi, Change waktu perubahan status atau metadata, dan Birth waktu pembuatan. Perubahan isi juga dapat memperbarui Change. Jangan menafsirkan Change sebagai waktu pembuatan; Birth pun dapat tidak tersedia pada sistem berkas atau alat tertentu.
Memeriksa tautan simbolis
Tautan simbolis adalah entri terpisah yang mengacu ke jalur lain. ls -l biasanya menampilkannya sebagai link -> target. Perintah readlink link mencetak string jalur tujuan yang disimpan di dalam tautan. Bila string itu relatif, tafsirkan dari direktori tempat tautan berada, bukan dari direktori kerja shell saat ini.
Metadata tautan berbeda dari metadata berkas tujuannya. GNU stat secara bawaan memeriksa tautan itu sendiri; gunakan stat -L link untuk mengikuti tujuan. Jika tautan putus, pemeriksaan yang mengikuti tujuan dapat gagal. Mencetak string dengan readlink saja tidak membuktikan bahwa tujuan tersebut ada. Pembuatan tautan untuk latihan dijelaskan dalam panduan tautan yang ditautkan di atas.
Memilih perintah yang sesuai
- Jenis dan atribut dasar dalam daftar: ls -l, atau ls -ld untuk memeriksa entri yang disebut itu sendiri.
- Perkiraan format berdasarkan isi: file.
- Ukuran, waktu, inode, dan atribut terperinci: stat.
- String jalur tujuan yang tersimpan dalam tautan simbolis: readlink.
Contoh tambahan tersedia dalam panduan berbahasa Inggris tentang file untuk mengenali format, stat untuk memeriksa metadata, dan readlink untuk membaca tujuan tautan.
Dokumentasi resmi
Periksa manual file(1), dokumentasi GNU stat, dan dokumentasi GNU readlink untuk opsi dan pengecualiannya. Opsi format GNU stat seperti -c dapat berbeda pada implementasi lain.




