1. บทนำ
การลบไดเรกทอรีใน Ubuntu เป็นงานที่สำคัญสำหรับการจัดการไฟล์อย่างมีประสิทธิภาพ อย่างไรก็ตาม ต่างจากบางสภาพแวดล้อมเดสก์ท็อป ไดเรกทอรีที่ถูกลบใน Linux จะไม่ถูกย้ายไปยังถังขยะ แต่จะถูกลบออกทันที ดังนั้นจึงจำเป็นต้องมีมาตรการป้องกันเพื่อหลีกเลี่ยงการลบโดยบังเอิญ บทความนี้อธิบายวิธีลบไดเรกทอรีใน Ubuntu แนะนำคำสั่งและการตั้งค่าเพื่อป้องกันข้อผิดพลาด และครอบคลุมวิธีการกู้คืนในกรณีที่มีการลบโดยไม่ได้ตั้งใจ
2. ภาพรวมของการลบไดเรกทอรีใน Ubuntu
เพื่อทำการลบไดเรกทอรีใน Ubuntu คุณสามารถใช้คำสั่ง rm และ rmdir ได้ ทั้งสองคำสั่งทำการลบไดเรกทอรี แต่มีวัตถุประสงค์ที่แตกต่างกัน ทำให้การใช้งานอย่างถูกต้องเป็นสิ่งสำคัญ
2.1 ความแตกต่างระหว่างคำสั่ง rm และ rmdir
- rm Command คำสั่ง
rmใช้สำหรับลบไฟล์และไดเรกทอรี โดยการเพิ่มตัวเลือกแบบเรียกซ้ำ-rสามารถลบไดเรกทอรีทั้งหมดพร้อมไฟล์และไดเรกทอรีย่อยได้ มันสะดวกสำหรับการลบหลายรายการพร้อมกัน แต่เนื่องจากมีพลังมาก จึงต้องระมัดระวัง ตัวอย่าง:rm -r directory_name
- rmdir Command คำสั่ง
rmdirลบเฉพาะไดเรกทอรีที่ว่างเปล่า หากไดเรกทอรีมีไฟล์อยู่ จะมีข้อความแสดงข้อผิดพลาด มันเหมาะสำหรับทำความสะอาดไดเรกทอรีที่ไม่ได้ใช้ ตัวอย่าง:rmdir directory_name
3. คำสั่งปฏิบัติและตัวอย่างการใช้งาน
ต่อไปนี้คือคำสั่งหลักและตัวเลือกสำหรับการลบไดเรกทอรี
3.1 วิธีใช้คำสั่ง rm
คำสั่ง rm เป็นวิธีมาตรฐานในการลบไดเรกทอรีใน Ubuntu ด้านล่างนี้เป็นตัวเลือกทั่วไปและตัวอย่าง
- Delete a directory recursively ใช้ตัวเลือก
-rเพื่อลบไดเรกทอรีรวมถึงไฟล์และไดเรกทอรีย่อยทั้งหมดrm -r directory_name
- Delete without confirmation รวมตัวเลือก
-fเพื่อข้ามการยืนยันและลบทุกอย่างในครั้งเดียวrm -rf directory_name
3.2 วิธีใช้คำสั่ง rmdir
คำสั่ง rmdir ลบเฉพาะไดเรกทอรีที่ว่างเปล่า หากไดเรกทอรีมีไฟล์อยู่ จะไม่สามารถลบได้
- Delete an empty directory
rmdir directory_name
- Delete along with parent directories ใช้ตัวเลือก
-pเพื่อลบไดเรกทอรีแม่ที่ว่างเปล่าพร้อมกันrmdir -p parent_directory/sub_directory

4. ตัวอย่างการใช้งานจริงและกระบวนการลบ
คำสั่งจะแตกต่างกันขึ้นอยู่กับว่าไดเรกทอรีเป้าหมายว่างเปล่าหรือมีข้อมูลอยู่หรือไม่
4.1 การลบไดเรกทอรีที่ว่างเปล่า
- Using rmdir
rmdir example_directory
ไดเรกทอรีว่างเปล่า example_directory จะถูกลบออก
- Using rm -d
rm -d example_directory
ตัวเลือก rm -d สามารถลบไดเรกทอรีที่ว่างเปล่าได้เช่นกัน แต่จะคืนข้อผิดพลาดหากไดเรกทอรีไม่ว่างเปล่า
4.2 การลบไดเรกทอรีที่มีเนื้อหา
เพื่อทำการลบไดเรกทอรีที่มีไฟล์หรือไดเรกทอรีย่อย ให้ใช้ rm -r หรือ rm -rf
- Using rm -r
rm -r example_directory
คำสั่งนี้จะลบไฟล์และไดเรกทอรีย่อยทั้งหมดภายใน แล้วจึงลบไดเรกทอรีเองออก
- Using 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 directory_path
- PhotoRec เครื่องมือกู้คืนที่ทำงานกับรูปแบบไฟล์ต่างๆ และไม่ขึ้นอยู่กับระบบไฟล์。
sudo photorec


