Akademi Manajemen Informatika

Daftar Isi:

Sebagai pemrogram, kita Niscaya pernah menggunakan CLI (Command-Line Interface), setidaknya ketika hendak menginstall paket baru dengan package manager yang tersedia
di sistem operasi yang kita Guna. Kali ini, kita akan membahas lebih dalam apa itu CLI dan bagaimana penggunaannya Buat 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 Eksis dalam
sebuah terminal atau sering disebut juga dengan console, sebuah program berbasis teks Buat menangkap input keyboard dan menampilkan hasilnya.
Pemrosesan perintah-perintah CLI dilakukan oleh sebuah interpreter atau shell.

Apa itu shell?

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

Manfaat menguasai CLI

Interaksi dengan server

Dalam proses pengembangan perangkat lunak, kita Niscaya akan bersentuhan dengan komputer server, terutama ketika masuk fase deployment dan maintenance.
Kebanyakan server yang berbasis linux hanya menyediakan CLI sebagai antarmuka Primer mereka.
Tanpa pengetahuan tentang CLI sebelumnya, Dapat dipastikan produktifitas kita akan Anjlok karena perlu “googling” Buat mencari perintah yang Akurat.

Peningkatan produktifitas

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

Memudahkan multitasking

CLI Dapat mempermudah kita dalam multitasking dengan dukungan utilitas dari shell-nya meskipun hanya dengan satu layar saja.
Menyantap sumber daya komputer secara langsung Sembari menjalankan program yang barus saja kita bangun dan membuka text editor Buat Membangun perubahan
di baris kode program adalah Teladan multitasking yang Dapat dilakukan di satu sesi CLI.

Selanjutnya, apa yang Dapat kita lakukan Buat meningkatkan kemampuan penggunaan CLI? Eksis beberapa hal yang akan kita bahas dalam tulisan ini.
Tetapi, kita akan Pusat perhatian pada CLI di sistem operasi *nix, linux dan MacOS yang lebih Standar dipakai di server maupun di komputer pribadi,
bahkan Windows pun sudah mempunyai subsistem linux (WSL) dimana kita Dapat 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 Eksis, Tetapi Dapat dikatakan kalau bash minim fitur dan relatif lebih susah Buat dikustomisasi.
Alternatifnya adalah zsh dengan beberapa fitur tambahan seperti command completion dan dukungan Buat penemaan prompt
sehingga lebih mudah Buat dikustomisasi.
Dukungan komunitas zsh sangat aktif, salah satunya dengan adanya oh-my-zsh sebuah perangkat Buat mengatur konfigurasi zsh kita.

fish shell adalah pilihan yang Dapat dipertimbangkan. Seperti zsh , fish mempunyai fitur yang lebih Berkualitas dari bash seperti
command completion, Corak 24 bit, syntax highlighting.
fish juga mempunya komunitas yang aktif, banyak tools dari komunitas yang Dapat dipakai Buat 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, Lewat /home/budi adalah argumennya.
Nyaris Segala perintah CLI mempunyai opsi Buat Buat menunjukkan petunjuk penggunaannya, biasanya dengan menambahkan opsi -h atau --help , misalnya ls --help.
Buat manual yang lebih lengkap Dapat diakses dengan perintah man

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

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

READ  6 Metode Meningkatkan Skill Programming Anda

Membangun alias utuk mempersingkat perintah

Alias adalah Langkah Buat memperpendek perintah sehingga lebih efisien. Misalnya, Buat memasukkan (commit) perubahan dalam sebuah repositori git
maka kita perlu melakukan git add . Lewat git commit . Dengan Membangun alias kita Dapat Membangun sebuah perintah baru dengan menggabungkan kedua perintah diatas.

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

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

Menggunakan editor teks berbasis CLI

Ketika berada dalam CLI, sering kali kita perlu Buat mengubah berkas yang Eksis atau Membangun file baru yang membutuhkan editor.
Salah satu teks editor berbasis CLI yang tersedia adalah vim yang tersedia Nyaris di setiap sistem operasi berbasis *nix, sehingga kita
Bukan perlu belajar Kembali 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
  • Verbs: aksi yang kita lakukan terhadap nouns
    • d Buat delete
    • c Buat chage
    • y Buat yank atau salin (copy)
    • v Buat visually select per character (V Buat memilih baris)
  • Nouns: objek yang dikenai pekerjaan
    • w Buat word
    • s Buat sentence
    • ) Buat sentence (Langkah lain)
    • p Buat paragraph
    • } Buat paragraph (Langkah lain)
    • t Buat tag (HTML/XML)
  • Nouns (motions): selain sebagai objek, nouns Eksis yang dipakai Buat menggerakkan kursor
    • h, j, k, l Buat kiri, Rendah, atas, kanan
    • w Buat bergerak ke awal kata selanjutnya
    • e Buat bergerak ke akhir kata selanjutnya
    • b Buat bergerak ke akhir awal sebelumnya
    • $ Buat bergerak ke akhir Kepribadian pada sebuah baris
    • 0 Buat bergerak ke awal Kepribadian pada sebuah baris
    • } Buat bergerak ke paragraf selanjutnya
    • gg Buat bergerak ke awal Berkas
    • G Buat bergerak ke akhir Berkas
  • Adjective: keterangan Buat mendeskripsikan perintah lebih lanjut
    • i Buat inside (di dalam)
    • a Buat around (di Sekeliling)
    • [0-9] (nomor dari 0-9)

Teladan 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 Primer:

  • normal mode bawaan Buat melakukan perintah-perintah seperti hapus, menggerakkan kursor, salin, dan lain-lain.
  • insert mode Buat mengetik, dipicu dengan menekan i pada mode normal, esc Buat keluar ke mode normal
  • visual mode Buat memilih (menyeleksi) teks Buat dilakukan operasi lainnya seperti hapus, salin, dan lain-lain

Selain perintah-perintah di atas, Eksis beberapa perintah Krusial lainnya agar Dapat mengedit berkas:

  • :w pada mode normal Buat menyimpan (write) berkas
  • :q pada mode normal Buat berhenti dan keluar dari vim (quit)
  • :q! pada mode normal Buat keluar tanpa menyimpan perubahan

Buat belajar vim lebih lanjut secara interaktif Dapat menuju ke vim.is.

Neovim

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

READ  Membangun static site generator - Blog Koding

Menggunakan tmux terminal multiplexer Buat mempermudah multitasking

tmux membolehkan kita Buat Membangun semacam “pseudo-terminal” dari satu terminal. Meskipun kita hanya membuka satu tab aplikasi terminal,
dengan tmux kita Dapat Membangun semacam terminal-teminal lain di dalamnya. Ini akan sangat Berfaedah 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 Bukan bergantung pada aplikasi terminal yang sedang berjalan, jadi ketika kita Bukan 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

Buat Membangun 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 Buat mengoperasikannya, antara lain:

  • ctrl+b w Buat menavigasi Segala jendela (window) yang Eksis di server tmux
  • ctrl+b c Buat Membangun (create) jendela baru
  • ctrl+b n atau p Buat Loncat ke jendela setelahnya atau sebelumnya
  • ctrl+b % Buat membagi sebuah jendela menjadi dua panel secara horizontal
  • ctrl+b Buat membagi sebuah jendela menjadi dua panel secara vertikal
  • ctrl+b x menutup panel

tmux juga Dapat dikonfigurasi Buat menyesuaikan kebutuhan kita, misalnya mengganti keybinding yang lebih mudah diingat, mengganti tema Corak, dan lain-lain.

Perintah-perintah dasar dalam CLI

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

Directori dan berkas

  • ls Menyantap isi dari sebuah direktori

    • ls -l: Menyantap isi directori dalam bentuk list beserta detailnya: pemilik, hak akses, terakhir diperbarui, filesize dalam byte
    • ls -a menampilkan berkas dan direktori tersembunyi (all)
    • ls -h menampilkan ukuran file dalam format yang lebih mudah dibaca (human-readable) ketika disandingkan dengan -l
    • ls -t mengurutkan berdasarkan waktu pembaruan (time) dari yang terbaru
    • ls -S mengurutkan berdasarkan ukuran (size) dari yang terbesar
    • ls -r membalikkan urutan (reverse order)

    Opsi-opsi diatas Dapat digabungkan:

    • ls -ltr Menyantap isi direktori dalam bentuk list dan diurutkan berdasarkan waktu pembaruan berkas tersebut dari yang terlama ke yang terbaru
    • ls -lSr mengurutkan berkas dan direktori berdasarkan ukurannya dari yang terkecil ke yang terbesar
  • mv memindahkan (move) direktori atau berkas dari satu tempat ke tempat yang lain, Dapat juga digunakan Buat mengubah nama direktori atau berkas

    mv /home/budi/some-file.txt /home/budi/other-file.txt
  • cp copy berkas dari satu tempat ke tempat yang lain

    • cp -r copy direktori beserta Segala isinya secara rekursif (recursive)

      cp -r /home/budi/a-dir /home/budi/b-dir

      Akan meng-copy a-dir beserta Segala isinya ke dalam b-dir.

  • rm menghapus sebuah berkas, Buat menghapus sebuah direktori kita gunakan opsi -r

    rm -r /home/budi/a-dir
  • cd masuk ke sebuah direktory

    cd /home/budi/a-dir
  • mkdir Membangun direktory baru (make directory)

  • touch Membangun sebuah file Hampa

    touch new-file.txt
  • find mencari file atau direktori berdasarkan Ungkapan yang diberikan. Sintaksis dari perintah ini adalah

    find [path...] [expression]
    • path menspesifikasikan satu atau lebih direktori tempat pencarian, defaultnya adalah direktori pada Ketika itu
    • expression menentukan berkas dan direktori mana yang perlu dicari dan juga aksi yang dilakukan terhadap berkas/direktori tersebut
    # mencari file dengan suffix *test.text di dalam direktori /path/to/test-find-dir
    # kemudian tampilkan hasilnya dalam bentuk detail list
    find /path/to/test-find-dir -name "*test.text" -ls
  • cat Buat menampilkan isi dari sebuah berkas

    cat text.txt
  • grep menampilkan baris-baris yang sesuai dengan pola yang dispesifikasikan.

    grep [pattern] [file...]

    https://ucarecdn.com/e972cb2d-43db-4f42-a257-b7380934b016/-/format/webp/-/resize/500/

  • less menampilkan isi sebuah berkas per satu layar, Kalau isi dari berkas tersebut panjang maka yang ditampilkan hanya yang muat pada satu layar yang Eksis Ketika itu.
    less mirip dengan more tapi dengan fitur yang lebih. less biasanya digunakan Buat membuka berkas dengan ukuran yang besar seperti log aplikasi.

    Salah satu fitur yang Berfaedah di less adalah pencarian. Buat mencari sebuah kata/frasa dari baris sekarang ke depan, ketik/ Lewat kata yang dicari,
    misalnya /granted Lewat tekan enter, less akan mencari kata granted dan akan menyorot kata yang sesuai bila ditemukan.
    Buat berpindah ke hasil selanjutnya kita tekan n , Buat kembali ke hasil sebelumnya tekan N.
    Buat mencari dari baris sekarang ke belakang memakai ? dengan Langkah yang sama dengan pencarian ke depan.

READ  Bagaimana Memulai Freelance sebagai Web Developer

Memonitor sumberdaya dari sebuah mesin

  • top menampilkan penggunaan sumberdaya pada mesin komputer, htop adalah versi yang lebih baru dengan penambahan interaksi user dan Corak

    https://ucarecdn.com/e80c5e62-67d1-4702-a655-d4431b180c0a/-/format/webp/-/resize/500/

  • free menampilkan memory yang terpakai sekarang, menambahkan opsi -h Membangun outputnya menjadi lebih mudah dibaca Insan (human-readable).

    https://ucarecdn.com/2c529c25-85f0-4b12-af0d-89c351b6833e/-/format/webp/-/resize/500/

    Kolom yang perlu diperhatikan adalah available Kalau kita mau Paham seberapa RAM yang tersedia pada Ketika itu.

  • du menampilkan Taksiran ukuran dari sebuah direktori atau file.

    du -h /path/to/dir

    Perintah diatas akan mengestimasi total ukuran dari direktori path/to/dir secara rekursif, Segala berkas yang Eksis di dalam direktori dan sub direktory akan dihitung

  • df menampilkan penggunaan hard disk berdasarkan file system-nya

    https://ucarecdn.com/718c5d65-9f48-4533-b9d7-e7c48a7906f5/-/format/webp/-/resize/500/

Mengkombinasikan perintah-perintah

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

  • ; mengeksekusi Segala perintah tanpa Menyantap perintah sebelumnya gagal atau Bukan

    cd logs; du -sh; df -h

    Kalau salah satu perintah gagal, maka perintah selanjutnya akan tetap dieksekusi, ini Dapat Dapat menghasilkan hasil yang Bukan sesuai ekspektasi

  • && (operator AND) mengeksekusi perintah hanya Kalau perintah sebelumnya sukses

    cd some-dir && pwd

    pwd hanya akan dieksekusi ketika cd some-dir berhasil dieksekusi.

  • || (operator OR) mengeksekusi perintah selanjutnya hanya ketika perintah sebelumnya gagal (error)

    cd some-dir || echo "directory is missing"

    Perintah diatas akan menampilkan pesan error Lewat mengeksekusi perintah selanjutnya, hasilnya akan seperti berikut:

    cd: The directory 'some-dir' does not exist
    directory is missing
  • | (operator pipe) mengarahkan keluaran dari perintah satu menjadi masukan perintah sesudahnya

    ls | grep test

    Baris diatas mengeksekusi ls Lewat hasil dari perintah tersebut akan diarahkan sebagai input dari perintah selanjutnya grep test .
    Hasilnya adalah deretan direktori yang mempunyai kata test di namanya.

Penutup

CLI, apabila kita Dapat menggunakannya dengan Berkualitas Dapat menjadi lingkungan yang sangat efisien dan produktif.
Banyak tools ataupun program yang menunjang pekerjaan kita di CLI yang tak jarang Bukan Eksis padanannya dalam GUI.
Sebagai pemrogram, Segera atau Lamban 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.