pipa vs. arahan ulang


23

Saya telah menggunakan pipa dan pengalihan untuk waktu yang lama dan baru menyadari bahwa saya tidak tahu persis bagaimana perbedaannya. Saya hanya tahu bahwa jika Anda ingin menyimpan output dalam file, maka Anda menggunakan>. Kalau tidak, sebagian besar waktu Anda hanya menggunakan |. Adakah yang bisa menjelaskan perbedaan antara pipa dan arahan ulang?


Jawaban:


25

Keduanya melakukan hal dasar yang sama; mereka mengarahkan deskriptor file dari proses yang dieksekusi. Perbedaannya terletak pada bagaimana. Sebuah pipa menghubungkan stdout dari satu proses ke stdin yang lain, sedangkan pengalihan diarahkan dari / ke file ( >dari stdout ke file, <dari file ke stdin).


1
Perbedaannya agak kabur di Linux dan sistem lain yang ada /dev/fd. Misalnya, jika Anda menjalankan echo foo > >(somecommand), itu akan berkembang menjadi echo foo > /dev/fd/3. Ini masih pengalihan, tetapi untuk suatu proses.
user1686
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.