Pendahuluan
Mengamati beberapa pengguna pemula Linux, seperti staf technical support level 1 di tempat kerja, saya melihat ada satu hal yang menarik: rata-rata dari mereka tidak familiar dengan program pager multifungsi bernama ‘less’ yang sebenarnya sudah kesohor itu. Atau bahkan seringkali tidak familiar dengan konsep pager sama sekali.
Mungkin mereka memang tidak banyak diajari mengenal program ‘less’ sewaktu di kursus atau kuliah. Mungkin buku-buku atau tutorial Linux yang ada di majalah atau website jarang membahas mengenai ‘less’. Kalaupun ada, hanya menyinggung atau menyebutkan ‘less’ di perintah command line sebagai pager sederhana (mis: ‘ls -l | less’ atau ‘cat NAMAFILE | less’).
Jadi, kadang saya tersenyum dalam hati saat melihat perintah-perintah apa yang dipilih oleh para pemula ini alih-alih less. Misalnya, untuk melihat isi file, biasanya digunakan ‘cat NAMAFILE’. File yang isinya panjang jadi ‘lewat’ begitu saja di layar dan yang terlihat hanya ujung akhirnya saja. Lalu mereka akan melakukan scrolling layar menggunakan mouse (menggeser scrollbar). Pemula lain ada yang terbiasa menggunaakn editor teks hanya untuk melihat isi file, misalnya ‘joe NAMAFILE’ atau ‘vi NAMAFILE’ (atau sebutlah editor favorit lain). Padahal, menggunakan editor teks hanya untuk melihat/membrowse isi file sebetulnya adalah sebuah tindakan ‘overkill’ (berlebihan), lagipula berisiko salah edit lalu tersave.
more
‘less’ adalah salah satu program yang dikategorikan ke dalam jenis ‘pager’ (page = halaman). Artinya jika ada output program yang panjang, lebih dari 1 halaman layar, maka kita gunakan less agar tampilnya bisa selayar-selayar. Di Unix dahulu kala (dan di DOS/Windows, hingga sekarang) program pager tradisional yang sering dipakai adalah program bernama ‘more’. Cara pemakaiannya biasanya sbb:
$ PERINTAH... | more
contohnya:
$ ls -l | more
Jika output ls lebih dari sehalaman, maka oleh more akan ditampilkan dulu sehalaman pertama, lalu kita menekan tombol, baru oleh more akan ditampilkan halaman kedua, dst.
Namun kemudian dikembangkan program bernama less yang memiliki kemampuan lebih dari more (nama ‘less’ diambil dari permainan makna ganda pepatah Inggris ‘less is more’). Hingga kini program less-lah yang lebih banyak dipakai di lingkungan Unix terutama Linux, walaupun more tetap saja tersedia.
Catatan: jika menginstal OS Debian yang minimalis, bisa saja less belum tersedia. Untuk menginstalnya:
# apt-get install less
Less is more
Apa saja kelebihan less dibanding more?
- scroll ke atas (backward)
- scroll secara horizontal
- bisa mengeset posisi (seek) ke posisi tertentu menurut persentasi, nomor baris, dll.
- bisa membrowse banyak file sekaligus
- pencarian (termasuk pencarian dengan regex)
- dan masih banyak lagi…
Karena begitu banyaknya kelebihan less, sehingga tepat sekali dipilih nama less karena sesuai dengan pepatah ‘less is more’!
Jadi less itu sebenernya lebih tepat dikategorikan ke dalam program ‘viewer’ (text viewer khususnya), karena fungsinya lebih dari sekedar hanya ‘paging’.
Cara memanggil
less dapat kita beri argumen nama (satu atau beberapa) file yang ingin kita lihat:
$ less NAMAFILE $ less FILE1 FILE2 FILE3 ...
Atau juga kita taruh di sisi kanan pipe untuk menerima input dari program lain.
$ ls -l | less $ du -sm * | sort -n | less $ cat NAMAFILE | less ; # sama dengan less NAMAFILE
Pemakaian dasar
Setelah masuk ke less, maka less akan menampilkan status di kiri bawah layar, yang bisa seperti ini:
NAMAFILE
atau:
(END)
atau:
:
(END) artinya teks yang ditampilkan sudah mencapai ujung. Prompt “:” (titik dua) artinya less siap menerima perintah.
Berbeda dengan more, yang jika output sudah selesai maka langsung exit dan kembali ke prompt shell, maka di less Anda perlu keluar dulu dengan menggunakan tombol “q”.
Contoh:
$ ls -l | less
Anda akan masuk ke less yang menampilkan output perintah ls. Tekan “q” untuk keluar.
Navigasi
Navigasi ke awal dan akhir buffer. Di dalam less, tekan “<” (lebih kecil) untuk ke awal buffer. Tekan “>” (lebih besar) untuk ke akhir buffer. Catatan: jika Anda me-less output program, saat menekan > maka less akan terus menanti hingga programnya selesai dulu, agar bisa mendapatkan output lengkap program. Bergantung pada jenis program/perintahnya, maka bisa saja Anda perlu menunggu beberapa waktu dulu sampai program selesai. Jika tidak sabar, Anda bisa meneken Ctrl-C (Break). Maka less akan menampilkan output yang sampai saat itu sudah ada (atau bisa saja kosong, jika belum ada output apa-apa).
Mengetahui posisi saat ini. Tekan “=” (sama dengan) untuk mengetahui posisi saat ini ada di mana (nama file, baris keberapa dan berapa). Jika buffer amat besar dan Anda menuju ke akhir buffer, bisa saja less belum menghitung nomor-nomor baris, jadi akan menampilkan pesan ‘Calculating line numbers… (interrupt to abort)’. Jika Anda tidak sabar, tekan saja Ctrl-C. Maka ketika Anda menekan “=” setelah itu, tidak ada informasi nomor baris, hanya ada informasi posisi dalam satuan byte.
Berpindah file. Jika Anda me-less dua atau lebih file, Anda bisa berpindah-pindah file menggunakan perintah “:p” (titik dua, huruf p, diikuti Enter) dan “:n”. “:p” (previous) untuk ke file sebelumnya, “:n” (next) untuk ke file selanjutnya.
Naik dan turun. Tekan tombol panah atas, bawah, PageUp, PageDown untuk naik dan turun dalam hitungan baris dan halaman layar.
Scroll horizontal. Defaultnya adalah, less akan melipat (wrap) baris yang panjang ke dalam beberapa baris agar muat. Namun jika Anda ingin agar baris yang panjang tidak dilipat, Anda bisa menambahkan opsi -S saat pemanggilan. Contoh:
$ ls -lR | less -S $ less -S file1.html
maka jika ada baris yang panjang, baris tersebut mula-mula terlihat terpotong setelah ujung kanan layar. Anda dapat menekan tombol panah kanan untuk melihat lebih banyak isi baris yang panjang tersebut.
Mengeset posisi. Anda bisa menuju lokasi atau titik tertentu (seeking) menggunakan less. Untuk menuju posisi 80% dari isi file, ketikkan “80p”. Untuk menuju ke nomor baris tertentu, mis baris 5000, ketik 5000 diikuti tombol Enter.
Untuk memastikan apakah benar kita sudah pada lokasi yang diinginkan, tekan “=” untuk menampilkan posisi saat ini.
Pencarian
Untuk mencari sebuah teks, tekan “/” (garis miring, slash) diikuti teks yang ingin dicari, lalu tekan Enter. Cara ini mungkin sudah familiar bagi banyak pengguna, karena telah ditiru oleh berbagai program popular termasuk browser Firefox. Setelah menekan “/”, less akan mulai mencari dari posisi saat itu. Biasanya kalau saya ingin mencari, saya tekan “<” (lebih kecil) dulu untuk ke awal file, baru menekan “/”.
Jika teks yang ingin dicari ditemukan, less akan berpindah pada posisi baris yang mengandung teks sambil meng-highlight teks yang dimaksud. Tekan “=” jika ingin mengetahui posisi saat ini. Tekan “n” (huruf n kecil) jika ingin mencari teks yang cocok yang berikutnya. Ulangi menekan n hingga Anda menemukan semua yang ingin Anda cari.
Jika ingin mencari ke belakang (backward), gunakan “N” (huruf N kapital). Kita bisa melakukan sebagai berikut: tekan “>” (berpindah ke akhir file), tekan “/” + teks + Enter, lalu tekan huruf N. Ulangi menekan N hingga Anda menemukan semua yang ingin Anda cari.
Defaultnya, pencarian bersifat case sensitive (membedakan huruf besar dan kecil). Jika Anda ingin pencarian yang bisa menemukan variasi huruf besar dan kecil, tekan “-i” (minus, diikuti huruf i) dulu untuk berpindah mode. Jika ingin balik ke mode case sensitive, tekan “-i” lagi. Catatan: Setting program tertentu (mis: melihat manpage dengan perintah ‘man’ di Debian) kadang sudah mengeset less dengan setting case insensitive, untuk kemudahan Anda. Jadi jika pertama Anda ketikkan “-i” maka justru mode akan berubah menjadi case sensitive.
Contoh
Berikut ini beberapa contoh penggunaan less.
Mencari nama file. Home direktori Anda isinya banyak file dan subdirektori. Anda ingin mencari sebuah file dengan nama tertentu, katakanlah yang mengandung kata ‘abc’, tapi Anda lupa ada di subdirektori mana. Anda bisa menggunakan perintah find seperti ini:
$ find -name '*abc*'
Tapi Anda juga lupa apakah huruf abc-nya ini ditulis ABC, atau Abc, atau yang lainnya. Anda juga ingin mencari secara interaktif. Jadi sebagai pengganti perintah di atas, Anda bisa menggunakan less:
$ find | less
find akan mencetak semua nama file dan direktori. Setelah masuk ke dalam less, Anda bisa menekan “-i” (untuk case insensitive search), lalu tekan “/”, “abc”, Enter. Jika ditemukan tapi bukan yang Anda maksud, tekan “n” (Next) untuk mencari file berikutnya. Jika sudah ditemukan, bisa Anda ingin lokasinya (atau copy ke clipboard) lalu tekan “q” untuk keluar dari less.
Membrowse hasil grep. Anda melakukan recursive grep pada sebuah website atau source code yang banyak, misalnya ingin mencari password. Ada banyak (puluhan hingga ratusan) baris yang mengandung teks password. Kadang barisnya panjang-panjang sehingga kurang enak dilihat kalau terlipat-lipat. Anda bisa menggunakan perintah:
$ grep -ri password . | less -S
Lalu lakukan pencarian pada kata ‘password’ (atau kata lain yang kira-kira relevan) untuk memanfaatkan fitur highlighting less untuk mempermudah kita mencari yang kita inginkan.
Memonitor log. Biasa Anda ingin melihat baris-baris baru yang tercetak dalam file log menggunakan perintah tail:
# tail -f /var/log/messages
Sebagai pengganti tail, Anda bisa juga menggunakan less.
# less /var/log/messages
Lalu tekan “>” untuk ke akhir file. Jika ingin mengetahui apakah ada baris baru yang muncul, Anda bisa menekan “>” lagi. Namun jika ingin less terus memonitor end of file, Anda bisa menekan “F” (huruf F kapital), yang kelakuannya sama seperti tail -f. Tekan Ctrl-C jika sudah selesai memonitoring.
Penutup
Dalam artikel ini telah dijelaskan penggunaan dasar less. Dalam 99% kasus, biasanya perintah-perintah dasar ini saja yang dipakai. Sebetulnya less masih memiliki berbagai fitur, seperti menyimpan ke file, melakukan pencarian pasangan tanda kurung, dll. Silakan merujuk manpage less untuk lengkapnya.
Anda akan menjumpai less di mana-mana, karena umumnya di distro-distro Linux program less-lah yang menjadi pager default. Termasuk misalnya saat mengetikkan perintah man, contoh: “man bash”. Output man telah diinput ke program less agar bisa Anda browse. Tekan tombol “<“, “>”, PageUp, PageDown, “/” untuk searching, dll. Anda akan menjumpai bahwa navigasi/browsing menggunakan less itu cepat dan praktis.
Sebuah tip terakhir: Karena daftar fitur dan perintah yang tersedia banyak, less juga memiliki online help. Tekan “h” (huruf h kecil) untuk melihat help dari dalam less. Tekan q jika sudah selesai dengan help.