Topik ini membahas empat perintah untuk membaca isi berkas teks langsung dari terminal, yaitu cat, less, head, dan tail. Setiap perintah punya situasi yang paling cocok, mulai dari menampilkan seluruh isi, menelusuri berkas panjang, mengambil potongan awal atau akhir, sampai memantau baris baru. Setelah membacanya, pemilihan perintah dapat menyesuaikan ukuran berkas dan tujuan pembacaan.
Berkas contoh untuk latihan#
Latihan memakai berkas catatan (log) sensor suhu harian beserta berkas catatan pemeliharaan. Keduanya dibuat di /tmp/kerja-melihat-berkas agar direktori latihan tetap terpisah dari berkas milik sistem.
# menyiapkan dua berkas contoh di /tmp
mkdir -p /tmp/kerja-melihat-berkas
cd /tmp/kerja-melihat-berkas
cat > sensor-suhu.log << "SELESAI"
2026-01-05 08:00 suhu=22.4
2026-01-05 09:00 suhu=22.9
2026-01-05 10:00 suhu=23.6
2026-01-05 11:00 suhu=24.1
2026-01-05 12:00 suhu=25.0
2026-01-05 13:00 suhu=25.7
2026-01-05 14:00 suhu=26.2
2026-01-05 15:00 suhu=26.0
2026-01-05 16:00 suhu=25.1
2026-01-05 17:00 suhu=24.3
2026-01-05 18:00 suhu=23.5
2026-01-05 19:00 suhu=22.8
SELESAI
cat > catatan-pemeliharaan.txt << "SELESAI"
Kalibrasi sensor setiap awal bulan.
Ganti baterai sensor bila pembacaan melompat.
Awas suhu di atas 27 derajat pada siang hari.
SELESAINotasi << "SELESAI" mengisi berkas dari teks yang ditulis di bawah perintah sampai kata SELESAI muncul kembali. Pola ini disebut heredoc dan lazim dipakai untuk memasukkan beberapa baris sekaligus. Kedua berkas kini siap dibaca dengan perintah berikutnya.
cat menampilkan seluruh isi#
Perintah cat membaca berkas dan mencetak seluruh isinya ke keluaran tanpa perubahan. Nama cat berasal dari kata concatenate karena perintah ini dirancang untuk merangkai berkas, dan keluaran berkas tunggal hanyalah kasus khususnya.
# mencetak seluruh isi log
cat sensor-suhu.log2026-01-05 08:00 suhu=22.4
2026-01-05 09:00 suhu=22.9
2026-01-05 10:00 suhu=23.6
2026-01-05 11:00 suhu=24.1
2026-01-05 12:00 suhu=25.0
2026-01-05 13:00 suhu=25.7
2026-01-05 14:00 suhu=26.2
2026-01-05 15:00 suhu=26.0
2026-01-05 16:00 suhu=25.1
2026-01-05 17:00 suhu=24.3
2026-01-05 18:00 suhu=23.5
2026-01-05 19:00 suhu=22.8Dengan dua argumen atau lebih, cat mencetak berkas-berkas itu berurutan seolah menjadi satu berkas. Pola ini berguna ketika isi beberapa berkas kecil perlu dibaca bersamaan.
# merangkai dua berkas dalam satu keluaran
cat sensor-suhu.log catatan-pemeliharaan.txt2026-01-05 08:00 suhu=22.4
2026-01-05 09:00 suhu=22.9
2026-01-05 10:00 suhu=23.6
2026-01-05 11:00 suhu=24.1
2026-01-05 12:00 suhu=25.0
2026-01-05 13:00 suhu=25.7
2026-01-05 14:00 suhu=26.2
2026-01-05 15:00 suhu=26.0
2026-01-05 16:00 suhu=25.1
2026-01-05 17:00 suhu=24.3
2026-01-05 18:00 suhu=23.5
2026-01-05 19:00 suhu=22.8
Kalibrasi sensor setiap awal bulan.
Ganti baterai sensor bila pembacaan melompat.
Awas suhu di atas 27 derajat pada siang hari.Opsi -n menambahkan nomor baris di depan setiap baris, dipisahkan oleh karakter tab. Blok berikut menerapkannya pada catatan pemeliharaan.
# menampilkan catatan pemeliharaan dengan nomor baris
cat -n catatan-pemeliharaan.txt 1 Kalibrasi sensor setiap awal bulan.
2 Ganti baterai sensor bila pembacaan melompat.
3 Awas suhu di atas 27 derajat pada siang hari.Untuk berkas pendek seperti contoh, cat praktis. Untuk berkas berukuran ribuan baris, keluaran bergulir melewati layar terlalu cepat untuk dibaca. Yang tersisa di layar hanya bagian akhirnya, sehingga perintah berikutnya lebih tepat dipakai.
less untuk berkas panjang#
Perintah less menampilkan berkas satu layar demi satu layar. Perintah semacam ini disebut pager. Berbeda dengan cat, less tidak memuat seluruh berkas ke memori, sehingga tetap tanggap ketika menelusuri berkas log berukuran ratusan megabyte.
# tidak-dijalankan
# less membuka penampil interaktif; keluar dengan tombol q
less sensor-suhu.logNavigasi dalam less dilakukan dengan tombol papan ketik, dan seluruh prosesnya interaktif sehingga tidak meninggalkan keluaran yang dapat direkam sebagai teks. Tombol yang paling sering dipakai dirangkum tabel berikut.
| Tombol | Efek |
|---|---|
Spasi | menurunkan satu layar |
b | menaikkan satu layar |
| tombol panah | menggulir satu baris |
/kata | mencari kata ke arah bawah berkas |
n | melompat ke kecocokan berikutnya |
q | keluar dari penampil |
Tombol-tombol di atas juga berlaku pada penampil yang dipakai man, sehingga kebiasaan yang dibangun di sini ikut terpakai saat membaca halaman manual. Pencarian /kata menyorot kecocokan pertama, dan tombol n berpindah ke kecocokan setelahnya. Tanda : pada kiri bawah layar menandakan penampil masih menunggu masukan, bukan berarti proses macet.
head dan tail untuk potongan baris#
Perintah head mencetak baris-baris awal berkas. Tanpa opsi, jumlah barisnya sepuluh.
# sepuluh baris pertama (bawaan head)
head sensor-suhu.log2026-01-05 08:00 suhu=22.4
2026-01-05 09:00 suhu=22.9
2026-01-05 10:00 suhu=23.6
2026-01-05 11:00 suhu=24.1
2026-01-05 12:00 suhu=25.0
2026-01-05 13:00 suhu=25.7
2026-01-05 14:00 suhu=26.2
2026-01-05 15:00 suhu=26.0
2026-01-05 16:00 suhu=25.1
2026-01-05 17:00 suhu=24.3Jumlah baris diatur dengan opsi -n, misalnya -n 3 untuk tiga baris pertama.
# tiga baris pertama saja
head -n 3 sensor-suhu.log2026-01-05 08:00 suhu=22.4
2026-01-05 09:00 suhu=22.9
2026-01-05 10:00 suhu=23.6Perintah tail bekerja sebaliknya, yaitu mencetak baris-baris akhir berkas, juga dengan bawaan sepuluh baris. Baris akhir log biasanya berisi kejadian paling baru, sehingga tail sering dipakai pada log.
# tiga baris terakhir
tail -n 3 sensor-suhu.log2026-01-05 17:00 suhu=24.3
2026-01-05 18:00 suhu=23.5
2026-01-05 19:00 suhu=22.8Awalan plus pada nilai -n mengubah maknanya. Angka tersebut bukan lagi jumlah baris yang dicetak, melainkan nomor baris tempat pencetakan dimulai. Perintah tail -n +9 melewati delapan baris pertama dan mencetak sisanya sampai akhir, berguna ketika bagian awal berkas sudah diketahui. Berkas contoh hanya memuat 12 baris, sehingga keluaran berikut menampilkan empat baris terakhir.
# mencetak mulai baris kesembilan sampai akhir
tail -n +9 sensor-suhu.log2026-01-05 16:00 suhu=25.1
2026-01-05 17:00 suhu=24.3
2026-01-05 18:00 suhu=23.5
2026-01-05 19:00 suhu=22.8Opsi -f (follow) membuat tail tidak berhenti setelah menampilkan isi. Baris baru yang ditambahkan proses lain ke berkas itu langsung tampil, sehingga berguna memantau log ketika suatu peristiwa sedang berjalan.
# tidak-dijalankan
# tail -f terus berjalan menunggu baris baru; hentikan dengan Ctrl-C
tail -f sensor-suhu.logKombinasi head dan tail juga dapat mengambil baris dari tengah berkas. Penyambung keduanya adalah pipe, yaitu penyaluran keluaran satu perintah menjadi masukan perintah lain, dan mekanisme itu berada di luar lingkup topik ini.
Kesalahan umum#
Berkas yang diminta tidak ada. Perintah cat menolak dengan pesan error dan tidak mencetak apa pun, seperti pada blok berikut.
# mencetak berkas yang tidak ada
cat tidak-ada.txtcat: tidak-ada.txt: No such file or directoryPesan itu berarti nama atau posisinya keliru, bukan berarti berkasnya rusak. Periksa ejaan nama yang diketik. Pastikan posisi dengan pwd dan lihat isi direktori dengan ls, lalu ulangi perintahnya dengan nama yang benar.
Mengira head -3 dan head -n 3 identik. Bentuk tanpa huruf n adalah warisan lama yang masih diterima GNU coreutils, tetapi tidak dijamin pada implementasi lain. Gunakan bentuk -n 3 agar perintah tetap benar di semua sistem.
Menganggap tail -f membeku. Perintah itu memang sengaja terus berjalan untuk menunggu baris baru, sehingga prompt tidak kembali. Tekan Ctrl-C untuk menghentikannya dan kembali ke prompt.
Ringkasan#
catmencetak seluruh isi berkas dan dapat merangkai beberapa berkas dalam satu perintah, sehingga cocok untuk berkas pendek.lessmenelusuri berkas panjang satu layar demi satu layar tanpa memuat seluruh berkas ke memori, dan dikeluarkan denganq.headdantailmengambil baris awal atau akhir dengan bawaan sepuluh baris, diatur lewat opsi-n.tail -fmemantau berkas yang terus bertambah dan dihentikan denganCtrl-C.
Referensi#
- cat(1) — Linux man pages — Manual cat beserta opsi penomoran baris dan pemeriksaan akhir berkas.
- less(1) — Linux man pages — Manual less, mencakup navigasi dan pencarian di dalam penampil.
- head(1) — Linux man pages — Manual head beserta bentuk opsi -n yang standar.
- tail(1) — Linux man pages — Manual tail, termasuk perilaku opsi -f untuk pemantauan berkas.