Melihat Isi Berkas

Membaca berkas teks dengan cat, less, head, dan tail sesuai kebutuhan.

Daftar isi

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.

bash
# 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.
SELESAI

Notasi << "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.

bash
# mencetak seluruh isi log
cat sensor-suhu.log
text Keluaran
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

Dengan 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.

bash
# merangkai dua berkas dalam satu keluaran
cat sensor-suhu.log catatan-pemeliharaan.txt
text Keluaran
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
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.

bash
# menampilkan catatan pemeliharaan dengan nomor baris
cat -n catatan-pemeliharaan.txt
text Keluaran
     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.

bash
# tidak-dijalankan
# less membuka penampil interaktif; keluar dengan tombol q
less sensor-suhu.log

Navigasi 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.

TombolEfek
Spasimenurunkan satu layar
bmenaikkan satu layar
tombol panahmenggulir satu baris
/katamencari kata ke arah bawah berkas
nmelompat ke kecocokan berikutnya
qkeluar 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.

bash
# sepuluh baris pertama (bawaan head)
head sensor-suhu.log
text Keluaran
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

Jumlah baris diatur dengan opsi -n, misalnya -n 3 untuk tiga baris pertama.

bash
# tiga baris pertama saja
head -n 3 sensor-suhu.log
text Keluaran
2026-01-05 08:00 suhu=22.4
2026-01-05 09:00 suhu=22.9
2026-01-05 10:00 suhu=23.6

Perintah 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.

bash
# tiga baris terakhir
tail -n 3 sensor-suhu.log
text Keluaran
2026-01-05 17:00 suhu=24.3
2026-01-05 18:00 suhu=23.5
2026-01-05 19:00 suhu=22.8

Awalan 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.

bash
# mencetak mulai baris kesembilan sampai akhir
tail -n +9 sensor-suhu.log
text Keluaran
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

Opsi -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.

bash
# tidak-dijalankan
# tail -f terus berjalan menunggu baris baru; hentikan dengan Ctrl-C
tail -f sensor-suhu.log

Kombinasi 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.

bash
# mencetak berkas yang tidak ada
cat tidak-ada.txt
text Keluaran
cat: tidak-ada.txt: No such file or directory

Pesan 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#

  • cat mencetak seluruh isi berkas dan dapat merangkai beberapa berkas dalam satu perintah, sehingga cocok untuk berkas pendek.
  • less menelusuri berkas panjang satu layar demi satu layar tanpa memuat seluruh berkas ke memori, dan dikeluarkan dengan q.
  • head dan tail mengambil baris awal atau akhir dengan bawaan sepuluh baris, diatur lewat opsi -n.
  • tail -f memantau berkas yang terus bertambah dan dihentikan dengan Ctrl-C.

Referensi#