คำสั่ง rm ของ Linux: ตัวเลือก rm -rf และวิธีลบโดยไม่ต้องยืนยัน

ประกาศแอฟฟิลิเอต Ver 3.1
ประกาศแอฟฟิลิเอต Ver 3.2 (เฉพาะมือถือ)
สภาพแวดล้อมทดสอบตระกูล RHELAlmaLinux 9.8บัญชี rootตรวจสอบ 2026-10-05

คำสั่ง rm ลบไฟล์ทันทีโดยไม่ผ่านถังขยะ rm ย่อมาจาก remove ใช้ลบไฟล์และไดเรกทอรี บทความนี้สรุปวิธีใช้พื้นฐาน ตัวเลือก และเหตุผลที่ไดเรกทอรีรากยังอยู่แม้จะรัน [rm -rf /]

AlmaLinux 9.8 มี [alias rm=’rm -i’] อยู่ในบัญชี root เป็นค่าเริ่มต้น จึงถามยืนยันก่อนลบ สำหรับระบบปฏิบัติการ Linux ที่ไม่ได้ตั้งค่านี้ไว้ บทความนี้ก็อธิบายวิธีใส่ alias เองไว้ด้วย

✅ วิธีใช้พื้นฐาน

วิธีใช้พื้นฐานมีดังนี้

rm -ตัวเลือก สิ่งที่จะลบ: ไฟล์ หรือ ไดเรกทอรี
คำสั่ง rm

ไฟล์ลบได้เพียงใส่ชื่อ ส่วนไดเรกทอรีต้องใส่ตัวเลือก -r จึงจะลบได้

# ลบไฟล์
rm file1
# ลบหลายไฟล์
rm file1 file2
# ลบไดเรกทอรีพร้อมทุกอย่างข้างใน
rm -r dir1/
# ลบไดเรกทอรีว่าง
rm -d dir1/
~]# rm dir1/
rm: cannot remove 'dir1/': Is a directory

ถ้าระบุไดเรกทอรีโดยไม่ใส่ตัวเลือก จะลบไม่ได้อย่างที่เห็นด้านบน

ถ้าลบ Symbolic link จะลบแค่ตัวลิงก์ ส่วนไฟล์ปลายทางที่ลิงก์ชี้ไปยังคงอยู่ตามเดิม การตรวจสอบก่อนและหลังลบให้ใช้ คำสั่ง ls ร่วมด้วย

✅ rm -rf: ลบโดยไม่ต้องยืนยัน

เมื่อรันคำสั่ง rm จะมีคำถาม [remove regular file] ขึ้นมา เพราะในบัญชี root คำสั่ง rm ทำงานผ่านชื่อแทน (alias) [rm -i]

~]# rm file1
rm: remove regular file 'file1'? y
~]# alias rm
alias rm='rm -i'

ถ้าลบไดเรกทอรีด้วยตัวเลือก -r จะถามยืนยันทั้งตอนเข้าไปในไดเรกทอรีและทุกไฟล์ ยิ่งไฟล์มากก็ยิ่งยุ่งยาก

~]# rm -r logs/
rm: descend into directory 'logs/'? y
rm: remove regular file 'logs/access.log'? y
rm: remove regular empty file 'logs/error.log'? y
rm: remove directory 'logs/'? y

กรณีนี้ให้ใส่ตัวเลือก -f เพิ่ม จะลบได้โดยไม่ต้องยืนยัน และแม้ระบุไฟล์ที่ไม่มีอยู่ก็ไม่ขึ้นข้อผิดพลาด

rm -rf logs/

การใส่แบ็กสแลช [\] หน้าคำสั่งเพื่อไม่ให้ผ่าน alias หรือใส่ [yes |] ไว้ข้างหน้าเพื่อให้ป้อน y ทุกครั้งที่ถามยืนยัน ก็ให้ผลเหมือนกัน

\rm -r logs/
yes | rm -r logs/

✅ ตัวเลือกคำสั่ง rm & ตัวจำลอง

ตัวเลือกคำอธิบาย
-f--forceลบโดยไม่ต้องยืนยัน และไม่แจ้งข้อผิดพลาดแม้ระบุไฟล์ที่ไม่มีอยู่
-iขอให้ผู้ใช้ยืนยันทุกครั้งก่อนลบalias rm='rm -i'
-I(ตัว i พิมพ์ใหญ่)ถามยืนยันครั้งเดียวเมื่อมีไฟล์ตั้งแต่ 4 ไฟล์ขึ้นไปหรือใช้ร่วมกับ -r
-r, -R--recursiveลบไดเรกทอรีพร้อมไดเรกทอรีย่อยและไฟล์ทั้งหมด
-d--dirลบไดเรกทอรีว่าง
-v--verboseแสดงไฟล์และไดเรกทอรีที่ลบทีละบรรทัด
--preserve-rootไม่ลบไดเรกทอรีราก (/) (ค่าเริ่มต้น)
--no-preserve-rootยกเลิกการป้องกันไดเรกทอรีราก (/)
ตัวจำลองคำสั่ง rmalias rm='rm -i'
[root@server work]#
ทำงานเฉพาะในเบราว์เซอร์และไม่แตะต้องไฟล์จริง ลองพิมพ์ rm โดยเปลี่ยนตัวเลือกไปเรื่อยๆ แล้วตรวจผลด้วย ls และ cat ส่วนไฟล์ที่ลบไปจะกลับมาเมื่อกด [เริ่มใหม่] ใช้ปุ่ม ↑↓ บนคีย์บอร์ดเรียกคำสั่งที่พิมพ์ไปก่อนหน้า และพิมพ์ uknew help เพื่อดูคำสั่งที่ใช้ได้

✅ rm -rf /: ป้องกันการลบไดเรกทอรีราก

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

คำสั่ง rm ใช้ตัวเลือก [-⁠-preserve-root] เป็นค่าเริ่มต้น ไดเรกทอรีรากจึงไม่ถูกลบแม้จะรัน [rm -rf /]

~]# rm -rf /
rm: it is dangerous to operate recursively on '/'
rm: use --no-preserve-root to override this failsafe

แต่ [rm -rf /*] ป้องกันไม่ได้ เพราะเชลล์จะแทน [/*] ด้วยชื่อไดเรกทอรีอย่าง /bin, /etc, /home ก่อนส่งต่อไป คำสั่ง rm จึงลบไดเรกทอรีแต่ละอันแทนที่จะเป็น [/]

เมื่อติดตั้ง AlmaLinux 9.8 แล้ว จะมี alias -i ของคำสั่ง rm, cp, mv อยู่ใน [/root/.bashrc] ดังด้านล่าง บัญชีผู้ใช้ทั่วไปไม่มี alias นี้

~]# grep alias /root/.bashrc
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

ในบัญชีหรือระบบปฏิบัติการ Linux ที่ไม่มี alias ให้เพิ่ม 1 บรรทัดไว้ท้ายสุดของ [~/.bashrc] แล้วโหลดใหม่ก็ใช้ได้

# เพิ่มไว้ท้ายสุดของ ~/.bashrc
alias rm='rm -i'
# โหลดใหม่
source ~/.bashrc
linux Free Software

ℹ️ ประกาศเรื่องลิงก์แอฟฟิลิเอต
เนื้อหาของเว็บไซต์นี้มีลิงก์แอฟฟิลิเอต หากผู้เข้าชมซื้อสินค้าหรือบริการผ่านลิงก์เหล่านี้ เว็บไซต์นี้จะได้รับค่าคอมมิชชันจากผู้ขาย ในกระบวนการนี้ ราคาที่ผู้ซื้อจ่าย(ราคาจะลดลงเมื่อมีโปรโมชัน↓)จะไม่สูงขึ้นแต่อย่างใด ราคา ส่วนลด และข้อมูลสต็อกที่แสดงเป็นข้อมูล ณ เวลาที่เขียนและอาจต่างจากความเป็นจริง โปรดตรวจสอบกับผู้ขายอีกครั้งก่อนซื้อ การเลือกและการประเมินสินค้าเขียนตามเกณฑ์ของเราเอง และการได้รับค่าคอมมิชชันหรือไม่ไม่มีผลต่อลำดับการแนะนำหรือเนื้อหาการประเมิน