Penggunaan Chaining Operator pada Perintah di Terminal Linux

Penggunaan Perintah Chaining Operator di Terminal Linux. Di tutorial ini saya akan membahas beberapa chaining operator yang bisa kalian gunakan di shell. Tujuan penggunaan chaining operator sendiri adalah untuk menjalankan beberapa perintah sekaligus.

Sebelumnya, saya harus berterimakasih kepada Andre Haxor karena statement atau postingan konyolnya di grup ABL malah memberikan saya ide untuk membahas ini. Ya meskipun chaining operator ini sebenarnya topik yang dasar banget, berhubung di LinuxSec belum pernah dibahas yasudah kita bahas sekalian.

Oke, ada beberapa chaining operator yang bisa kita gunakan dan kita akan membahasnya disini.

Semicolon Operator
Semicolon atau tanda ";" digunakan untuk menjalankan dua command atau lebih secara berurutan dalam satu baris perintah. Sebagai contoh disini saya akan menjalankan perintah ping dan cek kernel.
ping -c 10 localhost; uname -a

Penggunaan semicolon ini akan mengeksekusi perintah pertama dan seterusnya secara berurutan, namun tidak tidak mempedulikan apakah perintah sebelumnya gagal atau tidak. Misalnya, perintah pertama gagal dijalankan, maka perintah kedua tetap akan dieksekusi. Contoh
apt update; uname -a
Perintah uname -a tetap dieksekusi meski perintah apt update gagal (karena masalah hak akses).

AND Operator
AND atau tanda "&&" digunakan untuk menjalankan dua command atau lebih secara berurutan dalam satu baris perintah. Bedanya dengan semicolon adalah AND operator akan mengeksekusi perintah kedua jika perintah pertama sukses dijalankan. Sementara jika perintah pertama gagal dijalankan, maka perintah kedua tidak akan dieksekusi.

Sebagai contoh disini saya coba menjalankan command menggunakan AND operator dengan kondisi perintah pertama gagal dijalankan (agar kalian tau bedanya dengan operator semicolon).
apt update && uname -a

Lihat, perintah uname -a tidak dieksekusi karena perintah pertama gagal dijalankan.

Ampersand Operator
Perintah menggunakan chaining "&" digunakan untuk menjalankan perintah di background. Dengan operator ini kalian bisa menjalankan beberapa perintah sekaligus secara bersamaan dalam satu perintah, tanpa harus menunggu command sebelumnya selesai dieksekusi. Contoh
ping -c 10 localhost &  uname -a &
Perintah uname -a akan segera dieksekusi tanpa menunggu perintah ping selesai dieksekusi. Dan juga, perintah yang dijalankan dengan operator & akan dijalankan di background.

PIPE Operator
Pipe atau "|" adalah sebuah operator yang digunakan untuk menampilkan output perintah pertama dengan memasukkannya ke perintah kedua. Atau mungkin bisa dibilang pipe ini seperti memasukkan perintah pertama sebagai input untuk perintah kedua. Bingung juga jelasinnya. Mungkin kasih contoh saja. Disini saya menggunakan perintah more dengan inputan dari ls.
ls -l /etc | more
Atau contoh lain adalah mengubah plain text "LinuxSec" menjadi base64.
echo -n "LinuxSec" | base64

OR Operator
OR atau "||" adalah kebalikan dari "&&". Perintah kedua akan dieksekusi jika perintah pertama gagal.
Sebagai contoh, disini saya jalankan perintah
apt update || uname -a

Perintah uname -a dieksekusi karena perintah apt update gagal. Namun, jika perintah pertama sukses dialankan, maka perintah kedua tidak akan dieksekusi.

AND & OR Operator
AND OR ini mungkin bisa disebut if else. Gabungan dari operator && dan ||. Karena penjelasan untuk kedua operator ini sudah saya jelaskan diatas, saya langsung kasih contohnya saja.
apt update && echo "Sukses" || echo "Gagal"
Outputnya
Perintah echo "Sukses" tidak dieksekusi karena perintah sebelumnya (apt update) gagal dieksekusi. Sementara perintah echo "Gagal" dieksekusi karena adanya operator || dimana perintah sebelumnya (echo "Sukses") gagal tereksekusi. Oke mungkin itu penjelasannya, semoga tidak bingung.

Oke mungkin itu saja chaining operator yang sering digunakan. Jika ada yang ingin ditambahkan silahkan tinggalkan komentar, dan jika ada yang ingin ditanyakan juga jangan sungkan untuk berkomentar.