ท่อเทียบกับการเปลี่ยนเส้นทาง


23

ฉันใช้ไพพ์และการเปลี่ยนเส้นทางมาเป็นเวลานานและเพิ่งรู้ว่าฉันไม่รู้ว่ามันแตกต่างกันอย่างไร ฉันเพิ่งรู้ว่าถ้าคุณต้องการเก็บผลลัพธ์ในไฟล์คุณก็ใช้> มิฉะนั้นคุณจะใช้ | บางคนสามารถอธิบายความแตกต่างระหว่างไพพ์และการเปลี่ยนเส้นทางได้หรือไม่


คำตอบ:


25

ทั้งสองทำสิ่งพื้นฐานเดียวกัน พวกเขาเปลี่ยนเส้นทางบ่งไฟล์ของกระบวนการดำเนินการ ความแตกต่างอยู่ที่อย่างไร ไพพ์เชื่อมต่อ stdout ของกระบวนการหนึ่งไปยัง stdin ของอีกกระบวนการหนึ่งในขณะที่การเปลี่ยนเส้นทางเปลี่ยนเส้นทางจาก / ไปยังไฟล์ ( >จาก stdout ไปยังไฟล์<จากไฟล์ไปยัง stdin)


1
เรียงลำดับความแตกต่างของพร่าเลือนในลินุกซ์และระบบอื่น ๆ /dev/fdที่มี ตัวอย่างเช่นถ้าคุณเรียกใช้ก็จะขยายตัวออกไปecho foo > >(somecommand) echo foo > /dev/fd/3มันยังคงเปลี่ยนเส้นทาง แต่ไปยังกระบวนการ
user1686
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.