Perintah Linux

Perintah pipa Linux

Perintah pipa Linux
Perintah “pipe” ini sudah tersedia di platform UNIX/Linux. Perintah ini menyalurkan output dari perintah sebelumnya ke perintah berikutnya. Ada BANYAK situasi di mana metode ini menawarkan nilai yang serius serious.Sebelum melompat lebih dalam, ada sesuatu yang perlu diketahui. Setiap program dalam sistem UNIX/Linux memiliki 3 aliran data bawaan.

Ketika kita akan bekerja dengan trik "pipa", "pipa" akan mengambil STDOUT dari sebuah perintah dan meneruskannya ke STDIN dari perintah berikutnya.

Mari kita lihat beberapa cara paling umum untuk memasukkan perintah "pipa" ke dalam penggunaan sehari-hari Anda.

Perintah pipa

Penggunaan dasar

Lebih baik untuk menguraikan cara kerja "pipa" dengan contoh langsung, kan? Mari kita mulai. Perintah berikut akan memberi tahu "pacman", manajer paket default untuk Arch dan semua distro berbasis Arch, untuk mencetak semua paket yang diinstal pada sistem.

pacman -Qqe

Ini daftar paket yang sangat PANJANG. Bagaimana, tentang mengambil hanya beberapa komponen? Kita bisa menggunakan "grep". tapi bagaimana caranya? Salah satu caranya adalah membuang output ke file sementara, "grep" output yang diinginkan dan hapus file. Serangkaian tugas ini, dengan sendirinya, dapat diubah menjadi skrip. Tapi kami hanya membuat skrip untuk hal-hal yang sangat besar. Untuk tugas ini, mari kita panggil kekuatan "pipa"!

pacman -Qqe | grep

Luar biasa, bukan?? "|" tanda adalah panggilan ke perintah "pipa"”. Ini mengambil STDOUT dari bagian kiri dan memasukkannya ke STDIN dari bagian kanan.

Dalam contoh di atas, perintah "pipe" benar-benar melewati output di akhir bagian "grep". Begini cara memainkannya.

pacman -Qqe > ~/Desktop/pacman_package.txt
grep python ~/Desktop/pacman_package.txt

Beberapa pipa

Pada dasarnya, tidak ada yang istimewa dengan penggunaan lanjutan dari perintah "pipa". Terserah Anda tentang cara menggunakannya.

Misalnya, mari kita mulai dengan menumpuk banyak pipa.

pacman -Qqe | grep p | grep t | grep py

Output perintah pacman difilter lebih jauh dan lebih jauh oleh "grep" melalui serangkaian pemipaan.

Terkadang, saat kita bekerja dengan konten file, itu bisa sangat, sangat besar. Menemukan tempat yang tepat untuk entri yang kita inginkan bisa jadi sulit. Mari kita cari semua entri yang menyertakan angka 1 dan 2.

demo kucing.txt | grep -n 1 | grep -n 2

Memanipulasi daftar file dan direktori

Apa yang harus dilakukan ketika Anda berurusan dengan direktori dengan BANYAK file di dalamnya?? Sangat menjengkelkan untuk menggulir seluruh daftar. Tentu, mengapa tidak membuatnya lebih tertahankan dengan pipa? Dalam contoh ini, mari kita periksa daftar semua file di folder “/usr/bin”.

ls -l | lebih

Di sini, "ls" mencetak semua file dan infonya. Kemudian, "pipa" meneruskannya ke "lebih" untuk bekerja dengan itu. Jika Anda tidak tahu, "lebih" adalah alat yang mengubah teks menjadi satu tampilan layar sekaligus. Namun, ini adalah alat lama dan menurut dokumentasi resmi, "kurang" lebih disarankan.

ls -l /usr/bin | kurang

menyortir keluaran

Ada alat "sort" bawaan yang akan mengambil input teks dan menyortirnya. Alat ini adalah permata yang nyata jika Anda bekerja dengan sesuatu yang sangat berantakan. Misalnya, saya mendapatkan file ini penuh dengan string acak.

demo kucing.txt

Cukup pipa ke "sort".

demo kucing.txt | menyortir

Itu lebih baik!

Mencetak kecocokan dengan pola tertentu

ls -l | Temukan ./ -ketik f -nama "*.txt" -exec grep 00110011 \;

Ini adalah perintah yang cukup bengkok, kan? Pada awalnya, "ls" menampilkan daftar semua file di direktori. Alat "temukan" mengambil output, mencari ".txt" dan memanggil "grep" untuk mencari "00110011". Perintah ini akan memeriksa setiap file teks dalam direktori dengan ekstensi TXT dan mencari kecocokannya.

Cetak konten file dengan rentang tertentu

Saat Anda bekerja dengan file besar, biasanya Anda perlu memeriksa konten dengan rentang tertentu. Kita bisa melakukannya dengan kombinasi cerdas dari "kucing", "kepala", "ekor" dan tentu saja, "pipa". Alat "kepala" menampilkan bagian pertama dari konten dan "ekor" menampilkan bagian terakhir last.

kucing | kepala -6

kucing | ekor -6

Nilai unik

Saat bekerja dengan output duplikat, itu bisa sangat mengganggu. Terkadang, input duplikat dapat menyebabkan masalah serius. Dalam contoh ini, mari kita melemparkan "uniq" pada aliran teks dan menyimpannya ke dalam file terpisah.

Misalnya, ini adalah file teks yang berisi daftar besar angka yang panjangnya 2 digit. Pasti ada duplikat konten di sini, kan?

duplikat kucing.txt | menyortir

Sekarang, mari kita lakukan proses penyaringan.

duplikat kucing.txt | urutkan | unik > unik.txt

Lihat outputnya.

kelelawar unik.txt

Terlihat lebih baik!

Pipa kesalahan

Ini adalah metode perpipaan yang menarik. Metode ini digunakan untuk mengarahkan STDERR ke STDOUT dan melanjutkan dengan pemipaan. Ini dilambangkan dengan simbol “|&” (tanpa tanda kutip). Misalnya, mari buat kesalahan dan kirim hasilnya ke beberapa alat lain. Dalam contoh ini, saya baru saja mengetik beberapa perintah acak dan meneruskan kesalahan ke "grep".

adsfds |& grep n

Pikiran terakhir

Sementara "pipa" itu sendiri cukup sederhana, cara kerjanya menawarkan cara yang sangat serbaguna untuk memanfaatkan metode ini dengan cara yang tak terbatas. Jika Anda menyukai skrip Bash, maka itu jauh lebih berguna. Terkadang, Anda bisa melakukan hal-hal gila secara langsung! Pelajari lebih lanjut tentang skrip Bash.

Cara Menginstal League Of Legends di Ubuntu 14.04
Jika Anda adalah penggemar League of Legends, maka ini adalah kesempatan bagi Anda untuk menguji coba League of Legends. Perhatikan bahwa LOL didukung...
Instal Game Strategi OpenRA terbaru di Ubuntu Linux
OpenRA adalah mesin game Strategi Waktu Nyata Libre/Gratis yang membuat ulang game Westwood awal seperti Command & Conquer klasik: Red Alert. Mod yang...
Instal Dolphin Emulator terbaru untuk Gamecube & Wii di Linux
Dolphin Emulator memungkinkan Anda memainkan game Gamecube & Wii pilihan Anda di Komputer Pribadi (PC) Linux. Menjadi emulator game sumber terbuka da...