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

วิธีใช้คำสั่ง 'find' เพื่อค้นหาชื่อไฟล์หลายชื่อ (ส่วนขยาย) ใน Linux


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

มียูทิลิตี้ Linux หลายตัวที่เราสามารถใช้เพื่อค้นหาหรือค้นหาไฟล์บนระบบไฟล์ แต่การค้นหาชื่อไฟล์หลายไฟล์หรือไฟล์ที่มีนามสกุลต่างกันในบางครั้งอาจยุ่งยากและต้องใช้คำสั่งเฉพาะ

หนึ่งในยูทิลิตี้มากมายสำหรับการค้นหาไฟล์บนระบบไฟล์ Linux คือยูทิลิตี้ find และในคำแนะนำวิธีการนี้ เราจะอธิบายตัวอย่างบางส่วนของการใช้ find เพื่อ ช่วยเราค้นหาชื่อไฟล์หลายรายการพร้อมกัน

ก่อนที่เราจะเจาะลึกคำสั่งจริง ให้เราดูข้อมูลเบื้องต้นเกี่ยวกับยูทิลิตี find ของ Linux ก่อน

ไวยากรณ์ที่ง่ายที่สุดและทั่วไปของยูทิลิตี find มีดังนี้:

find directory options [ expression ]

ให้เรามาดูตัวอย่างของคำสั่ง find ใน Linux ต่อไป

1. สมมติว่าคุณต้องการค้นหาไฟล์ทั้งหมดในไดเรกทอรีปัจจุบันที่มีนามสกุลไฟล์ .sh และ .txt คุณสามารถทำได้โดยการเรียกใช้ คำสั่งด้านล่าง:

find . -type f \( -name "*.sh" -o -name "*.txt" \)

การตีความคำสั่งด้านบน:

  1. . หมายถึงไดเร็กทอรีปัจจุบัน
  2. ตัวเลือก -type ใช้เพื่อระบุประเภทไฟล์ และที่นี่ เรากำลังค้นหาไฟล์ปกติที่แสดงโดย f
  3. ตัวเลือก -name ใช้เพื่อระบุรูปแบบการค้นหาในกรณีนี้คือนามสกุลไฟล์
  4. -o หมายถึง “หรือ”

ขอแนะนำให้คุณใส่นามสกุลไฟล์ไว้ในวงเล็บ และใช้อักขระหลีก \ ( แบ็กสแลช) เช่นเดียวกับในคำสั่ง

2. หากต้องการค้นหาชื่อไฟล์สามชื่อที่มีนามสกุล .sh, .txt และ .c ให้ออกคำสั่งด้านล่าง:

find . -type f \( -name "*.sh" -o -name "*.txt" -o -name "*.c" \)

3. นี่เป็นอีกตัวอย่างที่เราค้นหาไฟล์ด้วย .png, .jpg, .deb และ < รหัส>.pdf ส่วนขยาย:

find /home/aaronkilik/Documents/ -type f \( -name "*.png" -o -name "*.jpg" -o -name "*.deb" -o -name ".pdf" \)

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

บทสรุป

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

อย่าพลาด: คำสั่ง 'find' ของ Master Linux พร้อมด้วย 35 ตัวอย่างนี้