GNU/Linux >> Belajar Linux >  >> Linux

Pipes dan Redirection di Linux - Dijelaskan!

Saatnya untuk beberapa Dasar-dasar Linux. Karena hal terpenting dalam setiap bidang adalah:Luruskan Dasar-dasar Anda! Jadi mari kita bicara tentang Pipa dan Pengalihan di Linux .

Apa itu Pipes dan Redirection di Linux?

Pengalihan

Setiap proses di Linux memiliki setidaknya 3 saluran komunikasi yang tersedia:

  • Masukan Standar - STDIN
  • Keluaran Standar - STDOUT
  • Kesalahan Standar - STDERR

Kernel sendiri menyiapkan saluran tersebut atas nama proses. Prosesnya sendiri belum tentu tahu ke mana arahnya. Sebagian besar perintah Linux menerima masukan dari STDIN dan tulis keluaran di STDOUT . Pesan kesalahan ditulis ke STDERR . Ini memungkinkan Anda untuk menghubungkan perintah bersama-sama untuk membuat pipeline.

Shell menggunakan simbol ,> dan >> sebagai instruksi untuk mengubah rute instruksi dari input atau output perintah ke atau dari file. simbol menghubungkan STDIN . perintah dengan isi file yang ada. > dan >> pengalihan simbol STDOUT . > menggantikan konten file yang ada dan >> simbol ditambahkan padanya.

Mari kita lihat beberapa contoh.

Perintah berikut akan menyimpan teks yang Anda ketik di antara " " dalam sebuah file. Jika file tidak ada, itu akan dibuat.

echo "Test Message" > testmessage

Perintah berikutnya akan mengirim email dengan isi file itu, jadi hanya teks, bukan file itu sendiri, ke pengguna Peter.

mail -s "testmsg" peter < testmessage

Contoh dengan perintah find

Jika kami menggunakan perintah find, kami mendapatkan demonstrasi yang bagus tentang mengapa Anda ingin menangani STDOUT dan STDERR secara terpisah. Jika kita menjalankan perintah berikut:

find / -name core

Kami biasanya mendapatkan banyak pesan kesalahan Izin Ditolak. Untuk membuang semua pesan kesalahan tersebut, Anda dapat menjalankan perintah berikut sebagai gantinya:

find / -name core 2> /dev/null

Yang memberi kami hasil yang jauh lebih bersih.

Pipa

Jika kita ingin menghubungkan perintah tertentu, atau lebih khusus STDOUT dari satu perintah dan STDIN dari yang lain, kita dapat menggunakan simbol Pipe | untuk melakukannya. Mari kita lakukan sebuah contoh:

ls | head -4

Apa yang dilakukannya adalah menghubungkan perintah ls dengan perintah head melalui Pipe | . Artinya, ini menjalankan ls perintah dengan head -4 ekstensi, hanya mencantumkan 4 file pertama dari folder itu. Anda juga dapat melanjutkan dan menyalurkan perintah lain di akhir perintah ini.

Jika Anda ingin agar perintah kedua hanya dijalankan ketika yang pertama berhasil, Anda dapat menggunakan && simbol untuk itu. Misalnya:

lpr /tmp/test && rm /tmp/test

Hanya akan menghapus file uji jika pertama kali berhasil diantrekan untuk dicetak.

Di sisi lain, || perintah hanya akan menjalankan perintah kedua jika perintah pertama gagal.

Kesimpulan

Jika Anda bekerja dengan Linux secara teratur, mengetahui apa yang dilakukan Pipes dan Redirection di Linux sangat penting. Anda akan sering menggunakannya jika Anda perlu bekerja di Command Line. Saya akan membuat lebih banyak bit Dasar-dasar Linux yang lebih pendek di masa mendatang. Saya tidak ingin artikel-artikel tersebut menjadi terlalu panjang sehingga Anda dapat mengambil informasi dengan lebih mudah. Lihat juga beberapa Tutorial Linux &Open Source lainnya!


Linux
  1. Bekerja dengan Input Output dan Error Redirection di Linux

  2. Perintah Linux wc Dijelaskan untuk Pemula (6 Contoh)

  3. Pengalihan Io Dan Perintah Kepala?

  1. Perintah wc Linux

  2. Perintah grep Linux

  3. ln Contoh Perintah di Linux

  1. Pengantar pipa dan pipa bernama di Linux

  2. Perintah Ekor Linux

  3. Perintah Sentuh Linux