เวิร์กสเตชันออนไลน์ของ OnWorks Linux และ Windows

โลโก้

ฟรีโฮสติ้งออนไลน์สำหรับเวิร์กสเตชัน

<ก่อนหน้านี้ | เนื้อหา | ถัดไป>

ท่อ

ความสามารถของคำสั่งในการอ่านข้อมูลจากอินพุตมาตรฐานและส่งไปยังเอาต์พุตมาตรฐานนั้นใช้โดยคุณสมบัติเชลล์ที่เรียกว่า ท่อ. การใช้ตัวดำเนินการท่อ “|” (แถบแนวตั้ง) เอาต์พุตมาตรฐานของคำสั่งเดียวสามารถเป็น ท่อ ลงในอินพุตมาตรฐานของอีกอัน:



คำสั่ง1 | คำสั่ง2

คำสั่ง1 | คำสั่ง2


เพื่อแสดงให้เห็นสิ่งนี้ เราจำเป็นต้องมีคำสั่งบางอย่าง จำได้ไหมว่าเราพูดว่ามีคนที่เรารู้อยู่แล้วที่ยอมรับอินพุตมาตรฐาน? มันคือ น้อยลง. เราสามารถใช้ น้อยลง เพื่อแสดงแบบทีละหน้า เอาต์พุตของคำสั่งใดๆ ที่ส่งผลไปยังเอาต์พุตมาตรฐาน:



[me@linuxbox ~]$ ls -l /usr/bin | น้อย

[me@linuxbox ~]$ ls -l /usr/bin | น้อย


ภาพ

สิ่งนี้มีประโยชน์มาก! เมื่อใช้เทคนิคนี้ เราสามารถตรวจสอบเอาต์พุตของคำสั่งที่สร้างเอาต์พุตมาตรฐานได้อย่างสะดวก


ความแตกต่างระหว่าง > และ |

เมื่อมองแวบแรก อาจเป็นเรื่องยากที่จะเข้าใจการเปลี่ยนเส้นทางที่ดำเนินการโดยตัวดำเนินการไปป์ไลน์ | เทียบกับตัวดำเนินการเปลี่ยนเส้นทาง >. พูดง่ายๆ ก็คือ ตัวดำเนินการเปลี่ยนเส้นทางเชื่อมต่อคำสั่งกับไฟล์ในขณะที่ตัวดำเนินการไปป์ไลน์เชื่อมต่อเอาต์พุตของคำสั่งเดียวกับอินพุตของคำสั่งที่สอง

คำสั่ง1 > ไฟล์1 คำสั่ง1 | คำสั่ง2

ผู้คนจำนวนมากจะลองทำสิ่งต่อไปนี้เมื่อเรียนรู้เกี่ยวกับไปป์ไลน์ "เพื่อดูว่าจะเกิดอะไรขึ้น"

คำสั่ง1 > คำสั่ง2

คำตอบ: บางครั้งมีบางอย่างที่แย่จริงๆ



ภาพ

นี่คือตัวอย่างจริงที่ส่งมาโดยผู้อ่านซึ่งดูแลระบบเซิร์ฟเวอร์ที่ใช้ Linux ในฐานะ superuser เขาทำสิ่งนี้:

# ซีดี /usr/bin

# ls > น้อยกว่า

คำสั่งแรกทำให้เขาอยู่ในไดเร็กทอรีที่เก็บโปรแกรมส่วนใหญ่ไว้ และคำสั่งที่สองบอกให้เชลล์เขียนทับไฟล์ น้อยลง ด้วยผลลัพธ์ของ ls สั่งการ. ตั้งแต่ / usr / bin ไดเร็กทอรีมีไฟล์ชื่อ “less” แล้ว (the น้อยลง โปรแกรม) คำสั่งที่สองเขียนทับ น้อยลง ไฟล์โปรแกรมที่มีข้อความจาก ls จึงทำลาย น้อยลง โปรแกรมในระบบของเขา

บทเรียนในที่นี้คือ โอเปอเรเตอร์การเปลี่ยนเส้นทางจะสร้างหรือเขียนทับไฟล์อย่างเงียบๆ ดังนั้นคุณจึงต้องปฏิบัติต่อมันด้วยความเคารพอย่างยิ่ง


 

ระบบปฏิบัติการคลาวด์คอมพิวติ้งยอดนิยมที่ OnWorks: