GNU/Linux >> Belajar Linux >  >> Linux

Cara Menggunakan Pipes dan Named Pipes di Linux (dengan Contoh)

Salah satu operator shell yang paling kuat di Linux adalah pipa. Dalam artikel ini, kita akan melihat cara kerja pipa biasa dan pipa bernama, cara menggunakannya, dan perbedaannya satu sama lain.

Pipes adalah salah satu kemampuan baris perintah paling berharga dari sistem operasi Linux dan mirip Unix. Pipa digunakan dalam berbagai aplikasi. Jika Anda melihat artikel baris perintah Linux, Anda akan melihat bahwa pipa sering muncul.

Simbol batang vertikal | menunjukkan pipa. Karena pipa, Anda dapat mengambil output dari satu perintah dan memasukkannya ke perintah lain sebagai input.

Akibatnya, output dari satu perintah dapat digunakan sebagai input untuk perintah lain, dan output dari perintah tersebut dapat digunakan sebagai input untuk perintah berikutnya, dan seterusnya.

Jadi Anda tidak terbatas pada satu perintah pipa. Anda dapat menumpuknya sebanyak yang Anda suka.

Dengan kata lain, pipa adalah bentuk pengalihan yang digunakan di Linux untuk mengirim output dari satu program ke program lain untuk diproses lebih lanjut. Pipa memungkinkan Anda melakukan operasi yang tidak didukung shell secara langsung.

Sintaks untuk perintah pipe atau pipa tanpa nama adalah | karakter antara dua perintah:

command1 | command2 | ... | commandN

Bagaimana Cara Kerja Pipa di Linux

Untuk melihat cara kerja pipa, mari kita lihat contoh di bawah ini.

Kami memiliki direktori yang penuh dengan berbagai jenis file. Jadi kami ingin mengetahui berapa banyak file dari jenis tertentu dalam direktori ini.

Jadi kita bisa mendapatkan daftar file dengan mudah menggunakan ls perintah:

ls -l

Kami akan menggunakan grep untuk memisahkan jenis file yang kami cari. Misalnya, kami mencari file dengan kata txt dalam nama mereka atau sebagai ekstensi file.

Kami akan menggunakan karakter shell khusus | untuk mengarahkan ls ' output ke grep .

ls | grep txt

Seperti yang Anda lihat dari gambar di atas, output dari ls perintah tidak dikirim ke jendela terminal.

Oleh karena itu hasilnya tidak ditampilkan di layar. Alih-alih, alih-alih diarahkan ke input grep memerintah. Output yang kita lihat di atas berasal dari grep , perintah terakhir dalam rantai ini.

Sekarang, mari kita mulai memperluas rantai kita. Kami dapat menghitung file txt dengan menambahkan wc perintah ke rantai. Kami akan menggunakan -l opsi (jumlah baris) dengan wc .

ls | grep txt | wc -l

Pada contoh di atas, grep bukan lagi perintah terakhir dalam rantai, jadi kami tidak melihat hasilnya. Sebagai gantinya, output dari grep dimasukkan ke dalam wc perintah.

Hasil yang kita lihat di jendela terminal berasal dari wc . Ini melaporkan dua file, txt dalam direktori.

Apa Itu Named Pipe di Linux?

Seperti namanya sendiri, ini adalah pipa dengan nama. Salah satu perbedaan utama antara pipa biasa dan&pipa bernama adalah bahwa pipa bernama ada di sistem file . Artinya, mereka muncul seperti file.

Pipa bernama di Linux adalah metode untuk melewatkan informasi dari satu proses komputer ke komputer lain menggunakan pipa yang diberi nama tertentu. Pipa bernama juga dikenal sebagai FIFO, yang merupakan singkatan dari First In, First Out .

Anda dapat membuat pipa bernama menggunakan mkfifo memerintah. Misalnya:

mkfifo mypipe

Anda dapat mengetahui apakah suatu file adalah pipa bernama dengan p bit di bagian izin file.

ls -l mypipe
prw-r--r--  1 root     root         0 Mar 20 12:58 mypipe

Pipa bernama adalah file pada sistem file itu sendiri. Tidak seperti pipa standar, pipa bernama diakses sebagai bagian dari sistem file, sama seperti jenis file lainnya.

Konten pipa bernama berada di memori daripada ditulis ke disk. Jadi itu dilewatkan hanya ketika kedua ujung pipa telah dibuka. Dan Anda dapat menulis ke pipa beberapa kali sebelum dibuka di ujung yang lain dan membaca.

Menggunakan pipa bernama memungkinkan Anda membuat proses di mana satu proses menulis ke pipa, dan proses lain membaca dari pipa tanpa banyak perhatian tentang mencoba mengatur waktu atau hati-hati mengatur interaksi mereka.

Untuk melihat cara kerja pipa bernama, mari kita lihat contoh di bawah ini. Pertama-tama mari kita buat pipa bernama kita:

mkfifo mypipe

Sekarang mari kita konsumsi pesan dengan pipa ini.

tail -f mypipe

Buka jendela terminal lain, tulis pesan ke pipa ini:

echo "hi" >> mypipe

Sekarang di jendela pertama, Anda dapat melihat "hai" tercetak:

tail -f pipe1
hi

Karena itu adalah pipa dan pesan telah dikonsumsi, jika kami memeriksa ukuran file, Anda dapat melihatnya masih 0:

ls -l mypipe
prw-r--r-- 1 root root 0 Mar 20 14:11 mypipe

Karena pipa bernama hanyalah file Linux, kita dapat menggunakan perintah rm untuk menghapusnya. Oleh karena itu, untuk menghapus pipa yang kita buat pada contoh sebelumnya, kita akan menjalankan:

rm mypipe

Kapan Menggunakan Pipa Reguler atau Bernama

Menggunakan pipa biasa alih-alih pipa bernama di Linux tergantung pada karakteristik yang kita cari. Beberapa dapat berupa ketekunan, komunikasi dua arah, memiliki nama file, membuat filter, dan membatasi izin akses.

Misalnya, jika kita ingin memfilter output dari suatu perintah beberapa kali, menggunakan pipa anonim tampaknya merupakan opsi yang paling tepat.

Di sisi lain, jika kita membutuhkan nama file dan kita tidak ingin menyimpan data di disk, yang kita cari adalah pipa bernama.

Kesimpulannya, lain kali Anda bekerja dengan perintah di terminal Linux dan mendapati diri Anda memindahkan data antar perintah, semoga, sebuah pipa akan membuat prosesnya cepat dan mudah.

Kesimpulan

Artikel ini menunjukkan kepada Anda keserbagunaan pipa saat digunakan dalam perintah Linux. Namun, ini relatif sederhana, tetapi dapat menyelesaikan berbagai pertanyaan rumit.

Selain itu, alat baris perintah ini sederhana dan berfungsi dengan platform UNIX dan Linux.

Untuk informasi lebih lanjut tentang pipe perintah di Linux, lihat halaman manualnya.


Linux
  1. Cara Menggunakan Perintah Hexdump Linux dengan Contoh Praktis

  2. Cara Menggunakan Perintah Sed di Linux dengan Contoh

  3. Perintah SCP di Linux:Cara Menggunakannya, dengan Contoh

  1. Cara Menggunakan Perintah RMmod Di Linux Dengan Contoh

  2. Cara Menggunakan Perintah Dig di Linux dengan Contoh

  3. Cara Menggunakan Perintah Shutdown dan Reboot Linux dengan Contoh

  1. Pengantar pipa dan pipa bernama di Linux

  2. Cara menggunakan Perintah Shutdown Linux dengan Contoh

  3. Cara Menggunakan Perintah w di Linux dengan Contoh