Menguasai cara membaca dan mengedit file teks di Linux: cat, tac, less, more, head, dan tail -f untuk memantau log real-time, ditambah pengenalan editor CLI nano dan vim beserta praktik mengedit file konfigurasi.

Setelah di episode 3 sebelumnya kalian menguasai navigasi filesystem dan manajemen file — mulai dari pwd, ls, cd untuk bergerak, sampai mkdir, cp, mv, rm untuk menata file — pada episode kali ini kita akan membahas apa yang akan kalian lakukan terhadap file-file tersebut: membaca, melihat, dan mengedit isinya.
Mengapa keterampilan ini begitu fundamental? Hampir seluruh pekerjaan administrasi Linux dan DevOps berpusat pada teks: membaca file konfigurasi di /etc, memantau log aplikasi yang membanjiri /var/log, mengedit nginx.conf, atau memperbaiki sshd_config. Konfigurasi Linux adalah teks, log adalah teks, bahkan data dari kernel di /proc adalah teks. Kalian tidak akan bisa menjadi administrator Linux yang efektif tanpa mahir "berbicara" dengan teks.
Episode 4 ini dibagi menjadi dua bagian besar: pertama, perintah membaca file (cat, tac, less, more, head, tail -f) dengan fokus pada pemantauan log real-time; kedua, editor teks CLI (nano untuk pemula dan vim untuk yang ingin serius), ditutup dengan praktik mengedit file konfigurasi serta daftar kesalahan umum.
cat dan taccat (concatenate) adalah perintah paling sederhana untuk menampilkan isi file. Namanya berasal dari "concatenate" — menggabungkan — karena fungsi aslinya adalah menyambungkan beberapa file menjadi satu output:
cat README.md
cat file1.txt file2.txtUntuk file kecil dan sedang, cat adalah pilihan cepat dan cukup. tac adalah cat terbalik (dibaca: cat dibalik) — ia menampilkan file dari baris terakhir ke pertama:
tac access.logtac sangat berguna saat kalian ingin melihat log terbaru paling atas — karena file log biasanya ditulis dengan baris terbaru di bagian bawah.
Warning
Jangan pernah cat file besar atau file binary (seperti /dev/sda atau file gambar) ke terminal. Outputnya akan membanjiri layar dalam ribuan baris, dan file binary bisa membuat terminal kalian menampilkan karakter aneh atau hang. Untuk file besar, gunakan less. Untuk melihat jenis file sebelum membaca, gunakan file <nama>.
less dan moreUntuk file besar — log yang ratusan ribu baris, atau file konfigurasi panjang — mencetak semuanya dengan cat tidak masuk akal. Di sinilah less menjadi sahabat terbaik: ia menampilkan file halaman per halaman dan memungkinkan scroll naik-turun.
less /var/log/syslogNavigasi di less mirip dengan Vim (bukan kebetulan — keduanya berbagi warisan): gunakan Space untuk maju satu halaman, b untuk mundur, tombol panah untuk baris per baris, /kata untuk mencari, n untuk ke hasil berikutnya, dan q untuk keluar.
more adalah pendahulu less yang lebih primitif — hanya bisa maju, tidak bisa mundur. Faktanya, begitu less lahir, tagline-nya adalah "less is more": fitur lebih lengkap dengan pakai yang sama. Di dunia nyata, kalian hampir selalu memakai less.
| Perintah | Bisa scroll ke belakang | Pencarian | Rekomendasi |
|---|---|---|---|
more | ❌ | Terbatas | Hanya untuk file pendek |
less | ✅ | ✅ (/pola) | Selalu untuk file besar |
Tip
Biasakan memakai less untuk semua file yang lebih panjang dari satu layar. Kombinasi less + /pencarian + n untuk pindah antar hasil adalah pola yang akan kalian pakai setiap hari saat debugging log — jauh lebih efisien daripada scroll manual.
head dan tailhead menampilkan baris awal file (default 10 baris), sedangkan tail menampilkan baris akhir. Keduanya menerima opsi -n untuk menentukan jumlah baris:
head -n 20 /etc/passwd # 20 baris pertama
tail -n 50 /var/log/syslog # 50 baris terakhirKegunaan paling umum tail: karena log ditulis dari bawah, tail memberi kalian log terbaru — itulah mengapa debugging log selalu dimulai dari tail -n.
tail -fIni perintah yang akan kalian gunakan hampir setiap hari sebagai DevOps Engineer: tail -f (follow). Ia tidak berhenti setelah menampilkan baris terakhir — ia tetap menampilkan baris baru yang terus ditambahkan ke file. Seperti menonton live stream log.
tail -f /var/log/syslogSaat permintaan masuk ke aplikasi, error muncul, atau service crash — baris-baris baru langsung muncul di layar kalian tanpa perlu mengetik ulang. Ini adalah alat debugging interaktif paling penting untuk server produksi.
Caution
tail -f tidak pernah berakhir — ia berjalan terus sampai kalian menekan Ctrl+C untuk menghentikannya. Jika terminal terlihat "beku", itu bukan hang — itu justru tanda bahwa tail -f bekerja dengan baik menunggu baris baru. Jangan tutup terminal paksa; cukup Ctrl+C. Kombinasi praktis untuk mencari langsung: tail -f /var/log/syslog | grep -i error.
nanoSetelah bisa membaca, saatnya mengedit. nano adalah editor teks CLI paling ramah pemula — tampilannya sederhana, dan semua perintah tertera jelas di bagian bawah layar.
nano /etc/nginx/nginx.confKalian langsung bisa mengetik untuk mengedit. Perintah inti yang perlu diingat:
| Perintah | Fungsi |
|---|---|
Ctrl+O | Simpan file (Save; lalu Enter untuk konfirmasi) |
Ctrl+X | Keluar dari nano |
Ctrl+G | Bantuan — semua perintah ada di sini |
Ctrl+K | Potong (cut) baris |
Ctrl+U | Tempel (paste) |
Ctrl+W | Cari teks |
nano sempurna untuk pemula dan pengeditan cepat. Jika kalian baru mulai, gunakan nano dulu — dan jangan merasa wajib langsung beralih ke Vim.
vim (dan Neovim)vim adalah editor yang jauh lebih powerful, tapi kurva belajarnya curam. Ia berjalan di mana saja (server produksi tanpa GUI, container, sesi SSH) dan menjadi editor de facto bagi administrator Linux. neovim adalah penerus modern vim — lebih cepat dan bisa dikonfigurasi dengan Lua — tetapi perintah dasarnya identik.
Konsep paling penting di Vim yang sering membuat pemula panik: Vim punya mode. Kalian tidak bisa langsung mengetik seperti di nano — harus masuk mode insert dulu.
| Mode | Fungsi | Cara Masuk |
|---|---|---|
| Normal | Navigasi & perintah edit (default) | Esc |
| Insert | Mengetik teks | i (sebelum kursor), a (setelah kursor) |
| Command-line | Perintah seperti simpan/keluar | : |
Alur dasarnya: buka vim → masih di normal mode → tekan i untuk masuk insert mode → ketik/edit → tekan Esc kembali ke normal mode → ketik :wq lalu Enter untuk simpan & keluar.
Navigasi di normal mode menggunakan huruf: h (kiri), j (bawah), k (atas), l (kanan) — posisinya meniru tata letak keyboard. Lompat kata dengan w (maju) dan b (mundur).
Perintah simpan/keluar di command-line mode:
:w # simpan file
:wq # simpan dan keluar
:q # keluar (gagal jika ada perubahan belum disimpan)
:q! # keluar paksa tanpa menyimpanBeberapa perintah edit yang paling sering dipakai: dd menghapus baris (di normal mode), u untuk undo, x menghapus karakter, dan /kata untuk mencari (diikuti n untuk hasil berikutnya).
vim /etc/hosts
# 1. Di normal mode, tekan i → masuk insert mode
# 2. Ketik/edit teks yang diinginkan
# 3. Tekan Esc → kembali ke normal mode
# 4. Ketik :wq lalu Enter → simpan dan keluarImportant
Rasa "terjebak" di Vim adalah pengalaman universal. Jika kalian tidak sengaja masuk insert mode dan tidak bisa keluar, cukup tekan Esc. Jika terminal terlihat aneh dan tidak tahu harus berbuat apa, tekan Esc lalu :q! untuk keluar paksa tanpa menyimpan — kalian tidak akan kehilangan apa pun. Kalau penasaran, jalankan vimtutor (tutorial interaktif bawaan) — 30 menit saja akan mengubah rasa takut menjadi rasa nyaman.
nano vs vim| Aspek | nano | vim |
|---|---|---|
| Kurva belajar | Rendah — langsung bisa | Curam — butuh latihan |
| Kecepatan mengedit | Sedang | Sangat cepat setelah mahir |
| Navigasi | Tombol panah | Mode hjkl + motion |
| Tersedia di server | Ya | Ya (hampir selalu ada) |
| Kekuatan scripting | Tidak ada | Macro, plugin, rekaman |
| Cocok untuk | Pemula, edit cepat | Administrator serius, daily driver |
Pilihan terbaik: mulai dengan nano, lalu transisi ke vim saat kalian sudah nyaman dengan terminal. Di dunia DevOps, kemampuan dasar Vim hampir wajib — suatu saat kalian akan SSH ke server tanpa GUI dan satu-satunya editor yang tersedia adalah Vim.
Mari kita praktikkan keduanya dengan skenario nyata: mengubah file /etc/hostname agar nama host server sesuai. Ini persis pekerjaan yang kalian lakukan saat provisioning server baru.
Langkah 1 — dengan nano:
sudo nano /etc/hostname
# Ketik nama host baru, lalu Ctrl+O untuk simpan, Ctrl+X untuk keluarLangkah 2 — dengan vim (file yang sama, hasil yang sama):
sudo vim /etc/hostname
# Tekan i untuk insert mode, ubah teks, tekan Esc, ketik :wq lalu EnterUntuk melihat perubahan yang kalian buat sebelum dan sesudah, berikut ilustrasi isi /etc/hostname sebelum/ setelah diedit:
my-old-server
my-new-serverAtau cara yang lebih praktis di dunia nyata — backup dulu, lalu bandingkan otomatis:
cp /etc/hostname /etc/hostname.bak
sudo nano /etc/hostname
diff /etc/hostname.bak /etc/hostnamePerintah diff menampilkan perbedaan baris per baris antara dua file — keterampilan yang akan kalian pakai terus menerus saat men-debug konfigurasi.
Note
Saat mengubah file konfigurasi sistem seperti /etc/hostname, selalu biasakan: (1) backup dengan cp ... .bak, (2) edit dengan hati-hati, (3) verifikasi dengan cat atau diff, (4) jika terkait service, restart service-nya (sudo systemctl restart <nama> — akan kita bahas di episode systemd). Rutinitas ini menyelamatkan kalian dari konfigurasi rusak yang memakan waktu berjam-jam.
| Kesalahan | Gejala | Solusi |
|---|---|---|
| Vim "terjebak" di insert mode | Mengetik jadi mode aneh, tidak bisa keluar | Tekan Esc; jika perlu :q! |
tail -f seolah hang | Terminal tidak merespons | Bukan hang — tekan Ctrl+C untuk berhenti |
cat file besar/binary | Layar banjir ribuan baris / karakter aneh | Pakai less; cek jenis dengan file |
more tidak bisa scroll balik | Tidak bisa melihat baris awal | Pakai less |
| Keluar Vim tanpa menyimpan | Perubahan hilang | Selalu :wq; jika ragu :q! untuk batal |
| Mengedit file sistem tanpa sudo | Permission denied saat simpan | Buka dengan sudo nano/vim |
| Tidak backup sebelum edit | Konfigurasi rusak tidak bisa dikembalikan | Selalu cp file file.bak dulu |
Pada episode 4 ini, kalian telah menguasai keterampilan membaca dan mengedit teks yang menjadi inti administrasi Linux: cat/tac untuk membaca cepat, less/more untuk file besar halaman per halaman, head/tail untuk bagian awal-akhir file, tail -f untuk memantau log real-time, serta dua editor CLI — nano yang ramah pemula dan vim yang powerful dengan tiga mode (normal, insert, command-line) — ditutup dengan praktik mengedit file konfigurasi.
Inti yang harus dibawa pulang:
tail -f adalah alat pemantauan log real-time yang wajib dikuasai; hentikan dengan Ctrl+C.less menggantikan more untuk file besar; jangan cat file besar atau binary.i untuk insert, Esc kembali normal, :wq simpan keluar, :q! keluar paksa.nano, transisi ke vim — keduanya berjalan di server tanpa GUI.cp file file.bak) sebelum mengedit file konfigurasi, dan verifikasi dengan diff.Kemampuan membaca dan mengedit teks ini menjadi fondasi untuk episode berikutnya. Di episode 5 selanjutnya, kita akan membahas Pipeline, Redirection & I/O Streams — memahami tiga stream standar (stdin, stdout, stderr), operator redirection (>, >>, 2>), dan pipeline (|) yang akan mengubah cara kalian merangkai perintah menjadi workflow otomatis yang kuat. Pastikan tetap semangat, karena semakin banyak konsep yang kalian kuasai, semakin terasa kekuatan sesungguhnya Linux!