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?
23
Jawaban:
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).sumber
/dev/fd
. Misalnya, jika Anda menjalankanecho foo > >(somecommand)
, itu akan berkembang menjadiecho foo > /dev/fd/3
. Ini masih pengalihan, tetapi untuk suatu proses.