Perintah Linux

Perintah paip Linux

Perintah paip Linux
Perintah "pipa" ini tersedia di platform UNIX / Linux. Perintah ini menyalurkan output dari arahan sebelumnya ke perintah seterusnya. Terdapat banyak situasi di mana kaedah ini memberikan nilai yang serius.Sebelum melompat lebih dalam, ada yang perlu diketahui. Setiap program dalam sistem UNIX / Linux mempunyai 3 aliran data terbina dalam.

Apabila kita akan bekerja dengan trik "paip", "paip" akan mengambil STDOUT arahan dan menyebarkannya ke STDIN arahan seterusnya.

Mari kita periksa beberapa cara yang paling biasa untuk memasukkan perintah "paip" ke dalam penggunaan harian anda.

Perintah paip

Penggunaan asas

Lebih baik menghuraikan kaedah kerja "paip" dengan contoh langsung, betul? Mari kita mulakan. Perintah berikut akan memberitahu "pacman", pengurus pakej lalai untuk Arch dan semua distro berasaskan Arch, untuk mencetak semua pakej yang dipasang pada sistem.

pacman -Qqe

Ini senarai pakej yang sangat PANJANG. Bagaimana, dengan mengambil beberapa komponen sahaja? Kita boleh menggunakan "grep". Tetapi bagaimana? Salah satu cara adalah membuang output ke fail sementara, "grep" output yang diinginkan dan menghapus fail. Rangkaian tugas ini, dengan sendirinya, dapat diubah menjadi skrip. Tetapi kami hanya membuat skrip untuk perkara yang sangat besar. Untuk tugas ini, mari kita memanggil kekuatan "paip"!

pacman -Qqe | grep

Hebat, bukan?? The "|" tanda adalah panggilan ke perintah "paip". Ia mengambil STDOUT dari bahagian kiri dan memasukkannya ke STDIN bahagian kanan.

Dalam contoh yang disebutkan di atas, perintah "paip" benar-benar meneruskan output pada akhir bahagian "grep". Beginilah kaedahnya.

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

Pelbagai paip

Pada dasarnya, tidak ada yang istimewa dengan penggunaan perintah "paip" yang lebih maju. Tergantung sepenuhnya kepada anda bagaimana menggunakannya.

Sebagai contoh, mari kita mulakan dengan menyusun pelbagai paip.

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

Output perintah pacman disaring lebih jauh dan lebih jauh oleh "grep" melalui rangkaian perpaipan.

Kadang-kadang, semasa kita bekerja dengan kandungan fail, ia sangat besar. Menjumpai tempat yang betul dari entri yang diinginkan boleh menjadi sukar. Mari cari semua entri yang merangkumi digit 1 dan 2.

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

Memanipulasi senarai fail dan direktori

Apa yang perlu dilakukan semasa anda berurusan dengan direktori dengan TONS fail di dalamnya? Cukup menjengkelkan untuk menelusuri keseluruhan senarai. Pasti, mengapa tidak membuatnya lebih tahan dengan paip? Dalam contoh ini, mari lihat senarai semua fail dalam folder "/ usr / bin".

ls -l | lebih banyak lagi

Di sini, "ls" mencetak semua fail dan maklumatnya. Kemudian, "paip" menyebarkannya ke "lebih banyak" untuk bekerja dengannya. Sekiranya anda tidak tahu, "lebih" adalah alat yang mengubah teks menjadi satu paparan skrining pada satu masa. Namun, ini adalah alat lama dan menurut dokumentasi rasmi, "kurang" lebih disarankan.

ls -l / usr / bin | kurang

Menyusun output

Terdapat alat “sort” bawaan yang akan mengambil input teks dan menyelesaikannya. Alat ini adalah permata sebenar jika anda bekerja dengan sesuatu yang sangat tidak kemas. Sebagai contoh, saya mendapat fail ini dengan rentetan rawak.

demo kucing.txt

Cukup paipkan untuk "menyusun".

demo kucing.txt | mengurut

Itu lebih baik!

Mencetak padanan corak tertentu

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

Ini adalah arahan yang cukup berpusing, betul? Pada mulanya, "ls" mengeluarkan senarai semua fail dalam direktori. Alat "cari" mengambil output, mencari ".txt "fail dan memanggil" grep "untuk mencari" 00110011 ". Perintah ini akan memeriksa setiap fail teks dalam direktori dengan peluasan TXT dan mencari yang sesuai.

Mencetak kandungan fail dari julat tertentu

Semasa anda bekerja dengan fail besar, biasanya perlu memeriksa kandungan julat tertentu. Kita dapat melakukannya hanya dengan kombo pintar "kucing", "kepala", "ekor" dan tentu saja, "paip". Alat "kepala" mengeluarkan bahagian pertama dari isi dan "ekor" mengeluarkan bahagian terakhir.

kucing | kepala -6

kucing | ekor -6

Nilai unik

Apabila bekerja dengan output pendua, ia boleh menjengkelkan. Kadang kala, input pendua boleh menyebabkan masalah serius. Dalam contoh ini, mari masukkan "uniq" pada aliran teks dan simpan ke dalam fail yang berasingan.

Sebagai contoh, berikut adalah fail teks yang mengandungi senarai nombor besar yang panjangnya 2 digit. Pasti ada kandungan pendua di sini, betul?

pendua kucing.txt | mengurut

Sekarang, mari kita lakukan proses penapisan.

pendua kucing.txt | urutkan | uniq> unik.txt

Lihat outputnya.

kelawar unik.txt

Nampak lebih baik!

Paip ralat

Ini adalah kaedah paip yang menarik. Kaedah ini digunakan untuk mengarahkan STDERR ke STDOUT dan meneruskan piping. Ini dilambangkan dengan simbol "| &" (tanpa tanda petik). Sebagai contoh, mari buat ralat dan hantarkan output ke beberapa alat lain. Dalam contoh ini, saya baru sahaja menaip beberapa arahan rawak dan meneruskan kesalahan ke "grep".

adsfds | & grep n

Pemikiran terakhir

Walaupun "pipa" itu sendiri cukup sederhana, cara kerjanya menawarkan cara penggunaan kaedah yang sangat serba boleh dengan cara yang tidak terbatas. Sekiranya anda menyukai skrip Bash, maka ia lebih berguna. Kadang-kadang, anda boleh melakukan perkara-perkara gila secara terang-terangan! Ketahui lebih lanjut mengenai skrip Bash.

5 Kad Tangkap Permainan Teratas
Kita semua telah melihat dan menyukai streaming permainan permainan di YouTube. PewDiePie, Jakesepticye, dan Markiplier hanyalah beberapa pemain terat...
Cara Membangunkan Permainan di Linux
Satu dekad yang lalu, tidak banyak pengguna Linux akan meramalkan bahawa sistem operasi kegemaran mereka suatu hari nanti akan menjadi platform permai...
Port Sumber Terbuka Mesin Permainan Komersial
Rekreasi enjin permainan sumber terbuka dan bebas platform boleh digunakan untuk bermain lama dan juga beberapa tajuk permainan yang baru-baru ini. Ar...