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

วิธีค้นหาและลบไดเรกทอรีแบบเรียกซ้ำบน Linux


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

อ่านเพิ่มเติม: 10 คำสั่ง du (การใช้งานดิสก์) ที่มีประโยชน์เพื่อค้นหาการใช้งานดิสก์ของไฟล์และไดเร็กทอรี

บทช่วยสอนสั้นๆ นี้อธิบายวิธีค้นหาและลบไดเร็กทอรีแบบวนซ้ำในระบบไฟล์ Linux

เพื่อให้บรรลุวัตถุประสงค์ข้างต้น คุณสามารถใช้คำสั่ง find ร่วมกับ คำสั่ง rm ได้โดยใช้ไวยากรณ์ด้านล่าง ที่นี่ เครื่องหมาย + ที่อยู่ด้านท้ายทำให้สามารถอ่านหลายไดเรกทอรีพร้อมกันได้

find /start/search/from/this/dir -name "dirname-to-delete" -type d -exec /bin/rm -rf {} + 

โปรดทราบ: คุณต้องใช้ คำสั่ง rm อย่างระมัดระวัง เนื่องจากเป็นคำสั่งที่อันตรายที่สุดที่จะใช้ใน Linux: คุณอาจลบระบบที่สำคัญโดยไม่ตั้งใจ ไดเร็กทอรีจึงส่งผลให้ระบบล้มเหลว

ในตัวอย่างด้านล่าง เราจะค้นหาไดเร็กทอรีชื่อ files_2008 และลบออกซ้ำ:

$find ~/Downloads/software -name "files_2008" -type d -exec /bin/rm -rf {} + 

คุณยังสามารถใช้ find และ xargs; ในรูปแบบต่อไปนี้ การดำเนินการ -print0 จะเปิดใช้งานการพิมพ์พาธไดเร็กทอรีแบบเต็มบนเอาต์พุตมาตรฐาน ตามด้วยอักขระ null:

find /start/search/from/this/dir -name "dirname-to-delete" -type d -print0 | xargs -0 /bin/rm -rf "{}"

จากตัวอย่างเดียวกันข้างต้น เรามี:

find ~/Downloads/software -name "files_2008" -type d -print0 | xargs -0 /bin/rm -rf "{}"

สุดท้ายนี้ หากคุณกังวลเกี่ยวกับความปลอดภัยของข้อมูลของคุณ คุณอาจต้องการเรียนรู้ 3 วิธีในการลบ 'ไฟล์และไดเรกทอรี' ใน Linux อย่างถาวรและปลอดภัย

อย่าลืมอ่านบทความที่เป็นประโยชน์เพิ่มเติมเกี่ยวกับการจัดการไฟล์และไดเร็กทอรีใน Linux:

  1. fdupes – เครื่องมือบรรทัดคำสั่งเพื่อค้นหาและลบไฟล์ที่ซ้ำกันใน Linux
  2. วิธีค้นหาและลบไฟล์ที่ซ้ำหรือไม่ต้องการใน Linux โดยใช้เครื่องมือ 'FSlint'
  3. 3 วิธีในการลบไฟล์ทั้งหมดในไดเร็กทอรียกเว้นไฟล์เดียวหรือไม่กี่ไฟล์ที่มีนามสกุล

ในบทความนี้ เราได้แสดงวิธีค้นหาและลบไดเร็กทอรีแบบวนซ้ำบน Linux หากคุณมีคำถามหรือแนวคิดเพิ่มเติมที่คุณต้องการเพิ่มในหัวข้อนี้ ให้ใช้ส่วนความคิดเห็นด้านล่าง