Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การแก้ไขปัญหา >> Linux

แก้ไขข้อผิดพลาด 'rmdir:Directory not Empty' บน Linux และ Windows

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

ข้อผิดพลาด 'rmdir:ไดเรกทอรีไม่ว่างเปล่า' เกิดขึ้นเมื่อคุณเรียกใช้คำสั่ง rmdir บน ไดเรกทอรีที่ไม่ว่างเปล่า หมายความว่ามีไฟล์หรือไดเร็กทอรีอื่นอยู่ข้างใน นี่เป็นลักษณะการทำงานที่คาดไว้ของคำสั่ง rmdir และจะทำให้คุณมีข้อผิดพลาดเมื่อคุณเรียกใช้บนไดเร็กทอรีที่ไม่ว่างเปล่าใน Linux หรือระบบปฏิบัติการอื่นที่มียูทิลิตี rmdir

ฉันจะแก้ไข 'rmdir:ไดเรกทอรีไม่ว่างเปล่า' ใน Linux ได้อย่างไร

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

เราจะแจ้งให้คุณทราบเกี่ยวกับการแก้ไขต่างๆ ที่คุณสามารถลองกำจัดข้อผิดพลาดนี้ได้

1. ใช้พารามิเตอร์ “rm -rf”

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

ตัวอย่าง:

เราต้องการลบไดเร็กทอรี abcd

เราได้ออกคำสั่ง 'ls -a' เพื่อตรวจสอบว่าไดเร็กทอรีไม่ว่างเปล่า และมันแสดงให้เราเห็นว่ามีไฟล์บางไฟล์อยู่ในไดเร็กทอรี

เราสามารถออกคำสั่ง rmdir ในไดเร็กทอรีได้ แต่จะทำให้เกิดข้อผิดพลาดเนื่องจากไดเร็กทอรีไม่ว่างเปล่า 

วิธีแก้ปัญหาที่ง่ายที่สุดคือใช้ rm -rf ในไดเร็กทอรี 

rm -rf abcd

-r ตัวเลือกหมายถึงการเรียกซ้ำ เช่น ลบทุกอย่างภายในไดเร็กทอรีซ้ำ (ไดเร็กทอรีอื่นที่อยู่ภายในจะถูกลบด้วย)

-f หมายถึงการบังคับลบ กล่าวคือ ในกรณีนี้ ตัวเลือกบังคับหมายถึงการลบไดเร็กทอรีแม้ว่าจะไม่ว่างเปล่าก็ตาม

หากคุณต้องการลบไดเร็กทอรีที่ผู้ใช้ของคุณไม่มีสิทธิ์ในการเขียน จากนั้นคุณสามารถใช้:

sudo rm -rf 

ใช้ sudo กับ rm แนะนำเฉพาะเมื่อคุณรู้ว่าคุณกำลังทำอะไรอยู่และไดเร็กทอรีที่คุณต้องการลบไม่ใช่ไดเร็กทอรีระบบ เนื่องจากผู้ใช้รูทสามารถลบไดเร็กทอรีระบบได้เช่นกัน

2. ใช้ตัวจัดการไฟล์เพื่อลบไดเร็กทอรี:

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

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

หากคุณใช้ Ubuntu คุณสามารถใช้ Nautilus file Manager ที่ติดตั้งไว้ตามค่าเริ่มต้นเพื่อลบไดเร็กทอรี สามารถใช้ตัวจัดการไฟล์อื่นได้เช่นกัน Nautilus เป็นเพียงตัวอย่างเท่านั้น

แก้ไข rmdir:ไดเรกทอรีไม่ว่างเปล่าใน Windows:

ข้อผิดพลาดนี้อาจเกิดขึ้นใน Windows เมื่อพยายามลบไดเรกทอรีโดยใช้พรอมต์คำสั่งหรือ PowerShell เพื่อแก้ไขข้อผิดพลาดนี้ใน Windows คุณสามารถลองทำสิ่งต่อไปนี้:

  • ใช้ วิธี rm -rf ดังที่แสดงในการแก้ไข Linux ด้านบน
  • ตรวจสอบให้แน่ใจว่า โปรแกรมอื่นใดเข้าถึงไดเร็กทอรีที่คุณต้องการลบ หากเป็นเช่นนั้น ให้ใช้ตัวจัดการงานเพื่อปิดโปรแกรมนั้น

จากนั้นลองลบไดเร็กทอรีหลังจากนั้นใน cmd หรือ powershell โดยใช้ rmdir หรือ rm -rf

เกี่ยวกับผู้เขียน

แก้ไขข้อผิดพลาด  rmdir:Directory not Empty  บน Linux และ Windows

เควิน แอร์โรว์ส

Kevin Arrows เป็นผู้เชี่ยวชาญด้านเทคโนโลยีที่มีประสบการณ์สูงและมีความรู้และมีประสบการณ์ในอุตสาหกรรมมานานกว่าทศวรรษ เขาได้รับการรับรองจาก Microsoft Certified Technology Specialist (MCTS) และมีความมุ่งมั่นอย่างแรงกล้าที่จะติดตามข่าวสารเกี่ยวกับการพัฒนาเทคโนโลยีล่าสุด Kevin ได้เขียนหัวข้อที่เกี่ยวข้องกับเทคโนโลยีอย่างกว้างขวาง โดยนำเสนอความเชี่ยวชาญและความรู้ของเขาในด้านต่างๆ เช่น การพัฒนาซอฟต์แวร์ ความปลอดภัยทางไซเบอร์ และการประมวลผลแบบคลาวด์ การมีส่วนร่วมของเขาในด้านเทคโนโลยีได้รับการยอมรับและเคารพอย่างกว้างขวางจากเพื่อนร่วมงานของเขา และเขาได้รับการยกย่องอย่างสูงจากความสามารถของเขาในการอธิบายแนวคิดทางเทคนิคที่ซับซ้อนในลักษณะที่ชัดเจนและรัดกุม