ฉันจะลบไดเรกทอรีต่อไปนี้ได้อย่างไร
ฉันพิมพ์:
rmdir lampp
ข้อผิดพลาดนี้เกิดขึ้น:
rmdir: failed to remove `lampp': Directory not empty
มีคำสั่งให้ลบไฟล์ทั้งหมดในไดเรกทอรีและลบโฟลเดอร์ไดเรกทอรีหรือไม่?
rm -r lampp
จะทำ
ฉันจะลบไดเรกทอรีต่อไปนี้ได้อย่างไร
ฉันพิมพ์:
rmdir lampp
ข้อผิดพลาดนี้เกิดขึ้น:
rmdir: failed to remove `lampp': Directory not empty
มีคำสั่งให้ลบไฟล์ทั้งหมดในไดเรกทอรีและลบโฟลเดอร์ไดเรกทอรีหรือไม่?
rm -r lampp
จะทำ
คำตอบ:
rm -rf lampp
มันจะลบไฟล์และโฟลเดอร์ทั้งหมดที่มีอยู่ในlampp
ไดเรกทอรี
เพิ่มsudo
ที่จุดเริ่มต้นของคำสั่ง:
sudo rm -rf folderName
มิฉะนั้นsudo
คุณจะไม่ได้รับอนุญาตคืนถูกปฏิเสธ และเป็นแนวปฏิบัติที่ดีที่จะไม่พยายามใช้-f
ในขณะที่ลบไดเรกทอรี:
sudo rm -r folderName
หมายเหตุ: นี่ถือว่าคุณอยู่ในระดับเดียวกับโฟลเดอร์ที่คุณต้องการลบในเทอร์มินัลแล้วหากไม่ใช่:
sudo rm -r /path/to/folderName
FYI: คุณสามารถใช้ตัวอักษร-f
, -r
, -v
:
-f
= เพื่อเพิกเฉยต่อไฟล์ที่ไม่มีอยู่ไม่ต้องพรอมต์-r
= เพื่อลบไดเรกทอรีและเนื้อหาซ้ำ ๆ-v
= เพื่ออธิบายสิ่งที่กำลังทำ--no-preserve-root
เกินไป
rm -R lampp
อย่างไรก็ตามคุณต้องระวังคำสั่งแบบเรียกซ้ำเช่นนี้เนื่องจากเป็นการง่ายที่จะลบมากกว่าที่คุณตั้งใจ
มันเป็นความคิดที่ดีที่จะตรวจสอบว่าคุณอยู่ในไดเรกทอรีใดและตรวจสอบว่าคุณพิมพ์คำสั่งถูกต้องก่อนที่จะกด Enter
รุ่นที่ปลอดภัยยิ่งขึ้น
rm -R -i lampp
การเพิ่ม-i
ทำให้มันปลอดภัยขึ้นเล็กน้อยเพราะจะให้คุณลบทุกครั้ง อย่างไรก็ตามหากคุณลบไฟล์จำนวนมากสิ่งนี้จะไม่สามารถนำไปใช้ได้จริง ถึงกระนั้นคุณสามารถลองสิ่งนี้ก่อน
หมายเหตุเกี่ยวกับ -f
ตัวเลือก:
หลายคนแนะนำให้ใช้-f
(รวมเข้ากับ-Rf
หรือ-rf
) โดยอ้างว่าเป็นการกำจัดข้อความแจ้งที่น่ารำคาญ อย่างไรก็ตามในกรณีปกติที่คุณไม่จำเป็นต้องใช้และใช้มันยับยั้งปัญหาบางอย่างที่คุณอาจไม่ต้องการทราบเกี่ยวกับ เมื่อคุณใช้งานคุณจะไม่ได้รับการเตือนหากข้อโต้แย้งของคุณระบุไดเรกทอรีหรือไฟล์ที่ไม่มีอยู่: rm จะไม่สามารถลบสิ่งใด ๆ ได้อย่างเงียบ ๆ ตามกฎทั่วไปให้ลองก่อนโดยไม่มี-f
: หากมีปัญหากับข้อโต้แย้งของคุณคุณจะสังเกตเห็น หากคุณเริ่มได้รับพรอมต์มากเกินไปเกี่ยวกับไฟล์ที่ไม่มีการเข้าถึงเพื่อเขียนคุณสามารถลองใช้ได้-f
. หรือเรียกใช้คำสั่งจากผู้ใช้ (หรือผู้ใช้ superuser โดยใช้ sudo) ที่มีสิทธิ์แบบเต็มไปยังไฟล์และไดเรกทอรีที่คุณลบเพื่อป้องกันการแจ้งเหล่านี้ในสถานที่แรก
-r
สามารถใช้ตัวพิมพ์เล็กได้เช่นกันและมีผลเหมือนกันที่นี่ ฉันมักจะใช้ตัวพิมพ์ใหญ่เพียง-R
เพราะมันสอดคล้องกับคำสั่งอื่น ๆ ที่ฉันใช้เช่นgrep
และchmod
บางแห่งเท่านั้นที่สนับสนุนรูปแบบตัวพิมพ์ใหญ่
rm -ir FOLDER
ได้
มีหลายวิธีในการลบไดเรกทอรีผ่านโหมด CLI ขึ้นอยู่กับวิธีที่คุณพอใจ
rm -rvf /path/to/directory
-r
= ลบไดเรกทอรีและเนื้อหาซ้ำ ๆ-v
= อธิบายสิ่งที่กำลังทำ-f
= เพิกเฉยไฟล์ที่ไม่มีอยู่ไม่ต้องพรอมต์หากคุณยังใหม่ใน Linux ให้ใช้ man pages of command ( man rm
) เพื่อดูตัวเลือกเพิ่มเติมและความแม่นยำมากขึ้น
วันนี้ฉันมีปัญหาบางอย่าง แต่ฉันเอาชนะมันด้วย sudo
Caveat: ขอให้แน่ใจว่าคุณต้องการลบทั้งหมดก่อนที่จะใช้คำสั่งด้านล่าง
$ sudo rm -R [Directory name]
ฉันทำสิ่งนี้ได้สำเร็จในวันนี้และลบไดเรกทอรีที่ไม่ว่างเปล่าจำนวนมากที่ฉันยืนยันว่าฉันไม่ต้องการ / ต้องการ
ฉันใช้ 14.04 LTS
โดยส่วนตัวแล้วฉันต้องการลบไดเรกทอรีที่มีไฟล์ป้องกันการเขียน / s (.git และไดเรกทอรีย่อย) และในที่สุดฉันก็รู้ว่าฉันต้องกลายเป็นผู้ใช้ขั้นสูงเพื่อที่จะลบไฟล์เหล่านี้ได้สำเร็จ นี่คือสิ่งที่ฉันทำ:
#became super user
sudo su -
#deleted contents of, and then the directory, harvey_snake/
rm -R harvey_snake/
sudo su
ที่นี่ เพียงแค่คำนำหน้าคำสั่งด้วยrm
sudo
เพื่อความปลอดภัยเป็นวิธีปฏิบัติที่ดี (ตามผู้สนับสนุนของ sudo) ไม่ให้อยู่ในสถานะพร้อมท์รูทเมื่อไม่จำเป็น
sudo rm -r
นอกจากนี้ยังให้มากมากว่าไดเรกทอรีที่คุณอยู่ในถ้าคุณ
/directory_name
) เพื่อให้มีข้อสงสัยเกี่ยวกับไดเรกทอรีที่คุณลบ