ฮาร์ดแวร์

ท่อ Linux และการเปลี่ยนเส้นทาง

สารบัญ:

Anonim

หลายคนรู้อยู่แล้วว่าใน Linux เทอร์มินัลนั้นมีเครื่องมือที่มีค่าสำหรับเราในการปรับแต่งและเพิ่มประสิทธิภาพผลลัพธ์ที่เราแสวงหา ในบทความนี้เราใช้ประโยชน์จากการสอนวิธีใช้การเปลี่ยนเส้นทางและท่อ และมันก็คือขั้วกลายเป็นกล่องที่มีสาธารณูปโภคที่เหลือเชื่อ มันทำให้เรามีคำสั่งและเครื่องมือมากมายที่ช่วยให้เราทำงานประจำวันของเราในแต่ละวัน

ดัชนีเนื้อหา

การเปลี่ยนเส้นทางและไพพ์ใน Linux

แนวคิดพื้นฐาน

ก่อนที่จะอธิบายว่าท่อคืออะไรและมีความสำคัญ (ส่วนที่สนุก) เราต้องมีความชัดเจนเกี่ยวกับแนวคิดพื้นฐานสามประการใน Linux: อินพุตมาตรฐานเอาต์พุตมาตรฐานและข้อผิดพลาดมาตรฐาน

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

เอาต์พุตมาตรฐาน: เป็นวิธีที่แอปพลิเคชันใช้เพื่อแสดงข้อมูลเกี่ยวกับกระบวนการและ / หรือผลลัพธ์ซึ่งอาจเป็นข้อความธรรมดาประกาศเกี่ยวกับความคืบหน้าหรือไฟล์ที่มีข้อมูลที่มีโครงสร้างเช่นการแก้ปัญหากระบวนการ (รายงานเป็นต้น) ในเทอร์มินัลจะแสดงเป็นประเภท 1

ข้อผิดพลาดมาตรฐาน: เป็นวิธีที่แอปพลิเคชันแจ้งให้เราทราบเกี่ยวกับปัญหาที่อาจเกิดขึ้นในขณะที่มีการดำเนินการ มันจะแสดงเป็นประเภท 2 ในอาคาร

ทุกประเภทถูกแสดงเป็นฟิสิคัลไฟล์ในระบบเนื่องจากเมื่อคุณต้องอ่านโพสต์ก่อนหน้านี้ใน Linux ทุกอย่างจะเป็นไฟล์

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

ตอนนี้การเปลี่ยนเส้นทางคืออะไร

การเปลี่ยนเส้นทางประกอบด้วยการย้ายข้อมูลจากประเภทหนึ่งไปยังอีกประเภทหนึ่ง (ประเภทที่กล่าวถึงข้างต้น) ตัวอย่างเช่นจากข้อผิดพลาดมาตรฐานไปยังเอาต์พุตมาตรฐานหรือจากเอาต์พุตมาตรฐานไปยังอินพุตมาตรฐาน ผ่านเทอร์มินัลเราทำได้โดยใช้สัญลักษณ์>

เปลี่ยนเส้นทางเอาต์พุตและข้อผิดพลาดมาตรฐาน

ตัวอย่างเช่นหากต้องการเปลี่ยนทิศทางเอาต์พุตของคำสั่งและส่งไปยังไฟล์ เราแค่ต้องดำเนินการ:

ls -la ~> (ชื่อไฟล์)

อย่างไรก็ตามหากเราดำเนินการในลักษณะนี้เนื้อหาของไฟล์ของเราจะถูกแทนที่ทุกครั้งด้วยเอาต์พุตคำสั่ง หากสิ่งที่เราต้องการคือการเพิ่มเอาท์พุทนี้ไปยังไฟล์การดำเนินการจะเป็นดังนี้:

ls -la ~ >> (ชื่อไฟล์)

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

ใบสมัคร 2 >> & 1

โดยที่ 2 หมายถึงข้อผิดพลาดมาตรฐานและ & 1 หมายถึงเอาต์พุตมาตรฐาน

นอกจากนี้เรายังสามารถละทิ้งข้อผิดพลาดมาตรฐานในกระบวนการบางอย่างซึ่งเป็นเรื่องปกติในการจัดการระบบ สำหรับสิ่งนี้เราดำเนินการ:

แอปพลิเคชั่น 2> / dev / null

แม้แต่ทิ้งเอาต์พุตมาตรฐาน:

แอปพลิเคชัน> / dev / null

ตั้งแต่ใน Linux ไฟล์ / dev / null เป็นไฟล์พิเศษที่ข้อมูลถูกส่งไปทิ้ง

เปลี่ยนเส้นทางอินพุต

ในทำนองเดียวกันกับที่เราเปลี่ยนเส้นทางเอาต์พุตและข้อผิดพลาดมาตรฐานเราสามารถทำได้ด้วย อินพุตมาตรฐานจากไฟล์และด้วยเหตุนี้เราจึงใช้โอเปอเรเตอร์ <

เราขอแนะนำให้คุณรู้จักเบราว์เซอร์ Linux ที่รู้จักกันดี

สิ่งนี้มีประโยชน์ในคำสั่งหรือโปรแกรมที่มีการป้อนอาร์กิวเมนต์ด้วยคีย์บอร์ดในลักษณะที่เราสามารถแทนที่ด้วยไฟล์ตัวอย่างเช่น

echo "Hello world"> ทักทายแมว <ทักทาย Hello world

ลองดูที่: คำสั่ง Linux: รู้จักและจัดการระบบ

ท่อ

หลังจากเข้าใจการทำงานของการเปลี่ยนเส้นทางแนวคิดของท่อจะค่อนข้างง่าย ท่ามกลางหลักการของปรัชญา Unix เรามีความจริงที่ว่ามีแอปพลิเคชั่นขนาดเล็กที่รับผิดชอบงานเฉพาะอย่างมากและทำงานร่วมกันที่ซับซ้อน การปฏิบัติตามหลักการนี้ จะต้องมีวิธีที่ชุดของแอปพลิเคชันในการโต้ตอบซึ่งกันและกัน นี่คือที่ซึ่งท่อที่เรียกว่าเกิดขึ้น

Pipelines เป็นการเปลี่ยนเส้นทางชนิดพิเศษที่อนุญาตให้คุณส่งเอาต์พุตมาตรฐานของคำสั่งหนึ่งเป็นอินพุตมาตรฐานของอีกคำสั่งหนึ่ง วิธีที่จะเป็นตัวแทนของมันคือ ด้วยสัญลักษณ์ (ท่อ) ประโยชน์หลักของมันคือให้เรามีความเป็นไปได้ในการเชื่อมคำสั่งซึ่งทำให้การเขียนโปรแกรมสมบูรณ์ยิ่งขึ้น

ตัวอย่างที่ง่ายและมีประโยชน์มากคือการดูกระบวนการที่ทำงานบนระบบที่มี ps และเปลี่ยนเส้นทางเอาต์พุตเพื่อ เรียงลำดับ เพื่อ จัดเรียง ตาม PID:

ps -a | ประเภท

อย่างที่คุณเห็นการเปลี่ยนเส้นทางและไพพ์เป็นแนวคิดพื้นฐานของ Linux และเราควรจัดการอย่างแน่นอน ด้วยวิธีนี้คุณจะรู้สึกสะดวกสบายมากขึ้นในอาคารผู้โดยสาร

บอกเราในความคิดเห็นคุณจะใช้หรือใช้การเปลี่ยนเส้นทางและไพพ์สำหรับเทอร์มินัล

ฮาร์ดแวร์

ตัวเลือกของบรรณาธิการ

Back to top button