วิธีค้นหาจำนวนไฟล์ในไดเร็กทอรีและไดเร็กทอรีย่อย
ในคู่มือนี้ เราจะกล่าวถึงวิธีการแสดงจำนวนไฟล์ทั้งหมดในไดเร็กทอรีการทำงานปัจจุบันหรือไดเร็กทอรีอื่นและไดเร็กทอรีย่อยบนระบบ Linux
เราจะใช้คำสั่ง find ซึ่งใช้เพื่อค้นหาไฟล์ในลำดับชั้นไดเร็กทอรีร่วมกับคำสั่ง wc ซึ่งจะพิมพ์บรรทัดใหม่ จำนวนคำ และไบต์สำหรับแต่ละไฟล์ หรือข้อมูลที่อ่านจากอินพุตมาตรฐาน
ต่อไปนี้เป็นตัวเลือกที่เราสามารถใช้กับคำสั่ง find ได้ดังนี้:
-type
– ระบุประเภทไฟล์ที่จะค้นหา ในกรณีข้างต้นf
หมายถึง ค้นหาไฟล์ปกติทั้งหมด-print
– การดำเนินการเพื่อพิมพ์เส้นทางที่แน่นอนของไฟล์-l
– ตัวเลือกนี้จะพิมพ์จำนวนบรรทัดใหม่ทั้งหมด ซึ่งเท่ากับจำนวนรวมของเส้นทางไฟล์สัมบูรณ์ที่ส่งออกโดยคำสั่ง find
ไวยากรณ์ทั่วไปของคำสั่ง find
find . -type f -print | wc -l
sudo find . -type f -print | wc -l
ข้อสำคัญ: ใช้คำสั่ง sudo เพื่ออ่านไฟล์ทั้งหมดในไดเร็กทอรีที่ระบุ รวมถึงไฟล์ในไดเร็กทอรีย่อยที่มีสิทธิ์ superuser เพื่อหลีกเลี่ยง “การอนุญาตถูกปฏิเสธ ” ข้อผิดพลาดดังภาพหน้าจอด้านล่าง:
คุณจะเห็นว่าในคำสั่งแรกด้านบน ไฟล์บางไฟล์ในไดเร็กทอรีการทำงานปัจจุบันไม่ถูกอ่านด้วยคำสั่ง find
ต่อไปนี้เป็นตัวอย่างเพิ่มเติมเพื่อแสดงจำนวนไฟล์ปกติทั้งหมดในไดเร็กทอรี /var/log
และ /etc
ตามลำดับ:
sudo find /var/log/ -type f -print | wc -l
sudo find /etc/ -type f -print | wc -l
สำหรับตัวอย่างเพิ่มเติมเกี่ยวกับ คำสั่งค้นหา และ คำสั่ง wc ของ Linux โปรดอ่านบทความชุดต่อไปนี้เพื่อดูตัวเลือกการใช้งาน เคล็ดลับ และคำสั่งที่เกี่ยวข้องเพิ่มเติม:
- 35 ตัวอย่างคำสั่ง 'ค้นหา' ที่เป็นประโยชน์ใน Linux
- วิธีค้นหาไฟล์ล่าสุดหรือไฟล์ที่แก้ไขของวันนี้ใน Linux
- ค้นหาไดเร็กทอรี 10 อันดับแรกและพื้นที่ดิสก์ไฟล์ใน Linux
- 6 ตัวอย่างคำสั่ง 'wc' ที่เป็นประโยชน์ในการนับบรรทัด คำ และตัวอักษร
นั่นคือทั้งหมด! ในกรณีที่คุณทราบวิธีการอื่นใดในการแสดงจำนวนไฟล์ทั้งหมดในไดเร็กทอรีและไดเร็กทอรีย่อยโปรดแบ่งปันกับเราในความคิดเห็น