Diskon kelas baru hingga 25%! Masukkan kupon "lebihcepat" di kelas ini

X
Logo Koala Skodev mengetik

Skodev

Belajar coding dalam bahasa Indonesia

MENJADI PRODUKTIF DI CLI (COMMAND-LINE INTERFACE)

CLI adalah antarmuka berbasis teks, meski terbatas, ia berpotensi menjadi antarmuka yang efektif. Artikel ini membahas bagaimana agar lebih produktif di CLI

  Nauval Atmaja
Menjadi Produktif di CLI (Command-Line Interface)

Daftar Isi:

Istilah dalam CLI
Manfaat menguasai CLI
Tips menjadi produktif di CLI
Perintah-perintah dasar dalam ...
Penutup

Sebagai pemrogram, kita pasti pernah menggunakan CLI (Command-Line Interface), setidaknya ketika hendak menginstall paket baru dengan package manager yang tersedia di sistem operasi yang kita pakai. Kali ini, kita akan membahas lebih dalam apa itu CLI dan bagaimana penggunaannya untuk menunjang rutinitas pemrograman kita.

Istilah dalam CLI

Apa itu Command-Line Interface?

Command-Line Interface (CLI) adalah antarmuka dimana kita berinteraksi dengan komputer melalui baris-baris perintah berbentuk teks. Antarmuka CLI biasanya ada dalam sebuah terminal atau sering disebut juga dengan console, sebuah program berbasis teks untuk menangkap input keyboard dan menampilkan hasilnya. Pemrosesan perintah-perintah CLI dilakukan oleh sebuah interpreter atau shell.

Apa itu shell?

shell adalah sebuah program untuk menerjemahkan (interpret) teks-teks perintah input dari user sehingga bisa dieksekusi oleh sistem operasi. cmd.exe dan PowerShell adalah contoh interpreter untuk Command-Line yang ada di sistem operasi Windows, sedangkan bash, zsh, sh adalah contoh interpreter Command-Line di *nix seperti linux dan MacOS.

Manfaat menguasai CLI

Interaksi dengan server

Dalam proses pengembangan perangkat lunak, kita pasti akan bersentuhan dengan komputer server, terutama ketika masuk fase deployment dan maintenance. Kebanyakan server yang berbasis linux hanya menyediakan CLI sebagai antarmuka utama mereka. Tanpa pengetahuan tentang CLI sebelumnya, bisa dipastikan produktifitas kita akan jatuh karena perlu “googling” untuk mencari perintah yang tepat.

Peningkatan produktifitas

CLI bisa meningkatkan produktifitas kita sebagai seseorang yang banyak mengetik karena CLI didesain untuk menggunakan keyboard sebagai alat intput utama, sehingga, tangan tidak perlu terlalu banyak meninggalkan keyboard untuk melakukan apapun di dalamnya, misalnya mencari dan membuka berkas dengan mause. Dengan begitu, waktu yang dibutuhkan untuk melakukan menyelesaikan sebuah pekerjaan bisa lebih cepat.

Memudahkan multitasking

CLI bisa mempermudah kita dalam multitasking dengan dukungan utilitas dari shell-nya meskipun hanya dengan satu layar saja. Melihat sumber daya komputer secara langsung sambil menjalankan program yang barus saja kita bangun dan membuka text editor untuk membuat perubahan di baris kode program adalah contoh multitasking yang bisa dilakukan di satu sesi CLI.

Selanjutnya, apa yang bisa kita lakukan untuk meningkatkan kemampuan penggunaan CLI? Ada beberapa hal yang akan kita bahas dalam tulisan ini. Namun, kita akan fokus pada CLI di sistem operasi *nix, linux dan MacOS yang lebih umum dipakai di server maupun di komputer pribadi, bahkan Windows pun sudah mempunyai subsistem linux (WSL) dimana kita bisa menjalankan linux dalam Windows tanpa mesin virtual.

Tips menjadi produktif di CLI

Pilih shell yang lebih ramah

bash merupakan shell bawaan dari kebanyakan distro linux yang ada, namun bisa dikatakan kalau bash minim fitur dan relatif lebih susah untuk dikustomisasi. Alternatifnya adalah zsh dengan beberapa fitur tambahan seperti command completion dan dukungan untuk penemaan prompt sehingga lebih mudah untuk dikustomisasi. Dukungan komunitas zsh sangat aktif, salah satunya dengan adanya oh-my-zsh sebuah perangkat untuk mengatur konfigurasi zsh kita.

fish shell adalah pilihan yang bisa dipertimbangkan. Seperti zsh , fish mempunyai fitur yang lebih baik dari bash seperti command completion, warna 24 bit, syntax highlighting. fish juga mempunya komunitas yang aktif, banyak tools dari komunitas yang bisa dipakai untuk mengatur konfigurasinya, fisher dan oh-my-fish adalah contohnya.

Membiasakan diri dengan perintah-perintah dasar CLI

Anatomi dari sebuah perintah CLI biasanya terbagi menjadi tiga bagian: perintah (command), opsi (options), dan argumen.

ls -al /home/nauval

Dari perintah diatas, ls adalah perintahnya, -al adalah options-nya, lalu /home/budi adalah argumennya. Hampir semua perintah CLI mempunyai opsi untuk untuk menunjukkan petunjuk penggunaannya, biasanya dengan menambahkan opsi -h atau --help , misalnya ls --help. Untuk manual yang lebih lengkap bisa diakses dengan perintah man <command>

Seperti sebuah bahasa, perintah CLI adalah kosa katanya. Semakin banyak kosa kata yang dikuasai, akan semakin lancar juga komunikasinya.

Nanti kita akan sedikit membahas perintah-perintah yang banyak digunakan sehari-hari.

Membuat alias utuk mempersingkat perintah

Alias adalah cara untuk memperpendek perintah sehingga lebih efisien. Misalnya, untuk memasukkan (commit) perubahan dalam sebuah repositori git maka kita perlu melakukan git add . lalu git commit . Dengan membuat alias kita bisa membuat sebuah perintah baru dengan menggabungkan kedua perintah diatas.

alias gac="git add . && git commit"

Dengan begitu kita hanya perlu mengetik perintah gac pada CLI untuk membuat menggantikan perintah aslinya yang lebih panjang.

Menggunakan editor teks berbasis CLI

Ketika berada dalam CLI, sering kali kita perlu untuk mengubah berkas yang ada atau membuat file baru yang membutuhkan editor. Salah satu teks editor berbasis CLI yang tersedia adalah vim yang tersedia hampir di setiap sistem operasi berbasis *nix, sehingga kita tidak perlu belajar lagi ketika berpindah ke komputer yang lain.

Perintah dalam vim itu seperti sebuah bahasa yang menggunakan struktur yang terdiri dari kata benda (nouns), kata kerja (verbs), dan kata keterangan (adverbs). Rumus paling sederhananya adalah

verb + noun

# dengan adverbs
verb + adverb + noun

Contoh dari perintah dalam vim berdasarkan rumus diatas:

# delete 2 words
d2w

# change inside "
ci"

# change around tag
cit

# copy inside paragraph
yip

Yang berbeda dari editor lainnya adalah vim mempunyai tiga mode utama:

Selain perintah-perintah di atas, ada beberapa perintah penting lainnya agar bisa mengedit berkas:

Untuk belajar vim lebih lanjut secara interaktif bisa menuju ke vim.is.

Neovim

Neovim (nvim) adalah diperuntukkan sebagai pengganti vim dengan berbagai tambahan fitur seperti klien LSP (Language Server Protocol) bawaan untuk code completion, refaktor dan inspeksi kode, serta lebih mudah untuk di-extend dengan Lua. Oleh karena itu, Neovim bisa dikustomisasi menjadi IDE seperti VSCode. Lazyvim adalah salah satu ekstensi yang bisa membuat Neovim menjadi IDE moderen dalam sekejap.

Menggunakan tmux terminal multiplexer untuk mempermudah multitasking

tmux membolehkan kita untuk membuat semacam “pseudo-terminal” dari satu terminal. Meskipun kita hanya membuka satu tab aplikasi terminal, dengan tmux kita bisa membuat semacam terminal-teminal lain di dalamnya. Ini akan sangat berguna ketika kita ingin menjalankan program dalam satu koneksi, misalnya ketika sedang melakukan remote ssh.

https://ucarecdn.com/93206a3f-b01a-48d0-9c74-cc851b8c8db9/-/preview/500x500/-/quality/smart/-/format/auto/

tmux tidak bergantung pada aplikasi terminal yang sedang berjalan, jadi ketika kita tidak sengaja menutup aplikasi terminal, server tmux akan tetap berjalan dan kita cukup meng-attach ke server tmux yang sedang berjalan dengan perintah tmux attach. tmux bukan program bawaan dari linux ataupun MacOS, jadi kita perlu install terlebih dahulu.

# MacOS
brew install tmux

# Arch linux
pacman -S tmux

# RHEL or CentOS
yum install tmux

# Debian or Ubuntu
apt install tmux

Untuk membuat sebuah sesi tmux baru kita perlu menjalankan perintah berikut

tmux new -s <session-name>

Seperti program-program di linux lainnya, tmux mempunyai keybinding yang dipakai untuk mengoperasikannya, antara lain:

tmux juga bisa dikonfigurasi untuk menyesuaikan kebutuhan kita, misalnya mengganti keybinding yang lebih mudah diingat, mengganti tema warna, dan lain-lain.

Perintah-perintah dasar dalam CLI

Pada bagian ini kita akan berkenalan lebih jauh dengan beberapa perintah CLI yang umum dan sering digunakan baik di lokal komputer maupun di komputer server.

Directori dan berkas

Memonitor sumberdaya dari sebuah mesin

Mengkombinasikan perintah-perintah

Kita bisa mengkombinasi beberapa perintah CLI dalam satu baris eksekusi agar lebih efisien.

Penutup

CLI, apabila kita bisa menggunakannya dengan baik bisa menjadi lingkungan yang sangat efisien dan produktif. Banyak tools ataupun program yang menunjang pekerjaan kita di CLI yang tak jarang tidak ada padanannya dalam GUI. Sebagai pemrogram, cepat atau lambat kita akan bersentuhan dengan antar muka ini apalagi ketika berurusan dengan komputer server. Jadi, pengetahuan tentang CLI dan bagaimana menggunakannya dengan efektif adalah sebuah investasi yang akan membuahkan hasil positif di kemudian hari.

Penulis: Nauval Atmaja

/ @novalpas

Hi, saya Nauval, seorang programmer yang senang belajar hal-hal baru. Sekarang saya sedang belajar bagaimana menulis hal-hal teknis dengan lebih baik

Daftar newsletter skodev masukkan emailmu untuk dapat informasi menarik dari dunia koding