6 วิธีในการดูเนื้อหาไฟล์ Linux
เผยแพร่แล้ว: 2022-08-18วิธีที่สำคัญที่สุดวิธีหนึ่งที่คุณสามารถใช้ Linux PC ได้คือการใช้ไฟล์
เกือบทุกไฟล์ที่คุณใช้งานโดยตรงในเทอร์มินัล Linux สามารถจัดการเป็นไฟล์ข้อความได้ ซึ่งรวมถึงไฟล์การกำหนดค่า ไฟล์บันทึกเกี่ยวกับบริการและกระบวนการต่างๆ ในระบบ และไฟล์สคริปต์ที่มาพร้อมกับ Linux Distribution ที่คุณเลือกหรือที่คุณเขียนเอง
การรู้วิธีดูเนื้อหาของไฟล์เหล่านี้อย่างรวดเร็วในเทอร์มินัล Linux เป็นทักษะอันล้ำค่าที่ไม่เพียงแต่ช่วยคุณประหยัดเวลา แต่ยังช่วยให้คุณเรียนรู้เพิ่มเติมเกี่ยวกับระบบอีกด้วย บทช่วยสอนนี้จะแสดงวิธีดูไฟล์ประเภทนี้ในเทอร์มินัล Linux
แมว
คำสั่ง cat
เป็นคำสั่งที่เรียบง่ายและมีประโยชน์มากสำหรับการดูเนื้อหาไฟล์บน Linux
คุณสามารถใช้คำสั่ง cat เพื่อพิมพ์เนื้อหาไฟล์อย่างรวดเร็วไปยังเอาต์พุตมาตรฐานในเทอร์มินัล หรือเชื่อมต่อเอาต์พุต
ไวยากรณ์สำหรับคำสั่ง cat มีดังนี้:
$ cat [OPTION] [FILE1] …
ตัวอย่างเช่น หากคุณมีไฟล์ชื่อ simple-list.txt
ซึ่งมีรายการของบางรายการ คุณสามารถดูเนื้อหาของไฟล์นี้ได้โดยใช้คำสั่ง
$ cat simple-list.txt
ตัวอย่างเช่น:
$ cat simple-list.txt bananas strawberries grapes apples watermelons oranges blueberries lemons peaches avocados pineapples cherries cantaloupe raspberries pears limes blackberries clementine mangoes plums
คุณยังสามารถแสดงรายการไฟล์หลายไฟล์พร้อมกันเพื่อรับเอาต์พุตของไฟล์ทั้งหมดในเทอร์มินัลได้ในครั้งเดียว ดังที่แสดงด้านล่าง:
$ cat testfile1.txt testfile2.txt these are the contents of testfilel.txt. and this is the end of testfilel.txt these are the contents of testfile2.txt. and this is the end of testfile2.txt
nl
หากคุณต้องการดูหมายเลขบรรทัดสำหรับแต่ละบรรทัดในไฟล์ คำสั่ง nl
จะทำอย่างนั้น คุณสามารถใช้คำสั่งนี้ในลักษณะเดียวกับคำสั่ง cat และข้อแตกต่างเพียงอย่างเดียวคือ nl มีหมายเลขบรรทัดที่เปิดใช้งานโดยค่าเริ่มต้น
การใช้คำสั่ง cat คุณจะได้ผลลัพธ์เช่นเดียวกันกับตัวเลือก -e นี่คือตัวอย่างเอาต์พุตของเอาต์พุตไฟล์ simple-list.txt
เดียวกันกับ nl
$ nl simple-list.txt 1 bananas 2 strawberries 3 grapes 4 apples 5 watermelons 6 oranges 7 blueberries 8 lemons 9 peaches 10 avocados 11 pineapples 12 cherries 13 cantaloupe 14 raspberries 15 pears 16 limes 17 blackberries 18 clementine 19 mangoes 20 plums
หมายเลขบรรทัดสามารถเปลี่ยนให้ชิดซ้ายโดยใช้ตัวเลือก -nln
มีตัวเลือกอื่น ๆ เช่นกันที่คุณสามารถใช้กับคำสั่ง nl
ซึ่งอยู่ภายใต้ man nl
มากกว่า
จนถึงตอนนี้ คุณต้องเลื่อนดูผลลัพธ์โดยใช้ล้อเลื่อนของเมาส์หรือ Shift+Page-up
และ Shift+Page-down
บนแป้นพิมพ์
อย่างไรก็ตาม คำสั่ง more
เป็นวิธีที่ง่ายกว่ามากในการดูไฟล์ที่ยาวกว่าซึ่งไม่พอดีกับหน้าต่างเทอร์มินัลอย่างสมบูรณ์
ไฟล์ simple-list.txt เดียวกันจะแสดงเมื่อดูผ่านคำสั่งเพิ่มเติม:

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

คุณสามารถออกจากหน้าต่างดูคำสั่งอื่นๆ ได้ทุกเมื่อโดยกด q ซึ่งจะกลับไปที่หน้าจอเทอร์มินัล ด้วยวิธีนี้ สามารถใช้คำสั่งเพิ่มเติมเพื่อดูการกำหนดค่าแบบยาวหรือไฟล์บันทึกได้โดยไม่ทำลายโฟลว์ของเทอร์มินัล
น้อย
น้อยกว่าเป็นคำสั่งที่ทันสมัยกว่า ย้อนกลับไปเมื่อมีการแนะนำคำสั่งน้อยลงในระบบนิเวศของ Linux คำสั่งส่วนใหญ่ไม่รองรับการเลื่อนกลับขึ้น
นอกจากให้ผู้ใช้เลื่อนขึ้นและลงแล้ว คำสั่ง less
ยังรองรับการเลื่อนในแนวนอน รองรับการจัดการไฟล์ไบนารีได้ดีขึ้น และสามารถค้นหาผ่านข้อความได้
มาดูไฟล์ simple-list.txt ของเรากันดีกว่า:
$ less simple-list.txt

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

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

$ less +/target-word /path-to-file
ตัวอย่างเช่น ในการเปิดไฟล์ apples.txt ในครั้งแรกของคำว่า cultivar จะใช้คำสั่งต่อไปนี้:
$ less +/cultivar apples.txt
ศีรษะ
หากคุณต้องการดูไฟล์สิบบรรทัดแรกอย่างรวดเร็ว คุณสามารถทำได้ผ่าน
คำสั่ง head
ดังแสดงด้านล่าง:
$ head simple-list.txt bananas strawberries grapes apples watermelons oranges blueberries lemons peaches avocados
ตามค่าเริ่มต้น จะแสดงเฉพาะสิบบรรทัดแรกในเทอร์มินัล แต่คุณสามารถเปลี่ยนจำนวนบรรทัดที่แสดงโดยใช้ตัวเลือก -n
ดังที่แสดงด้านล่าง:
$ head -n 5 simple-list.txt bananas strawberries grapes apples watermelons
ในทำนองเดียวกัน ตัวเลือก -c
สามารถใช้เพื่อพิมพ์จำนวนไบต์ที่ระบุจากไฟล์ไปยังเทอร์มินัล
หาง
คำสั่ง tail
ทำงานเหมือนกับคำสั่ง head โดยมีความแตกต่างที่สำคัญเพียงอย่างเดียวคือมันแสดงสิบบรรทัดสุดท้ายของไฟล์แทนที่จะเป็นสิบบรรทัดแรก
$ tail simple-list.txt cherries cantaloupe raspberries pears limes blackberries clementine mangoes plums tangerines
$ tail -n 5 simple-list.txt blackberries clementine mangoes plums tangerines
นอกจากนี้ ทั้งคำสั่ง head และ tail สามารถใช้กับคำสั่งการดูไฟล์อื่นๆ ที่แสดงในบทช่วยสอน เพื่อสร้างเอาต์พุตที่ดีขึ้นสำหรับผู้ใช้
ตัวอย่างเช่น คำสั่ง nl
สามารถใช้เพื่อแสดงไฟล์ที่มีหมายเลขบรรทัดก่อน จากนั้น ผลลัพธ์สามารถไปป์ให้น้อยลงเพื่อดูสามบรรทัดสุดท้ายของไฟล์ดังที่แสดงด้านล่าง:
$ nl simple-list.txt | tail -n 3 19 mangoes 20 plums 21 tangerines

คำถามที่พบบ่อยเกี่ยวกับการดูไฟล์ Linux
คุณสามารถตรวจสอบประเภทของไฟล์ได้โดยใช้คำสั่ง file ซึ่งมีรูปแบบดังนี้:
$ file [OPTIONS] target-file
คุณสามารถรวมคำสั่งต่างๆ ผ่านไพพ์ได้ ไม่เพียงแต่ค้นหาผ่านไฟล์บันทึกขนาดใหญ่เท่านั้น แต่ยังแสดงผลการค้นหาในเอาต์พุตที่มีการจัดระเบียบอย่างดี
ตัวอย่างเช่น การใช้ grep กับ nl
และ tail
คุณจะทราบได้ว่ามีการขอไฟล์ใดไฟล์หนึ่งบนเว็บเซิร์ฟเวอร์ของคุณครั้งล่าสุดเมื่อใด ดังที่แสดงด้านล่าง:
$ nl /var/log/apache/mywebsite.log | grep target-file.jpg | tail -n 5
คำสั่งดังกล่าวจะแสดงไฟล์ล่าสุดเมื่อร้องขอไฟล์ target-file.jpg บนเว็บเซิร์ฟเวอร์ของคุณ
ปุ่มเว้นวรรคใช้เพื่อเลื่อนลงทั้งหน้าด้วยคำสั่งที่มากขึ้นและน้อยลง
หากต้องการเลื่อนลงทีละบรรทัดให้น้อยลง ให้ใช้แป้น Enter บนแป้นพิมพ์
หากต้องการเลื่อนกลับขึ้นหน้า ให้ใช้ปุ่ม b
หากต้องการค้นหาคำเฉพาะในเนื้อหาของไฟล์ที่คุณกำลังดูอยู่ไม่มากก็น้อย ให้ใช้ไวยากรณ์ /word-to-search
คุณสามารถใช้คำสั่งทั่วไป xdg-view
หรือตัวแปรใดๆ สำหรับการกระจายเฉพาะที่คุณได้ติดตั้งไว้ ตัวอย่างเช่น gnome-view หรือ kde-view
เพื่อเปิดไฟล์ข้อความหรือรูปภาพที่มีรูปแบบ
$ xdg-view enwiki.png
การดำเนินการนี้จะเปิดไฟล์ในแอปพลิเคชันเริ่มต้นสำหรับประเภทไฟล์เป้าหมาย