12 Perintah Terminal yang Harus Diketahui oleh Setiap Developer

Terminal adalah salah satu alat produktivitas terpenting di industri developer. Mastering dapat memiliki efek yang sangat positif pada alur kerja Anda. Karena banyak tugas sehari-hari yang dikurangi untuk menulis sebuah perintah sederhana dan mendapatkan Enter.

Pada artikel ini kami telah mempersiapkan koleksi perintah Unix yang akan membantu Anda memaksimalkan terminal Anda. Beberapa diantaranya built-in, ada pula tool gratis yang telah teruji secara waktu bahkan bisa dipasang dalam waktu kurang dari satu menit.

Curl

Curl adalah baris perintah untuk mengajukan request melalui HTTP(s), FTP dan puluhan protokol lain yang mungkin Anda belum dengar. Curl bisa mendownload file, cek header respon dan akses data remote secara bebas.

Dalam pengembangan web curl sering digunakan untuk menguji koneksi dan bekerja dengan Restful API

# Fetch the headers of a URL.
curl -I http://google.com
HTTP/1.1 302 Found
Cache-Control: private
Content-Type: text/html; charset=UTF-8
Referrer-Policy: no-referrer
Location: http://www.google.com/?gfe_rd=cr&ei=0fCKWe6HCZTd8AfCoIWYBQ
Content-Length: 258
Date: Wed, 09 Aug 2017 11:24:01 GMT

# Make a GET request to a remote API.
curl http://numbersapi.com/random/trivia
29 is the number of days it takes Saturn to orbit the Sun.

Perintah Curl bisa jadi jauh lebih rumit dari ini. Ada banyak pilihan untuk mengendalikan header, cookies, otentikasi dan banyak lagi. Anda bisa membaca lebih banyak tentang curl di buku gratis yang bagus semuanya.

Tree

Tree adalah utilitas baris perintah kecil yang menunjukan representasi virtual file dalam sebuah direktori. Tree bekerja secara rekursif, membahas setiap tingkat bersarang dan menggambar tree yang diformat dari semua isinya. Dengan cara ini Anda dapat dengan cepat mengecek dan menemukan file yang Anda cari.

tree
.
├── css
│   ├── bootstrap.css
│   ├── bootstrap.min.css
├── fonts
│   ├── glyphicons-halflings-regular.eot
│   ├── glyphicons-halflings-regular.svg
│   ├── glyphicons-halflings-regular.ttf
│   ├── glyphicons-halflings-regular.woff
│   └── glyphicons-halflings-regular.woff2
└── js
    ├── bootstrap.js
    └── bootstrap.min.j

Ada juga pilihan untuk memfilter hasilnya menggunakan pola regEx-like sederhana:

tree -P '*.min.*'
.
├── css
│   ├── bootstrap.min.css
├── fonts
└── js
    └── bootstrap.min.js

Tmux

Tmux adalah multiplexer terminal, yang diterjemahkan dalam bahasa manusia berarti bahwa tool ini menghubungkan beberapa terminal ke satu sesion terminal tunggal.

tmux

Tmux memungkinkan Anda beralih diantara program di satu terminal, menambahkan panel layar terpisah, dan melampirkan beberapa terminal ke sesi yang sama, membuat mereka tetap sinkron. Tmux sangat berguna  saat bekerja di server jauh, karena memungkinkan Anda membuat tab baru tanpa harus masuk lagi.

Disk usage – du

Perintah du menghasilkan laporan tentang penggunaan ruang dari file dan direktori. Hal ini sangat mudah digunakan dan dapat bekerja secara rekursif, melalui setiap sub direktori dan mengembalikan ukuran individual setiap file.

Kasus penggunaan umum untuk du adalah ketika salah satu drive Anda kehabisan ruang dan Anda tidak tahu mengapa. Dengan menggunakan perintah ini Anda dapat dengan cepat melihat berapa banyak penyimpanan yang diambil setiap folder, sehingga menemukan penimbun memori terbesar.

# Running this will show the space usage of each folder in the current directory.
# The -h option makes the report easier to read.
# -s prevents recursiveness and shows the total size of a folder.
# The star wildcard (*) will run du on each file/folder in current directory.

du -sh *

1.2G    Desktop
4.0K    Documents
40G     Downloads
4.0K    Music
4.9M    Pictures
844K    Public
4.0K    Templates
6.9M    Videos

Ada juga perintah serupa yang disebut df (Disk Free) yang mengembalikan berbagai informasi tentang ruang disk yang tersedia (kebalikan dari du).

Git

Git sejauh ini merupakan sistem kontrol versi terpopuler saat ini. Git adalah salah satu tool yang menentukan dev web modern

Ada banyak aplikasi dan alat pihak ketiga yang tersedia namun kebanyakan orang lebih suka mengakses git secara native meskipun terminalnya. CLI git benar-benar hebat dan bisa menangani bahkan sejarah yang paling kusut sekalipun

Tar

Tar adalah tool Unix standar untuk bekerja dengan arsip file. Tar memungkinkan Anda menggabungkan beberapa file menjadi satu paket dengan cepat, sehingga memudahkan untuk menyimpan dan memindahkannya nanti

tar -cf archive.tar file1 file2 file3

Menggunakan opsi -x juga bisa mengekstrak arsip .tar yang ada.

tar -xf archive.tar

Perhatikan bahwa sebagian besar format lain seperti .zip dan .rar tidak dapat dibuka oleh tar dan memerlukan utilitas perintah lainnya seperti .unzip

Banyak sistem Unix modern menjalankan versi tar yang diperluas (tar GNU) yang juga dapat melakukan kompresi ukuran file:

# Create compressed gzip archive.
tar -czf file.tar.gz inputfile1 inputfile2

# Extract .gz archive.
tar -xzf file.tar.gz

Jika OS Anda tidak memiliki versi tar tersebut, Anda bisa menggunakan gzip, zcat atau kompress untuk mengurangi ukuran arsip file.

Md5sum

Unix memiliki beberapa perintah built in hashing termasuk md5sum, sha1sum dan lain-lain. Tool baris perintah ini memiliki berbagai aplikasi dalam pemrograman, namun yang terpenting bisa digunakan untuk memeriksa integritas file.

Misalnya, jika Anda mendownload berkas .iso dari sumber yang tidak terpercaya, ada kemungkinan filte tersebut mengandung skript berbahaya. Untuk memastikan .iso aman, Anda bisa mengambil md4 atau hash lain darinya.

md5sum ubuntu-16.04.3-desktop-amd64.iso 

0d9fe8e1ea408a5895cbbe3431989295  ubuntu-16.04.3-desktop-amd64.iso

Anda kemudian dapat membandingkan string yang dihasilkan dengan yang diberikan dari penulis asli (misalnya Ubuntu)

Htop

Htop adalah alternatif yang lebih kuat untuk task manager buil-in. Htop menyediakan interface yang canggih dengan banyak pilihan untuk memantau dan mengendalikan proses sistem.

htop-1

Meski berjalan di terminal, htop memiliki dukungan yang sangat bagus untuk kontrol mouse hal ini membuat lebih mudah untuk menavigasi menu, memilih proses dan mengatur tugas yang dipilah dan disaring.

Ln

Link di Unix mirip dengan pintasan di windows, memungkinkan Anda mendapatkan akses cepat ke file tertentu. Link dibuat melalui perintah ln dan bisa dua tipe : hard atay symbolic. Setiap jenis memiliki sifat yang berbeda dan digunakan untuk berbagai hal

Berikut adalah contoh salah satu dari banyak cara Anda bisa menggunakan link. Katakanlah kita memiliki sebuah direktori kita yang disebut Scripts. Ln berisi script bash yang terorganisi rapih yang biasa kita gunakan. Setiap kali kami ingin memanggil salah satu skrip kami, harus melakukan ini:

~/Desktop/Scripts/git-scripts/git-cleanup

Jelas, ini tidak terlalu convinient karena kita harus menulis jalur absolut setiap saat. Sebagai gantinya kita bisa membuat symlink dari folder Script kita ke /usr/local/bin, yang akan membuat skript dieksekusi dari semua direktori.

sudo ln -s ~/Desktop/Scripts/git-scripts/git-cleanup /usr/local/bin/

Dengan symlink yang tercipta kita sekarang bisa memanggil script kita dengan hanya menuliskan namanya di terminal yang terbuka.

git-cleanup

SSH

Dengan perintah ssh pengguna dapat dengan cepat terhubung ke host jarak jauh dan masuk ke shell Unix-nya. Hal ini memungkinkan untuk segera mengeluarkan perintah di server langsung dari terminal mesin loka Anda.

Untuk membuat koneksi Anda hanya perlu menentukan alamat ip atau url yang benar. Pertama kali Anda terhunung ke server baru akan ada beberapa bentuk otentikasi.

ssh username@remote_host

Jika Anda ingin cepat menjalankan perintah di server tanpa login, Anda cukup menambahkan sebuah perintah setelah url. Perintah akan berjalan di server dan hasilnya akan dikembalikan.

ssh username@remote_host ls /var/www

some-website.com
some-other-website.com

Ada banyak hal yang dapat Anda lakukan dengan SSH seperti membuat proxi dan tunnel, mengamankan koneksi Anda dengan kunci pribadi, mentransfer file dan banyak lagi. Anda dapat membaca lebih lanjut dalam panduan ini

Grep

Grep adalah Unix standar untuk menemukan string didalam teks. Dibutuhkan masukan dalam bentuk file atau direct stream, menjalankan isinya melalui ekspresi reguler, dan mengembalikan semua baris yang sesuai.

Perintah ini sangat berguna saat bekerja dengan file besar yang perlu disaring. Di bawah ini kita menggunakan grep dalam kombinasi dengan perintah tunggal untuk mencari file log besar dan menghasilkan file yang baru hanya berisi kesalahan dari hari ini

// Search for today's date (in format yyyy-mm-dd) and write the results to a new file. 
grep "$(date +"%Y-%m-%d")" all-errors-ever.log > today-errors.log

Perintah hebat lainnya untuk bekerja dengan string adalah sed. Sed lebih kuat (dan lebih rumit) dari pada grep dan dapat melakukan hampir semua tugas terkait string termasuk menambahkan, menghapus atau mengganti string.

Alias

Banyak perintah Unix, termasuk beberapa fitur dalam artikel ini, cenderung untuk mendapatkan cukup lama setelah Anda menambahkan semua pilihan kepada mereka. Agar lebih mudah diingat Anda bisa membuat alias pendek dengan perintah bawaan alias

# Create an alias for starting a local web server.
alias server="python -m SimpleHTTPServer 9000"

# Instead of typing the whole command simply use the alias.
server 

Serving HTTP on 0.0.0.0 port 9000 ...

Alias akan tersedia selama Anda tetap membuka terminal itu. Untuk membuatnya permanen Anda bisa menambahkan perintah alias ke file .bashrc Anda.

Comments

comments