1. บทนำ

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

2. ภาพรวมของวิธีการลบไดเรกทอรีใน Ubuntu

ในการลบไดเรกทอรีใน Ubuntu จะใช้คำสั่ง “rm” และ “rmdir” แม้ว่าทั้งสองจะเป็นการดำเนินการพื้นฐานสำหรับการลบไดเรกทอรี แต่ก็มีบทบาทที่แตกต่างกัน ดังนั้นจึงเป็นสิ่งสำคัญที่จะต้องเลือกใช้ให้เหมาะสม

2.1 ความแตกต่างระหว่างคำสั่ง rm และ rmdir

  • คำสั่ง rm
    rm เป็น “คำสั่งสำหรับลบไฟล์และไดเรกทอรี” โดยการระบุออปชันแบบเรียกซ้ำ -r คุณสามารถลบไฟล์และไดเรกทอรีย่อยทั้งหมดในไดเรกทอรีได้ในครั้งเดียว เป็นคำสั่งที่สะดวกเมื่อมีสิ่งที่ต้องการลบจำนวนมาก แต่เนื่องจากเป็นคำสั่งที่ทรงพลัง จึงต้องใช้ด้วยความระมัดระวัง
    ตัวอย่างการใช้งาน:
  rm -r ชื่อไดเรกทอรี
  • คำสั่ง rmdir
    ในทางกลับกัน rmdir เป็น “คำสั่งสำหรับลบเฉพาะไดเรกทอรีว่างเปล่า” หากมีไฟล์เหลืออยู่ในไดเรกทอรี จะแสดงข้อผิดพลาด เหมาะสำหรับการจัดระเบียบไดเรกทอรีที่ว่างเปล่า
    ตัวอย่างการใช้งาน:
  rmdir ชื่อไดเรกทอรี

 

3. คำสั่งและตัวอย่างการใช้งานจริง

ถัดไป เราจะแนะนำวิธีการใช้งานและตัวเลือกเฉพาะของแต่ละคำสั่ง

3.1 วิธีใช้คำสั่ง rm

คำสั่ง rm เป็นวิธีการมาตรฐานในการลบไดเรกทอรีใน Ubuntu ด้านล่างนี้คือตัวเลือกทั่วไปและตัวอย่างการใช้งาน

  • ลบไดเรกทอรีแบบเรียกซ้ำ
    หากต้องการลบไฟล์และไดเรกทอรีย่อยทั้งหมดในไดเรกทอรี ให้ใช้ตัวเลือก -r
  rm -r ชื่อไดเรกทอรี
  • ลบโดยไม่ต้องยืนยัน
    เมื่อรวมกับตัวเลือก -f คุณสามารถข้ามข้อความยืนยันการลบและลบพร้อมกันได้
  rm -rf ชื่อไดเรกทอรี

3.2 วิธีใช้คำสั่ง rmdir

คำสั่ง rmdir สามารถลบได้เฉพาะไดเรกทอรีที่ว่างเปล่าเท่านั้น หากมีไฟล์อยู่ในไดเรกทอรี จะไม่สามารถลบได้

  • ลบไดเรกทอรีว่างเปล่า
  rmdir ชื่อไดเรกทอรี
  • ลบไดเรกทอรีหลักด้วย
    หากต้องการลบไดเรกทอรีหลักที่ว่างเปล่าพร้อมกัน ให้ใช้ตัวเลือก -p
  rmdir -p ไดเรกทอรีหลัก/ไดเรกทอรีย่อย

4. ตัวอย่างการใช้งานจริงและกระบวนการลบ

ถัดไป เราจะแสดงตัวอย่างการใช้งานที่แตกต่างกันขึ้นอยู่กับว่าไดเรกทอรีที่จะลบว่างเปล่าหรือไม่

4.1 การลบไดเรกทอรีว่างเปล่า

  • ตัวอย่างการใช้ rmdir
  rmdir example_directory

ไดเรกทอรีว่างเปล่า example_directory จะถูกลบ

  • ตัวอย่างการใช้ rm -d option
  rm -d example_directory

rm -d ก็สามารถใช้ลบไดเรกทอรีว่างเปล่าได้เช่นกัน แต่หากไม่ว่างเปล่า จะแสดงข้อผิดพลาด

4.2 การลบไดเรกทอรีที่มีเนื้อหา

สำหรับการลบไดเรกทอรีที่มีไฟล์หรือไดเรกทอรีย่อย rm -r หรือ rm -rf เหมาะสมกว่า

  • ตัวอย่างการใช้ rm -r
  rm -r example_directory

ลบไฟล์และไดเรกทอรีย่อยทั้งหมดในไดเรกทอรี และสุดท้ายลบไดเรกทอรีด้วย

  • ตัวอย่างการใช้ rm -rf
  rm -rf example_directory

การลบจะดำเนินไปโดยไม่มีข้อความยืนยัน แต่โปรดใช้ด้วยความระมัดระวังเพื่อป้องกันข้อผิดพลาดในการดำเนินการ

5. การป้องกันการลบโดยไม่ตั้งใจและการกู้คืน

เราจะอธิบายวิธีป้องกันการลบโดยไม่ตั้งใจ และวิธีการกู้คืนในกรณีที่ข้อมูลสูญหาย

5.1 ตัวเลือกสำหรับการป้องกันการลบโดยไม่ตั้งใจ

การใช้ตัวเลือก -i เพื่อแสดงข้อความยืนยันก่อนการลบ สามารถลดความเสี่ยงในการลบโดยไม่ตั้งใจได้

rm -ri example_directory

คำสั่งข้างต้นจะขอการยืนยันก่อนที่จะลบแต่ละไฟล์และไดเรกทอรีย่อย

5.2 ตั้งค่า alias เพื่อเปิดใช้งานข้อความยืนยันเสมอ

การเพิ่ม alias ในการตั้งค่าเชลล์เพื่อเรียกใช้คำสั่ง rm พร้อมข้อความยืนยันเสมอ ก็เป็นวิธีที่มีประสิทธิภาพเช่นกัน

alias rm='rm -i'

5.3 สร้างนิสัยในการสำรองข้อมูล

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

cp -r example_directory example_directory_backup

สิ่งนี้จะสร้างสำเนาที่สามารถกู้คืนได้แม้หลังจากลบแล้ว ทำให้สามารถลบได้อย่างปลอดภัย

5.4 วิธีการกู้คืนในกรณีที่ลบโดยไม่ตั้งใจ

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

  • extundelete
    เป็นเครื่องมือกู้คืนข้อมูลที่สามารถใช้กับระบบไฟล์ ext3/ext4 ได้
  sudo extundelete /dev/sdX --restore-directory เส้นทางไดเรกทอรี
  • PhotoRec
    เป็นเครื่องมือที่สามารถกู้คืนไฟล์ได้หลายประเภท และไม่ขึ้นกับระบบไฟล์
  sudo photorec

 

侍エンジニア塾