ฉันจะลบโฟลเดอร์ได้อย่างไร


71

ฉันเป็นผู้ใช้ใหม่และฉันกำลังพยายามลบโฟลเดอร์เฉพาะ ฉันใช้sudo rm /path/แต่มันใช้งานไม่ได้ คำสั่งที่ถูกต้องในการใช้คืออะไร?

เป็นไฟล์ที่ฉันพยายามลบ แต่ฉันได้รับข้อความว่าว่างเปล่า

คำตอบ:


89

ตรวจสอบให้แน่ใจว่าโฟลเดอร์นั้นว่างเปล่าจริง ๆ (อาจมีไฟล์ / โฟลเดอร์ซ่อนอยู่) ดูเนื้อหาของไฟล์อีกครั้งด้วย

sudo ls -lha /path/

หากคุณแน่ใจอย่างแน่นอนว่าไม่มีสิ่งที่คุณต้องการ (รวมถึงไดเรกทอรีย่อย) ให้ลบออกด้วย

sudo rm -r -f /path/
  • -rสำหรับเรียกซ้ำดังนั้นมันจะลบโฟลเดอร์และโฟลเดอร์ย่อยแม้ว่าจะไม่ว่างเปล่า
  • -fมีผลบังคับใช้ (อาจไม่จำเป็น)

@EliranMalka การ-fตั้งค่าสถานะไม่จำเป็นสำหรับrmการลบรายการที่มีอยู่ในโฟลเดอร์ที่ระบุโดยตรงซึ่งฉันเข้าใจว่าคุณหมายถึง "ที่อยู่ในเนื้อหาของโฟลเดอร์" แต่-fหมายถึงการบังคับใช้ทำให้rmไม่ต้องรอการยืนยันแม้ว่าไฟล์ที่ถูกลบจะไม่มีสิทธิ์ในการเขียน ( rm: remove write-protected regular file ‘foo’?) และทำให้rmไม่เตือนเมื่อมีความพยายามลบไฟล์ที่ไม่มีอยู่แล้ว เป็นการดีที่สุดที่จะใช้-fแฟล็กเมื่อจำเป็นเท่านั้น rm -rโดยไม่ต้อง-fอย่างไม่ "อยู่ที่เนื้อหาของโฟลเดอร์."
Eliah Kagan

วัด? ฉันไม่รู้จริง ๆ ว่าฉันกำลังพูดอะไร ... ลืมมันไป
เถอะ

ฉันต้องลบผู้นำ / เพื่อให้มันได้ผลสำหรับฉัน เช่น:sudo rm -r -f path/
Elon Zito

15

สิ่งหนึ่งที่ควรทราบคือโฟลเดอร์ควรว่างเปล่าจากนั้นเรียกใช้คำสั่งต่อไปนี้

rmdir directory_name

สิ่งที่ควรทราบอีกอย่างคือคำสั่งที่คุณพิมพ์ไม่ควรเริ่มต้นด้วยเครื่องหมายทับ (/) ไม่เว้นแต่โฟลเดอร์จะอยู่ภายใต้รูท

ตัวเลือกสุดท้ายและคุณควรระวังให้มากในขณะที่ใช้ตัวนี้คือบังคับให้ลบไดเรกทอรีที่เป็นปัญหารวมถึงไฟล์ / ไดเรกทอรีอื่น ๆ ในนั้น

rm -rf directory_name

ไชโย


11

สำหรับผู้เริ่มต้นฉันจะไม่แนะนำให้ติดนิสัยการใช้rm -Rfหรือrm -r -fสิ่งนี้จะกัดคุณในหน้าไม่ช้าก็เร็ว ปลอดภัยกว่าคือการสร้างชื่อแทนทั้งระบบ เปิดเทอร์มินัล: Ctrl+ Alt+ Tจากนั้นพิมพ์:

alias rm='rm -i'

ดังนั้นคุณจะได้รับแจ้งก่อนที่จะลบภาพวันหยุดทั้งหมดโดยไม่ตั้งใจ คำแนะนำที่สองที่ฉันต้องการเพิ่มคือการใช้rmdirมันจะบ่นเกี่ยวกับไดเรกทอรีที่ไม่ว่างเปล่าและนั่นคือสิ่งที่คุณต้องการในฐานะมือใหม่

แต่ในความหมายของคำถามคำตอบตามที่ระบุไว้ที่นี่แล้วใช้-fเพื่อลบโฟลเดอร์


3

หากคุณแน่ใจว่ามีไดเรกทอรีอยู่แล้ว:

(sudo) rm -rfv /path/

เพื่อลบไดเรกทอรีทั้งหมดไปยังโฟลเดอร์และไฟล์ของคุณ


1
อย่าใช้ช่องว่างในพา ธ เนื่องจากคุณอาจพยายามลบระบบไฟล์ทั้งหมดซ้ำ ๆ/
cauon

ทำงานให้ฉัน ฉันใช้สำหรับลบโฟลเดอร์ hadoop <code> sudo rm -rfv hadoop / </code>
Sumit Ramteke

2

หากคุณต้องการลบไฟล์ทั้งหมดในไดเรกทอรีและเพียงแค่ต้องการให้ไดเรกทอรีหรือไฟล์บางไฟล์ใช้ (ด้วยการ-iตั้งค่าสถานะคุณสามารถเก็บไฟล์หรือลบมัน)

rm -i *

-i สำหรับการโต้ตอบและจะแจ้งให้คุณทุกครั้งที่มีไฟล์ที่จะลบ

หากคุณต้องการลบไดเรกทอรีย่อยในไดเรกทอรีหลักให้ใช้:

rm -rf NameOfDirectory
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.