Perintah `less` di Linux: Panduan Lengkap dengan Sintaks, Opsi, dan Penggunaan di Dunia Nyata
Perintah less di Linux adalah utilitas pager berbasis terminal yang memungkinkan Anda melihat isi file teks dan output perintah secara interaktif, tanpa memuat seluruh file ke dalam memori. Tidak seperti editor teks seperti Vim atau Nano, less membuka file dalam tampilan hanya-baca dan terpaginasi, menjadikannya alat utama untuk memeriksa file log besar, file konfigurasi, dan aliran output perintah pada sistem Unix-like mana pun.
Untuk jawaban singkat: less filename membuka file teks apa pun dalam penampil interaktif yang dapat digulir. Anda dapat menavigasi maju dan mundur, mencari pola, dan keluar dengan bersih — semuanya tanpa mengubah file.
Mengapa less Penting bagi Administrator Sistem
Saat mengelola server Linux, Anda secara rutin berurusan dengan file yang panjangnya ribuan baris — log aplikasi, pesan kernel, log akses Apache atau Nginx, dump konfigurasi, dan lainnya. Membuka file-file ini di editor penuh adalah pemborosan dan berisiko modifikasi yang tidak disengaja. Pager less memuat konten sesuai permintaan, artinya hanya membaca bagian file yang sedang ditampilkan. Ini membuatnya sangat efisien untuk file berukuran gigabyte.
Perilaku ini secara fundamental berbeda dari perintah seperti cat, yang membuang seluruh file ke output standar sekaligus, atau head/tail, yang hanya menampilkan bagian tetap. less memberi Anda kontrol interaktif penuh atas penelusuran tanpa overhead memori yang proporsional dengan ukuran file.
Jika Anda mengelola lingkungan VPS Hosting atau Dedicated Server, less akan menjadi salah satu alat diagnostik yang paling sering digunakan dalam alur kerja harian Anda — terutama saat menelusuri /var/log/syslog, /var/log/auth.log, atau direktori log khusus aplikasi.
less vs. more: Perbandingan Teknis
Perintah more mendahului less dan merupakan pendahulu konseptualnya. Meskipun keduanya adalah pager, kemampuannya berbeda secara signifikan. Nama “less” adalah lelucon Unix yang disengaja: *less is more than more*.
| Fitur | less | more |
|---|---|---|
| Gulir maju | Ya | Ya |
| Gulir mundur | Ya | Tidak |
| Navigasi tombol panah | Ya | Terbatas |
Cari maju (/pattern) | Ya | Ya |
Cari mundur (?pattern) | Ya | Tidak |
| Lompat ke nomor baris | Ya | Tidak |
| Persentase file yang dibaca | Ya | Tidak |
| Dukungan pipe | Ya | Ya |
| Buka beberapa file | Ya | Tidak |
| Penggunaan memori untuk file besar | Konstan (sesuai permintaan) | Lebih tinggi |
| Tersedia di sistem minimal | Kadang tidak terinstal | Hampir selalu ada |
Kesimpulan praktis: gunakan more hanya jika less tidak tersedia, seperti pada image container yang sangat terpangkas atau sistem embedded lama. Dalam semua konteks lainnya, less secara ketat lebih unggul.
Sintaks Dasar
less [OPTIONS] filenameAnda juga dapat menyalurkan output langsung ke less:
command | lessContoh:
less /var/log/syslog
grep "error" /var/log/nginx/access.log | less
dmesg | less
cat /etc/nginx/nginx.conf | lessPola pipe sangat powerful. Perintah apa pun yang menghasilkan output verbose — ps aux, netstat -tulnp, find / -name "*.conf" — menjadi mudah dikelola saat disalurkan ke less.
Keybinding Navigasi Default
Setelah berada di dalam less, pintasan keyboard berikut mengontrol navigasi. Ini bukan flag opsional — melainkan perintah interaktif yang Anda ketik saat file sedang terbuka.
| Tombol | Aksi |
|---|---|
Space atau f | Gulir maju satu layar penuh |
b | Gulir mundur satu layar penuh |
Down arrow atau j | Gulir maju satu baris |
Up arrow atau k | Gulir mundur satu baris |
d | Gulir maju setengah layar |
u | Gulir mundur setengah layar |
g | Lompat ke awal file |
G | Lompat ke akhir file |
nG atau ng | Lompat ke nomor baris n |
/pattern | Cari maju untuk suatu pola |
?pattern | Cari mundur untuk suatu pola |
n | Ulangi pencarian terakhir dalam arah yang sama |
N | Ulangi pencarian terakhir dalam arah berlawanan |
q | Keluar dari less |
h | Tampilkan layar bantuan |
F | Mode ikuti — seperti tail -f, mengalirkan konten baru |
Tombol F (mode ikuti) layak mendapat perhatian khusus. Ini mengubah less menjadi monitor log langsung, setara dengan tail -f, tetapi dengan kemampuan tambahan untuk menekan Ctrl+C guna berhenti mengikuti dan kemudian menavigasi mundur melalui konten yang sudah dimuat. Ini adalah sesuatu yang tidak dapat dilakukan oleh tail -f.
Referensi Opsi Baris Perintah
Flag ini diteruskan saat memanggil less dari baris perintah, mengubah perilakunya sebelum file terbuka.
| Opsi | Deskripsi |
|---|---|
-N | Tampilkan nomor baris di margin kiri |
-n | Sembunyikan nomor baris (default di beberapa sistem) |
-i | Pencarian tidak peka huruf besar/kecil (mengabaikan huruf besar/kecil) |
-I | Pencarian tidak peka huruf besar/kecil, bahkan untuk pola itu sendiri |
-S | Potong baris panjang alih-alih membungkusnya (berguna untuk file CSV atau log yang lebar) |
-p pattern | Buka file dan langsung lompat ke kemunculan pertama pola yang ditentukan |
-c | Lukis ulang layar dari atas alih-alih menggulir (mengurangi kedipan di terminal lambat) |
-g | Sorot hanya string yang ditemukan oleh pencarian terbaru, bukan semua kecocokan |
-G | Nonaktifkan semua penyorotan hasil pencarian sepenuhnya |
-F | Keluar secara otomatis jika seluruh file muat dalam satu layar |
-X | Jangan bersihkan layar saat less keluar (konten tetap terlihat di terminal) |
-R | Render urutan escape warna ANSI (penting saat menyalurkan output berwarna) |
-e | Keluar secara otomatis pada akhir file kedua |
+n | Mulai dari nomor baris n |
+/pattern | Mulai dari kemunculan pertama pattern (sintaks alternatif untuk -p) |
-m | Tampilkan persentase file yang dibaca di prompt (seperti more) |
-M | Tampilkan prompt yang lebih verbose termasuk nomor baris dan persentase |
Kombinasi Opsi Praktis
Lihat file log dengan nomor baris, pencarian tidak peka huruf besar/kecil, dan tanpa pembungkusan baris:
less -NiS /var/log/apache2/error.logBuka file dan langsung lompat ke kemunculan pertama “segfault”:
less -p "segfault" /var/log/kern.logSalurkan output perintah berwarna dan pertahankan warnanya:
grep --color=always "FAILED" /var/log/auth.log | less -RBuka file dan keluar segera jika muat dalam satu layar:
less -F /etc/hostsPencarian di Dalam less: Teknik Lanjutan
Fungsi pencarian di less mendukung ekspresi reguler, bukan hanya string literal. Ini adalah perbedaan penting yang sering diabaikan oleh banyak pengguna.
/error|warning|criticalPola ini mencocokkan baris apa pun yang mengandung “error”, “warning”, atau “critical” — menggunakan sintaks regex POSIX extended standar. Dikombinasikan dengan -i untuk ketidakpekaan huruf besar/kecil, ini menjadi alat analisis log inline yang powerful tanpa memerlukan grep sebagai preprocessor.
Mencari di beberapa file:
less file1.log file2.log file3.logGunakan :n untuk berpindah ke file berikutnya dan :p untuk kembali ke file sebelumnya. Pencarian /pattern hanya berlaku dalam file saat ini, tetapi Anda dapat mengulanginya di seluruh file secara manual.
Bekerja dengan Beberapa File dan Named Pipe
less dapat membuka beberapa file secara berurutan:
less /var/log/syslog /var/log/kern.log /var/log/auth.logIni juga bekerja dengan benar dengan named pipe (FIFO) dan substitusi proses, yang berguna dalam skrip shell tingkat lanjut:
less <(journalctl -u nginx --since "1 hour ago")Ini membuka output dari journalctl seolah-olah itu adalah file, dengan gulir mundur penuh — sesuatu yang tidak didukung oleh pipe biasa untuk navigasi mundur di semua lingkungan shell.
Kasus Tepi dan Jebakan di Dunia Nyata
File biner: Menjalankan less pada file biner (executable yang dikompilasi, arsip terkompresi) akan menampilkan karakter yang kacau dan mungkin memicu peringatan. Gunakan less -f untuk memaksanya terbuka, tetapi outputnya sebagian besar tidak dapat dibaca. Untuk inspeksi biner, xxd atau hexdump adalah alat yang tepat.
Baris yang sangat lebar: File log yang dihasilkan oleh framework Java tertentu atau aplikasi berbasis JSON sering mengandung baris tunggal yang sangat panjang. Tanpa -S, less membungkus baris-baris ini, membuatnya sulit dibaca. Flag -S mengaktifkan pengguliran horizontal dengan tombol panah, yang jauh lebih praktis.
File terkompresi: Pada sistem dengan lesspipe yang dikonfigurasi (umum di Debian/Ubuntu), less dapat secara transparan membuka format .gz, .bz2, .zip, dan format terkompresi lainnya. Periksa apakah sudah diaktifkan dengan echo $LESSOPEN. Jika tidak dikonfigurasi, gunakan zless (skrip wrapper) untuk file terkompresi gzip.
Output berwarna hilang dalam pipe: Saat menyalurkan output dari alat seperti grep --color, ls --color, atau diff, kode warna adalah urutan escape ANSI. Tanpa -R, less menampilkannya sebagai karakter escape mentah. Selalu gunakan less -R saat menyalurkan output berwarna.
LESSOPEN dan LESSCLOSE: Variabel lingkungan ini mendefinisikan skrip preprocessor dan postprocessor yang dijalankan less pada file sebelum menampilkannya. Pada sistem yang dikonfigurasi dengan benar, ini memungkinkan less menampilkan isi arsip, PDF, dan bahkan gambar (sebagai seni ASCII) secara transparan. Ini adalah fitur yang kurang dimanfaatkan dengan utilitas diagnostik yang signifikan.
Mengonfigurasi less Secara Persisten dengan Variabel Lingkungan LESS
Daripada mengetik flag setiap saat, Anda dapat mengatur opsi default melalui variabel lingkungan LESS di profil shell Anda (~/.bashrc atau ~/.zshrc):
export LESS="-NiRMS"Ini menerapkan -N (nomor baris), -i (pencarian tidak peka huruf besar/kecil), -R (render warna), -M (prompt verbose), dan -S (tanpa pembungkusan baris) ke setiap pemanggilan less secara otomatis. Ini adalah praktik standar di server produksi di mana analisis log sering dilakukan.
Menggunakan less dalam Skrip Shell dan Otomasi
Meskipun less terutama bersifat interaktif, ia terintegrasi dengan bersih ke dalam skrip administratif. Pola umum adalah memanggilnya secara kondisional hanya saat berjalan di terminal interaktif:
if [ -t 1 ]; then
some_command | less -R
else
some_command
fiPengujian -t 1 memeriksa apakah output standar terhubung ke terminal. Ini mencegah less memblokir pipeline non-interaktif atau pekerjaan cron.
less dalam Konteks Manajemen Server
Pada VPS dengan cPanel atau lingkungan yang dikelola panel kontrol mana pun, less tetap sangat diperlukan untuk administrasi berbasis SSH bahkan ketika GUI tersedia. Panel kontrol menampilkan tampilan log yang terbatas; akses SSH langsung dengan less memberi Anda visibilitas yang tidak difilter dan real-time ke dalam perilaku sistem.
Saat menyediakan Dedicated Server untuk aplikasi lalu lintas tinggi, alur kerja analisis log terstruktur yang dibangun di sekitar less, grep, awk, dan sed membentuk tulang punggung respons insiden. Mengetahui cara menavigasi log akses 2 GB secara efisien tanpa memuatnya ke dalam memori adalah keterampilan sysadmin yang mendasar.
Untuk tim yang mengelola infrastruktur Email Hosting, less adalah alat standar untuk memeriksa log email Postfix (/var/log/mail.log) dan log autentikasi Dovecot, di mana navigasi mundur baris demi baris sangat penting untuk melacak kegagalan pengiriman.
Matriks Keputusan Referensi Cepat
Gunakan matriks ini untuk memutuskan alat mana yang harus digunakan saat melihat konten file:
| Skenario | Alat yang Direkomendasikan |
|---|---|
| Lihat file log besar secara interaktif | less -NiS |
| Pantau file log secara real time | less +F atau tail -f |
| Lihat N baris terakhir saja | tail -n N |
| Lihat N baris pertama saja | head -n N |
| Cari dan filter tanpa interaksi | grep |
Lihat file .gz terkompresi | zless atau less dengan lesspipe |
| Periksa konten biner/hex | xxd atau hexdump |
| Lihat dengan penyorotan sintaks | bat (pager pihak ketiga) |
| Dump cepat file kecil | cat |
Sistem minimal, less tidak tersedia | more |
Poin Teknis Utama
lessmemuat konten file sesuai permintaan — penggunaan memori tidak bertambah seiring ukuran file, membuatnya aman untuk file multi-gigabyte.- Flag
-Rwajib digunakan saat menyalurkan output berwarna; menghilangkannya menghasilkan urutan escape yang tidak dapat dibaca. - Mode ikuti (tombol
F) menyediakan fungsionalitastail -fdengan kemampuan tambahan untuk menggulir mundur melalui konten yang di-buffer. - Ekspresi reguler didukung secara native dalam pola pencarian — tidak perlu memfilter terlebih dahulu dengan
grepuntuk pencocokan pola. - Atur
export LESS="-NiRMS"di profil shell Anda untuk menerapkan default yang masuk akal secara global. - Gunakan
less <(command)dengan substitusi proses untuk navigasi interaktif penuh dari output perintah, termasuk pengguliran mundur. - Variabel
LESSOPENmemungkinkan dekompresi transparan dan konversi format — verifikasi bahwa variabel ini dikonfigurasi di server Anda. - Jangan pernah menggunakan
catpada file besar jikalesstersedia; ini memenuhi buffer terminal dan tidak menyediakan kemampuan navigasi.
Pertanyaan yang Sering Diajukan
Apa perbedaan antara less dan cat di Linux?
cat mengeluarkan seluruh konten file ke output standar sekaligus, tanpa interaktivitas atau paginasi. less membuka file dalam pager interaktif di mana Anda dapat menggulir, mencari, dan menavigasi. Untuk file apa pun yang lebih panjang dari tinggi terminal Anda, less adalah alat yang tepat.
Bisakah less mengedit file?
Tidak. less adalah penampil hanya-baca secara ketat. Ia tidak mengubah file dalam keadaan apa pun. Untuk mengedit, gunakan vim, nano, atau editor teks lainnya.
Bagaimana cara mencari kata di less?
Saat file terbuka di less, ketik /word dan tekan Enter untuk mencari maju. Gunakan ?word untuk mencari mundur. Tekan n untuk melompat ke kecocokan berikutnya dan N untuk pergi ke kecocokan sebelumnya. Pencarian mendukung ekspresi reguler.
Mengapa less menampilkan karakter yang kacau saat saya menyalurkan output berwarna?
Urutan escape warna ANSI tidak dirender secara default. Teruskan flag -R — baik sebagai less -R atau dengan mengatur export LESS="-R" di profil shell Anda — untuk merender warna dengan benar.
Apakah less tersedia di semua distribusi Linux?
less disertakan secara default di hampir semua distribusi Linux utama termasuk Debian, Ubuntu, CentOS, RHEL, Fedora, dan Arch Linux. Pada image dasar Docker minimal atau Alpine Linux, mungkin perlu diinstal secara eksplisit dengan apk add less atau perintah manajer paket yang setara.
