10 Operator Chaining yang Berguna di Linux beserta Contohnya


Merangkai perintah Linux berarti menggabungkan beberapa perintah dan membuatnya dijalankan berdasarkan perilaku operator yang digunakan di antara perintah tersebut.

Rangkaian perintah di Linux adalah sesuatu seperti Anda menulis skrip shell pendek di shell itu sendiri, dan mengeksekusinya langsung dari terminal. Chaining memungkinkan untuk mengotomatisasi proses.

Selain itu, alat berat yang tidak dijaga dapat berfungsi secara sistematis dengan bantuan operator rantai.

Artikel ini bertujuan untuk menjelaskan operator rantai perintah yang sering digunakan. Ini memberikan deskripsi singkat dan contoh terkait yang dapat meningkatkan produktivitas Anda dan memungkinkan Anda menulis kode yang ringkas dan bermakna sekaligus mengurangi beban sistem.

1. Ampersand Operator (&) – Jalankan Perintah Linux di Latar Belakang

Fungsi '&' adalah membuat perintah berjalan di latar belakang. Cukup ketikkan perintah diikuti dengan spasi dan ‘&‘. Anda dapat menjalankan lebih dari satu perintah di latar belakang, sekaligus.

Jalankan satu perintah Linux yang disebut 'ping' di latar belakang:

ping -­c5 linux-console.net &

Jalankan dua atau beberapa perintah apt di latar belakang secara bersamaan:

apt update & apt upgrade &

2. Operator Semi-Colon (;) – Jalankan Beberapa Perintah

Operator titik koma (;) memungkinkan untuk menjalankan beberapa perintah sekaligus dan eksekusi perintah terjadi secara berurutan.

apt update ; apt upgrade ; mkdir test

Kombinasi perintah di atas pertama-tama akan mengeksekusi instruksi update, kemudian instruksi upgrade, dan terakhir akan membuat direktori 'test' di bawah direktori kerja saat ini.

3. AND Operator (&&) – Jalankan Perintah Kedua Setelah Berhasil

Operator AND (&&) akan menjalankan perintah kedua saja, jika eksekusi perintah pertama BERHASIL, yaitu status keluar dari perintah pertama adalah 0. Perintah ini sangat berguna dalam memeriksa status eksekusi perintah terakhir.

Misalnya, saya ingin mengunjungi situs web linux-console.net menggunakan perintah tautan, di terminal tetapi sebelum itu, saya perlu memeriksa apakah hostnya hidup atau tidak.

ping -c3 linux-console.net && links linux-console.net

4. Operator OR (||) – Eksekusi Perintah Bersyarat

Operator OR (||) mirip dengan pernyataan 'lainnya' dalam pemrograman. Operator || memungkinkan Anda menjalankan perintah kedua hanya jika eksekusi perintah pertama gagal, yaitu status keluar dari perintah pertama adalah '1'.

Misalnya, saya ingin menjalankan 'apt update' dari akun non-root dan jika perintah pertama gagal, maka perintah 'links linux-console.net' kedua akan mengeksekusi.

apt update || links linux-console.net

Pada perintah di atas, karena pengguna tidak diizinkan untuk memperbarui sistem, berarti status keluar dari perintah pertama adalah '1' dan karenanya perintah terakhir 'links linux-console.net' dijalankan.

Bagaimana jika perintah pertama berhasil dijalankan, dengan status keluar '0'? Jelas sekali! Perintah kedua tidak akan dijalankan.

mkdir test || links linux-console.net

Di sini, pengguna membuat folder 'test' di direktori home-nya, yang mana pengguna diizinkan. Perintah yang dijalankan berhasil memberikan status keluar '0' dan karenanya bagian terakhir dari perintah tersebut tidak dijalankan.

5. BUKAN Operator (!) – Eksekusi Perintah Secara Selektif

NOT Operator (!) mirip dengan pernyataan 'kecuali'. Perintah ini akan mengeksekusi semua kecuali kondisi yang disediakan. Untuk memahami hal ini, buatlah direktori 'tecmint' di direktori home Anda dan 'cd' di dalamnya.

mkdir tecmint 
cd tecmint

Selanjutnya, buat beberapa jenis file pada folder ‘tecmint‘.

touch a.doc b.doc a.pdf b.pdf a.xml b.xml a.html b.html

Lihat kami telah membuat semua file baru di dalam folder 'tecmint'.

ls 

a.doc  a.html  a.pdf  a.xml  b.doc  b.html  b.pdf  b.xml

Sekarang hapus semua file kecuali file ‘html‘ sekaligus, dengan cara yang cerdas menggunakan perintah rm.

rm -r !(*.html)

Hanya untuk memverifikasi, eksekusi terakhir. Daftar semua file yang tersedia menggunakan perintah ls.

ls 

a.html  b.html

6. AND – OR operator (&& – ||) – Eksekusi Perintah Bersyarat

Operator di atas merupakan gabungan dari Operator ‘AND‘ dan ‘OR‘. Ini mirip dengan pernyataan ‘if-else‘.

Misalnya kita lakukan ping ke linux-console.net, jika berhasil echo ‘Terverifikasi‘ else echo ‘Host Down‘.

ping -c3 linux-console.net && echo "Verified" || echo "Host Down"

Contoh Keluaran:

PING linux-console.net (212.71.234.61) 56(84) bytes of data. 
64 bytes from linux-console.net (212.71.234.61): icmp_req=1 ttl=55 time=216 ms 
64 bytes from linux-console.net (212.71.234.61): icmp_req=2 ttl=55 time=224 ms 
64 bytes from linux-console.net (212.71.234.61): icmp_req=3 ttl=55 time=226 ms 

--- linux-console.net ping statistics --- 
3 packets transmitted, 3 received, 0% packet loss, time 2001ms 
rtt min/avg/max/mdev = 216.960/222.789/226.423/4.199 ms 
Verified

Sekarang, putuskan koneksi internet Anda, dan coba perintah yang sama lagi.

ping -c3 linux-console.net && echo "verified" || echo "Host Down"

Contoh Keluaran:

ping: unknown host linux-console.net 
Host Down

7. Operator PIPA (|) – Pemrosesan Output yang Efisien

Operator PIPE ini sangat berguna dimana output dari perintah pertama bertindak sebagai input untuk perintah kedua. Misalnya, menyalurkan output dari 'ls -l' ke 'less' dan melihat output dari perintah tersebut.

ls -l | less

drwx------  tecmint tecmint  4.0 KB Thu Nov 16 12:03:02 2023 AnyDesk
drwxrwxr-x  tecmint tecmint  4.0 KB Tue Oct 10 10:44:35 2023 bin
drwxr-xr-x  root    root     4.0 KB Wed Nov 24 22:05:09 2021 DEBIAN
drwxrwxr-x  tecmint tecmint  4.0 KB Sat Nov 18 12:32:49 2023 Desktop
drwx--x---+ tecmint tecmint  100 KB Fri Dec  8 12:00:49 2023 Downloads
drwxrwxr-x  tecmint tecmint  4.0 KB Wed Sep 13 10:25:07 2023 llpp
drwxrwxr-x  tecmint tecmint  4.0 KB Thu Nov 16 14:26:46 2023 MyImages
drwxrwxr-x  tecmint tecmint  4.0 KB Wed Sep 13 14:55:42 2023 Obsidian Vault
drwxrwxr-x  tecmint tecmint  4.0 KB Tue Oct 10 10:44:32 2023 opt
drwxrwxr-x  tecmint tecmint  4.0 KB Thu Nov 16 14:46:54 2023 php
drwxrwxr-x  tecmint tecmint  4.0 KB Thu Nov 16 15:54:33 2023 tar_examples
.rw-rw-r--  tecmint tecmint   73 KB Mon Sep 18 11:46:02 2023 Apache-Web-Server-Security.png
.rw-rw-r--  tecmint tecmint  2.2 KB Sun Oct 29 00:17:15 2023 ChatGPT-SEO-Prompts
.rw-rw-r--  tecmint tecmint   41 KB Thu Nov 23 11:34:33 2023 Create-Users-in-Linux.png
...

8. Operator Kombinasi Perintah {}

Gabungkan dua atau lebih perintah, perintah kedua bergantung pada eksekusi perintah pertama.

Misalnya, periksa apakah direktori 'bin' tersedia atau tidak, dan keluarkan keluaran yang sesuai.

[ -d bin ] || { echo Directory does not exist, creating directory now.; mkdir bin; } && echo Directory exists.

9. Operator Prioritas() – Mengelola Perintah Eksekusi Perintah

Operator () memungkinkan untuk menjalankan perintah dalam urutan prioritas.

Command_x1 &&Command_x2 || Command_x3 && Command_x4.

Pada perintah semu di atas, bagaimana jika Command_x1 gagal? Tak satu pun dari Command_x2, Command_x3, Command_x4 yang akan dieksekusi, untuk ini kami menggunakan Precedence Operator, sebagai:

(Command_x1 &&Command_x2) || (Command_x3 && Command_x4)

Pada perintah semu di atas, jika Command_x1 gagal, Command_x2 juga gagal tetapi Masih Command_x3 dan Command_x4 dijalankan tergantung pada status keluar dari Command_x3.

10. Operator Penggabungan (\) – Penggabungan Perintah Multiline

Operator Penggabungan (\) sesuai dengan namanya, digunakan untuk menggabungkan perintah besar pada beberapa baris di shell. Misalnya, Perintah di bawah ini akan membuka file teks test(1).txt.

nano test\(1\).txt

Itu saja untuk saat ini. Saya akan segera membuat artikel menarik lainnya. Sampai saat itu. Tetaplah terhubung, sehat, dan terhubung dengan Tecmint. Jangan lupa untuk memberikan tanggapan Anda yang berharga di bagian komentar kami.