Contents

วิธีบันทึกเอาต์พุตบรรทัดคำสั่งเป็นไฟล์บน Windows, Mac และ Linux

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

คุณสามารถเปลี่ยนเส้นทางเอาต์พุตของคำสั่งในระบบปฏิบัติการของคุณไปยังไฟล์ข้อความที่ระบุได้โดยใช้การเปลี่ยนเส้นทางเอาต์พุตบนบรรทัดคำสั่ง ค้นพบวิธีการกำหนดทิศทางผลลัพธ์ของคำสั่งไปยังไฟล์ใน Windows, macOS และ Linux

เปลี่ยนเส้นทางเอาต์พุตบรรทัดคำสั่งไปยังไฟล์

ตัวดำเนินการ">“และตัวดำเนินการ”»“แม้ว่าทั้งสองจะมีจุดประสงค์ที่คล้ายคลึงกัน แต่สิ่งสำคัญคือต้องเข้าใจความแตกต่างเพื่อป้องกันข้อมูลสูญหายโดยไม่ได้ตั้งใจ

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

ขั้นแรก ป้อนคำสั่งที่ต้องการ ต่อมาใช้สัญลักษณ์มากกว่า’>‘หรือลูกศรขวา’»‘ขึ้นอยู่กับว่าคุณต้องการเขียนทับไฟล์ที่มีอยู่หรือผนวกเนื้อหาตามลำดับ สุดท้าย ระบุพาธของไฟล์ที่คุณต้องการ เพื่อส่งออกไปทิศทาง เพื่อเป็นภาพประกอบ ให้พิจารณาบันทึกรายการที่แสดงโดย

 ls > /path/to/file 

แก้ไขไฟล์ที่อยู่ใน “/path/to/file” โดยระบุเส้นทางที่สมบูรณ์เพื่อทดแทน

ในการเข้าถึงเนื้อหาของไฟล์ใดไฟล์หนึ่งภายในสภาพแวดล้อมเทอร์มินัลของคุณ ผู้ใช้อาจใช้คำสั่ง “cat” ร่วมกับข้อกำหนดเฉพาะของเส้นทางไดเร็กทอรีทั้งหมดที่นำไปสู่ไฟล์ดังกล่าว สิ่งสำคัญคือต้องทราบว่าควรแทนที่ “/path/to/file” ด้วยการแสดงตำแหน่งของไฟล์ที่ถูกต้องเพื่อการดำเนินการที่เหมาะสม

 cat /path/to/file 

คุณควรสังเกตผลลัพธ์ของคำสั่งภายในเอกสารที่อัปเดตของคุณ:

/th/images/redirecting-ouput-of-ls-into-a-file.jpg

สัญลักษณ์”>“ใช้เพื่อเขียนทับเนื้อหาของไฟล์ที่มีอยู่ด้วยเอาต์พุตที่สร้างโดยคำสั่งหรือชุดคำสั่ง ในทางกลับกัน หากคุณต้องการเก็บคำสั่งที่ดำเนินการก่อนหน้านี้ทั้งหมดและเอาต์พุตไว้ในไฟล์เดียวโดยไม่หยุดชะงัก ขอแนะนำให้ใช้ตัวดำเนินการ “»” ซึ่งจะผนวกข้อมูลใหม่เข้ากับไฟล์ แทนที่จะแทนที่ข้อมูลทั้งหมด

การรวมข้อมูลระบบลงในไฟล์ที่สร้างขึ้นก่อนหน้านี้เป็นแนวทางที่ใช้ได้ เพื่อให้บรรลุเป้าหมายนี้ ให้ดำเนินการคำสั่ง “uname-a” ในระบบปฏิบัติการ Linux หรือ Mac หรือใช้คำสั่ง “ver” สำหรับระบบ Windows หลังจากนั้น ให้รวมโอเปอเรเตอร์ “»” ไว้ข้างพาธไปยังไฟล์ ดังที่แสดงด้านล่าง:

 uname -a >> /path/to/file 

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

/th/images/appending-output-to-a-file.jpg

พิมพ์เอาต์พุตไปที่หน้าจอและเปลี่ยนเส้นทางไปยังไฟล์

ตัวเปลี่ยนเส้นทาง’‘ไม่แสดงผลลัพธ์ของคำสั่งในเทอร์มินัล แต่จะบันทึกลงในไฟล์ หากต้องการดูทั้งเอาต์พุตที่บันทึกไว้ในไฟล์และที่แสดงบนหน้าจอพร้อมกัน ให้ใช้คำสั่ง’tee’

หากต้องการใช้คำสั่ง"tee"จะต้องเปลี่ยนเส้นทางเอาต์พุตที่สร้างโดยคำสั่งอื่นไปยังคำสั่งนั้นผ่านสัญลักษณ์ไปป์ ซึ่งแสดงเป็นแถบแนวตั้ง ("|”) เพื่อเป็นตัวอย่าง ให้พิจารณาตัวอย่างต่อไปนี้ซึ่งผลลัพธ์ที่ได้จากคำสั่ง"ls"จะถูกส่งต่อไปยังคำสั่ง"tee"เพื่อประมวลผล:

 ls | tee /path/to/output.txt 

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

หากต้องการใช้คำสั่ง “tee” เพื่อแสดงเอาต์พุตบนหน้าจอในขณะเดียวกันก็ต่อท้ายไฟล์ที่ระบุด้วย ควรมีแฟล็ก “-a” นำหน้าเส้นทางของไฟล์ ดังที่แสดงโดยไวยากรณ์ต่อไปนี้:

 uname -a | tee -a /path/to/output.txt 

คุณจะสังเกตเห็นผลลัพธ์ของคำสั่งที่แสดงบนจอแสดงผลของคุณ และใช้คำสั่ง"cat"เพื่อยืนยันว่า"tee"ได้รวมคำสั่งดังกล่าวไว้ในเอกสารด้วย

/th/images/appending-output-to-a-file-with-the-tee-command.jpg

ใช้ประโยชน์จากพลังของ Command Line €™

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

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