Navigasi yang lancar membuat kita menemukan banyak file, dan langkah berikutnya tentu saja adalah membaca isinya. Terminal tidak membuka jendela editor untuk urusan cepat seperti ini; terminal punya perintah khusus untuk menampilkan isi file langsung di layar. Pada Chapter ini kita akan memakai cat untuk membaca dan menggabungkan file, head serta tail untuk mengintip bagian awal dan akhir, lalu mengenal less sebagai alat baca interaktif untuk file yang panjang. Kita juga akan melihat mode tail -f yang menjadi cara klasik memantau file log secara langsung.

Membaca seluruh isi dengan cat #

Perintah cat menerima satu atau lebih nama file sebagai argument, lalu mencetak seluruh isinya ke layar berurutan dari baris pertama sampai terakhir. Nama cat sendiri singkatan dari concatenate (menggabungkan), dan makna asli itu akan terlihat sebentar lagi. Mari kita mulai dengan file pendek:

bash
printf "Daftar belanja:\n- beras 5 kg\n- gula 1 kg\n- kopi 250 g\n" > belanja.txt
cat belanja.txt

Output yang Dihasilkan:

text
Daftar belanja:
- beras 5 kg
- gula 1 kg
- kopi 250 g

Perintah printf pada baris pertama menyiapkan file belanja.txt berisi empat baris teks — \n menandai akhir baris. Perintah cat belanja.txt kemudian mencetak keempat baris tersebut apa adanya, diakhiri baris kosong bila file berakhir dengan newline. Untuk file sependek ini, cat memang alat yang tepat: seluruh isi muat di layar dan selesai dalam satu perintah.

Menggabungkan beberapa file dengan cat #

Sesuai namanya, cat sebenarnya dirancang untuk merangkai banyak file: bila diberi lebih dari satu argument, cat mencetak isi file-file itu berurutan tanpa pemisah. Perintah wc (word count) melengkapi adegan ini dengan menghitung jumlah baris setiap file. Mari kita gabungkan keduanya:

bash
printf "Daftar belanja:\n- beras 5 kg\n- gula 1 kg\n- kopi 250 g\n" > belanja.txt
printf "Rangkuman rapat\nPukul 09:00 mulai\n" > rapat.txt
cat belanja.txt rapat.txt
wc -l belanja.txt rapat.txt

Output yang Dihasilkan:

text
Daftar belanja:
- beras 5 kg
- gula 1 kg
- kopi 250 g
Rangkuman rapat
Pukul 09:00 mulai
 4 belanja.txt
 2 rapat.txt
 6 total

Mari kita telaah hasilnya:

  1. Baris 1-2 (printf ... > ...): membuat dua file — belanja.txt empat baris dan rapat.txt dua baris.
  2. Baris 3 (cat belanja.txt rapat.txt): mencetak isi belanja.txt lalu langsung disusul isi rapat.txt tanpa jeda maupun tanda pemisah; itulah makna concatenate.
  3. Baris 4 (wc -l ...): menghitung baris setiap file; karena diberi dua argument, wc menambahkan baris total yang menjumlahkan keduanya — 4 + 2 = 6.

Tanpa argument file sama sekali, cat membaca dari input standar dan menunggu kita mengetik — keadaan yang sering membuat pemula merasa terminal “menggantung”. Tekan Ctrl+C untuk keluar dari situasi seperti itu.

Mengintip bagian awal dan akhir dengan head dan tail #

Bila file panjang, sering kali kita hanya butuh cuplikannya: beberapa baris pertama untuk mengenali format file, atau beberapa baris terakhir untuk melihat kejadian terbaru pada file log. Tugas itu dipegang head dan tail. Keduanya secara bawaan menampilkan 10 baris; option -n mengubah jumlah itu:

bash
printf "Daftar belanja:\n- beras 5 kg\n- gula 1 kg\n- kopi 250 g\n" > belanja.txt
head -n 2 belanja.txt
tail -n 1 belanja.txt

Output yang Dihasilkan:

text
Daftar belanja:
- beras 5 kg
- kopi 250 g

Baris head -n 2 mencetak dua baris pertama file, sedangkan tail -n 1 mencetak satu baris terakhirnya. Dua perintah ini juga menerima beberapa file sekaligus sebagai argument, dan setiap cuplikan akan diberi judul ==> namafile <== agar tidak tertukar.

Kegunaan paling populer dari tail adalah mode follow: tail -f aplikasi.log mencetak sepuluh baris terakhir file, lalu terus mengikuti — setiap baris baru yang ditambahkan program lain ke file itu langsung muncul di layar kita. Mode ini dipakai admin server setiap hari untuk memantau log secara langsung, dan dihentikan dengan menekan Ctrl+C. Karena perilakunya mengalir terus, contoh berikut diperlihatkan sebagai contoh tampilan, bukan output terverifikasi:

console
$ tail -f aplikasi.log
08:00:01 server siap menerima koneksi
08:00:03 koneksi dari 192.0.2.10 diterima
08:00:04 permintaan halaman /dashboard selesai (12 ms)

less: membaca file panjang secara interaktif #

Untuk file yang panjang — konfigurasi, dokumentasi, hasil generate program — cat membanjiri layar dan membuat kita kehilangan bagian awal. Di sinilah pager berperan: program yang menampilkan file satu layar penuh dalam satu waktu dan menunggu perintah gulir dari kita. Pager standar di Linux adalah less, dengan kontrol utama berikut:

TombolAksi
Spacemaju satu layar
bmundur satu layar
/katacari kata ke arah bawah
qkeluar dari less

Karena less interaktif penuh — menunggu ketikan kita di setiap layar — ia tidak bisa dibuktikan dalam blok output otomatis buku ini. Seluruh tombol navigasinya yang lain tercantum pada halaman manual less(1) . Berikut contoh tampilan less belanja.txt: isi file memenuhi layar dan baris status di bawah menandai posisi baca:

text
Daftar belanja:
- beras 5 kg
- gula 1 kg
- kopi 250 g
belanja.txt (END)

Membaca file hanyalah setengah cerita; kini kita siap mengelolanya. Langkah berikutnya: membuat file dan direktori baru, lalu menghapusnya dengan rapi — materi Chapter Membuat dan Menghapus File.