ท่อ Linux และการเปลี่ยนเส้นทาง
สารบัญ:
- การเปลี่ยนเส้นทางและไพพ์ใน Linux
- แนวคิดพื้นฐาน
- การเปลี่ยนเส้นทาง
- เปลี่ยนเส้นทางเอาต์พุตและข้อผิดพลาดมาตรฐาน
- เปลี่ยนเส้นทางอินพุต
- ท่อ
หลายคนรู้อยู่แล้วว่าใน 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 และเราควรจัดการอย่างแน่นอน ด้วยวิธีนี้คุณจะรู้สึกสะดวกสบายมากขึ้นในอาคารผู้โดยสาร
บอกเราในความคิดเห็นคุณจะใช้หรือใช้การเปลี่ยนเส้นทางและไพพ์สำหรับเทอร์มินัล
Linux mint 18.1 serena พร้อมใช้งานสำหรับชุมชน linux
หากคุณมี Linux Mint 18.0 อยู่แล้วคุณสามารถอัปเดตเป็นเวอร์ชั่นนี้ได้อย่างง่ายดายจากตัวจัดการการอัปเดตเป็น Linux Mint 18.1 Serena
Linux aio ubuntu 16.10 พร้อมใช้งานกับชุมชน linux
Linux AIO Ubuntu เป็น Linux รุ่นพิเศษที่มี Ubuntu หลายระบบปฏิบัติการที่ได้รับความนิยมมากที่สุดในโลก
วิธีการติดตั้งและกำหนดค่า virtualbox ใน linux: debian, Ubuntu, linux mint ...
การสอนในภาษาสเปนที่เราจะแสดงวิธีการติดตั้ง VirtualBox ในการกระจาย Linux ของเราในวิธีที่ง่ายมาก