ค้นหาเว็บไซต์

ตัวอย่างการใช้งาน Linux 'tree Command' สำหรับผู้เริ่มต้น


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

อ่านเพิ่มเติม: dutree – เครื่องมือ CLI เพื่อวิเคราะห์การใช้งานดิสก์ในเอาต์พุตที่เป็นสี

โปรแกรม tree มีให้บริการในระบบ Unix และ Unix เช่น Linux รวมถึง DOS, Windows และระบบปฏิบัติการอื่นๆ อีกมากมาย มันมีตัวเลือกต่างๆ สำหรับการจัดการเอาต์พุต ตั้งแต่ตัวเลือกไฟล์ ตัวเลือกการเรียงลำดับ ไปจนถึงตัวเลือกกราฟิก และรองรับเอาต์พุตในรูปแบบ XML, JSON และ HTML

ในบทความสั้นๆ นี้ เราจะแสดงวิธีใช้คำสั่ง tree พร้อมตัวอย่างเพื่อแสดงรายการเนื้อหาของไดเรกทอรีบนระบบ Linux แบบวนซ้ำ

เรียนรู้ตัวอย่างการใช้คำสั่งต้นไม้

คำสั่ง tree มีอยู่ใน Linux ทั้งหมด (ไม่ใช่รุ่นส่วนใหญ่) อย่างไรก็ตาม หากคุณไม่ได้ติดตั้งไว้ตามค่าเริ่มต้น ให้ใช้ตัวจัดการแพ็คเกจเริ่มต้นเพื่อติดตั้งตามที่แสดง

yum install tree	 #RHEL/CentOS 7
dnf install tree	 #Fedora 22+ and /RHEL/CentOS 8
sudo apt install tree	 #Ubuntu/Debian
sudo zypper in tree 	 #openSUSE

เมื่อติดตั้งแล้ว คุณสามารถเรียนรู้การใช้งานคำสั่ง tree เพิ่มเติมพร้อมตัวอย่างดังที่แสดงด้านล่าง

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

tree
OR
sudo tree

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

sudo tree -a

2. หากต้องการแสดงรายการเนื้อหาไดเรกทอรีด้วยคำนำหน้าเส้นทางแบบเต็มสำหรับแต่ละไดเรกทอรีย่อยและไฟล์ ให้ใช้ -f ตามที่แสดง

sudo tree -f

3. คุณยังสามารถสั่งให้ tree พิมพ์เฉพาะไดเร็กทอรีย่อยลบไฟล์ในไดเร็กทอรีนั้นได้โดยใช้ตัวเลือก -d หากใช้ร่วมกับตัวเลือก -f ต้นไม้จะพิมพ์เส้นทางไดเรกทอรีทั้งหมดดังที่แสดง

sudo tree -d 
OR
sudo tree -df

4. คุณสามารถระบุความลึกการแสดงผลสูงสุดของแผนผังไดเร็กทอรีได้โดยใช้ตัวเลือก -L ตัวอย่างเช่น หากคุณต้องการความลึก 2 ให้รันคำสั่งต่อไปนี้

sudo tree -f -L 2

นี่เป็นอีกตัวอย่างเกี่ยวกับการตั้งค่าความลึกการแสดงผลสูงสุดของแผนผังไดเร็กทอรีเป็น 3

sudo tree -f -L 3

5. หากต้องการแสดงเฉพาะไฟล์ที่ตรงกับรูปแบบไวด์การ์ด ให้ใช้แฟล็ก -P และระบุรูปแบบของคุณ ในตัวอย่างนี้ คำสั่งจะแสดงเฉพาะไฟล์ที่ตรงกับ cata* ดังนั้นไฟล์ต่างๆ เช่น Catalina.sh, catalina.bat เป็นต้น จะถูกระบุไว้

sudo tree -f -P cata*

6. คุณยังสามารถบอกให้ tree ตัดไดเร็กทอรีว่างออกจากเอาต์พุตได้โดยเพิ่มตัวเลือก --prune ดังที่แสดง

sudo tree -f --prune

7. นอกจากนี้ยังมีตัวเลือกไฟล์ที่มีประโยชน์บางตัวที่ต้นไม้รองรับ เช่น -p ซึ่งพิมพ์ประเภทไฟล์และการอนุญาตสำหรับแต่ละไฟล์ในลักษณะเดียวกันกับคำสั่ง ls -l .

sudo tree -f -p 

8. นอกจากนี้ หากต้องการพิมพ์ ชื่อผู้ใช้ (หรือ UID หากไม่มีชื่อผู้ใช้) ของแต่ละไฟล์ ให้ใช้ -u และตัวเลือก -g จะพิมพ์ชื่อกลุ่ม (หรือ GID หากไม่มีชื่อกลุ่ม) คุณสามารถรวมตัวเลือก -p, -u และ -g เพื่อสร้างรายการแบบยาวคล้ายกับคำสั่ง ls -l

sudo tree -f -pug

9. คุณยังสามารถพิมพ์ขนาดของแต่ละไฟล์เป็นไบต์พร้อมกับชื่อได้โดยใช้ตัวเลือก -s หากต้องการพิมพ์ขนาดของแต่ละไฟล์แต่อยู่ในรูปแบบที่มนุษย์อ่านง่ายขึ้น ให้ใช้แฟล็ก -h และระบุตัวอักษรขนาดเป็นกิโลไบต์ (K) เมกะไบต์ (M) กิกะไบต์ (G) เทราไบต์ (ท) ฯลฯ..

sudo tree -f -s
OR
sudo tree -f -h

10. หากต้องการแสดงวันที่ของเวลาแก้ไขล่าสุดสำหรับแต่ละไดเร็กทอรีย่อยหรือไฟล์ ให้ใช้ตัวเลือก -D ดังต่อไปนี้

sudo tree -f -pug -h -D

11. อีกตัวเลือกที่มีประโยชน์คือ --du ซึ่งรายงานขนาดของแต่ละไดเร็กทอรีย่อยเป็นการสะสมขนาดของไฟล์และไดเร็กทอรีย่อยทั้งหมด (และไฟล์ของไดเร็กทอรีย่อย และ เร็วๆ นี้).

sudo tree -f --du

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

sudo tree -o direc_tree.txt

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