Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม Bash

การเรียนรู้ Linux:อธิบายการใช้งานจริงของคำสั่ง cat และ tac

บทความนี้เป็นส่วนหนึ่งของชุด Linux Tricks and Tips ในบทความนี้เราจะกล่าวถึงการใช้งานพื้นฐานของ cat command (คำสั่งที่ใช้บ่อยที่สุดใน Linux) และ tac (การย้อนกลับของคำสั่ง cat – พิมพ์ไฟล์ในลำดับย้อนกลับ) พร้อมตัวอย่างที่เป็นประโยชน์

อ่านเพิ่มเติม:13 ตัวอย่างคำสั่ง 'cat' ที่เป็นประโยชน์ใน Linux

การใช้งานพื้นฐานของคำสั่ง Cat ใน Linux

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

# cat file.txt
การเรียนรู้ Linux:อธิบายการใช้งานจริงของคำสั่ง cat และ tac ดูเนื้อหาของไฟล์ใน Linux

การใช้ แมว อีกประการหนึ่ง คำสั่งคือการอ่านหรือรวมหลายไฟล์เข้าด้วยกันและส่งเอาต์พุตไปยังจอภาพดังแสดงในตัวอย่างด้านล่าง

# cat file1.txt file2.txt file3.txt
การเรียนรู้ Linux:อธิบายการใช้งานจริงของคำสั่ง cat และ tac ดูเนื้อหาของหลายไฟล์

คำสั่งนี้ยังสามารถใช้เพื่อเชื่อมต่อ (รวม) หลายไฟล์ให้เป็นไฟล์เดียวโดยใช้ 02 ตัวดำเนินการเปลี่ยนเส้นทาง Linux

# cat file1.txt file2.txt file3.txt > file-all.txt
การเรียนรู้ Linux:อธิบายการใช้งานจริงของคำสั่ง cat และ tac เข้าร่วมหลายไฟล์ใน Linux

โดยใช้ตัวเปลี่ยนเส้นทางผนวกคุณสามารถเพิ่มเนื้อหาของไฟล์ใหม่ที่ด้านล่างของ 18 ด้วยไวยากรณ์ต่อไปนี้

# cat file4.txt >> file-all.txt
การเรียนรู้ Linux:อธิบายการใช้งานจริงของคำสั่ง cat และ tac ผนวกไฟล์เนื้อหาเข้ากับไฟล์ใหม่

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

# cat file1.txt > /tmp/file1.txt 
การเรียนรู้ Linux:อธิบายการใช้งานจริงของคำสั่ง cat และ tac คัดลอกเนื้อหาของไฟล์ไปยังไฟล์ใหม่

คัดลอกไฟล์จากตำแหน่งปัจจุบันไปที่ 39 ไดเร็กทอรีและเปลี่ยนชื่อ

# cat file1.txt > /tmp/newfile.cfg
การเรียนรู้ Linux:อธิบายการใช้งานจริงของคำสั่ง cat และ tac คัดลอกไฟล์ไปที่ /tmp Location

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

# cat > new_file.txt
การเรียนรู้ Linux:อธิบายการใช้งานจริงของคำสั่ง cat และ tac สร้างไฟล์ใหม่โดยใช้คำสั่ง Cat

หากต้องการกำหนดหมายเลขบรรทัดเอาต์พุตทั้งหมดของไฟล์ รวมถึงบรรทัดว่าง ให้ใช้ 55 สวิตช์

# cat -n file-all.txt
การเรียนรู้ Linux:อธิบายการใช้งานจริงของคำสั่ง cat และ tac เพิ่มตัวเลขลงในบรรทัดในไฟล์

หากต้องการแสดงเฉพาะจำนวนบรรทัดที่ไม่ว่างแต่ละบรรทัด ให้ใช้ 62 สวิตช์

# cat -b file-all.txt
การเรียนรู้ Linux:อธิบายการใช้งานจริงของคำสั่ง cat และ tac พิมพ์หมายเลขบรรทัดในไฟล์

ต้องการเรียนรู้เพิ่มเติมเกี่ยวกับคำสั่ง Linux cat หรือไม่ จากนั้นอ่านบทความของเราเกี่ยวกับตัวอย่างคำสั่ง 'cat' ที่มีประโยชน์ 13 ตัวอย่างใน Linux

เรียนรู้วิธีใช้คำสั่ง Tac ใน Linux

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

# tac file-all.txt
การเรียนรู้ Linux:อธิบายการใช้งานจริงของคำสั่ง cat และ tac พิมพ์ไฟล์เนื้อหาในลำดับย้อนกลับ

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

# tac file-all.txt --separator "two"
การเรียนรู้ Linux:อธิบายการใช้งานจริงของคำสั่ง cat และ tac ลบสตริงที่ตรงกันในไฟล์

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

$ tac /var/log/auth.log
Or to display the last lines
$ tail /var/log/auth.log | tac
เอาต์พุตตัวอย่าง
tecmint@tecmint ~ $ tac /var/log/auth.log
pr 6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session closed for user root
Apr 6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session closed for user root
Apr 6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session closed for user root
Apr 6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 6 16:00:01 tecmint CRON[17434]: pam_unix(cron:session): session closed for user root
....
tecmint@tecmint ~ $ tail /var/log/auth.log | tac
Apr 6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session closed for user root
Apr 6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session closed for user root
Apr 6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session closed for user root
Apr 6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 6 16:00:01 tecmint CRON[17434]: pam_unix(cron:session): session closed for user root
Apr 6 16:00:01 tecmint CRON[17434]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 6 15:55:02 tecmint CRON[17194]: pam_unix(cron:session): session closed for user root
Apr 6 15:55:01 tecmint CRON[17195]: pam_unix(cron:session): session closed for user root
...

เช่นเดียวกับ 104 คำสั่ง 118 ทำงานได้ดีเยี่ยมในการจัดการกับไฟล์ข้อความ แต่ควรหลีกเลี่ยงในไฟล์ประเภทอื่น โดยเฉพาะไฟล์ไบนารี่หรือไฟล์ที่บรรทัดแรกหมายถึงโปรแกรมที่จะเรียกใช้งาน