سؤال كيفية حذف دليل غير فارغ في المحطة؟


كيف يمكنني حذف الدليل التالي؟

كتبت:

rmdir lampp

يأتي هذا الخطأ:

rmdir: failed to remove `lampp': Directory not empty

هل هناك أمر لحذف جميع الملفات في الدليل وحذف مجلد الدليل؟


540
2017-11-16 04:37


الأصل


لا يمكنني إزالة دليل مثل "مجلد جديد" باستخدام جميع الأوامر المفصلة أعلاه. انها مزدوجة الكلمة. لكنني أريد إزالة هذا الدليل. أي اقتراحات سيكون موضع ترحيب. T.Divakara ، بنغالورو ، الهند
في المساحة الفارغة في اسم الملف ، حاول استخدام 'quotes'> rmdir 'New Folder' <ثم المجلد disapers ، أو استخدام أحرف الهروب للأحرف غير القابلة للإنشقاق. - Ken Mollerup
مجرد القيام rm -r lampp سوف تفعل. - John Strood


الأجوبة:


استخدم الأمر أدناه:

rm -rf lampp

يقوم بحذف جميع الملفات والمجلدات الموجودة في lampp دليل.

في حال لم يكن لدى المستخدم الإذن بحذف المجلد:

إضافة sudo في بداية الأمر:

sudo rm -rf folderName

خلاف ذلك ، دون sudo سوف يتم رفض الإذن. ومن الممارسات الجيدة محاولة عدم الاستخدام -f أثناء حذف الدليل:

sudo rm -r folderName

ملاحظة: هذا يفترض أنك بالفعل على نفس المستوى من المجلد الذي تريد حذفه في الجهاز ، إذا لم يكن:

sudo rm -r /path/to/folderName

لمعلوماتك: يمكنك استخدام الحروف -f، -r، -v:

  • -f = لتجاهل الملفات غير الموجودة ، لا تطالبك أبدًا
  • -r = لإزالة الدلائل ومحتوياتها بشكل متكرر
  • -v = شرح ما يتم عمله

757
2017-11-16 05:19



في رأيي المتواضع ، من الأفضل عدم إضافة "f" في المحاولة الأولى. الغرض منه هو تجاهل بعض تلميحات التحذير التي قد تكون مهمة ، خاصة إذا كنت قد قمت بها عن طريق الخطأ في / من الدليل غير الصحيح. في رأيي ، من الجيد أن تجرب دون "f" أولاً ، ثم فقط إذا كنت تواجه الكثير من مطالبات التحذير وكنت متأكدًا أنه من الجيد تجاهلها جميعًا ، Ctrl + C للخروج منها وتكرار الأمر مع " F". - thomasrutter
BKSpurgeon لا يحدث ذلك أنت اكتب عن طريق الخطأ --no-preserve-root جدا. - muru
@ thomasrutter ... أوافق. مالك ملف "xxx": جذر  والمجموعة: جذر يمكن حذفها مع -F مفتاح كهربائي؛ ودون سودو. هذه هي الرسالة بدون -F: "rm: إزالة الملف العادي المحمي ضد الكتابة "/home/william/.cache/netbeans/v08.01/tmp/xxx"؟ _ ". _Tread بلطف. - will


rm -R lampp

ومع ذلك ، عليك أن تكون حذراً مع أمر تعاودي مثل هذا ، لأنه من السهل حذف الكثير عن طريق الخطأ.

من المستحسن دائمًا التحقق من الدليل الذي توجد فيه ، وما إذا كنت قد كتبت الأمر بشكل صحيح ، قبل الضغط على Enter.

إصدار أكثر أمانًا

rm -R -i lampp

مضيفا -i يجعله أكثر أمانًا ، لأنه سيطالبك بكل حذف. ومع ذلك ، إذا كنت تقوم بحذف العديد من الملفات فهذا لن يكون عمليًا جدًا. لا يزال ، يمكنك أن تجرب هذا أولا.

ملاحظة حول  -f  اختيار:

كثير من الناس يقترحون استخدام -f (دمجها في -Rf أو -rf) ، مدعيا أنه يتخلص من المطالبات المزعجة. ومع ذلك ، في الحالات العادية التي لا تحتاج إليها ، واستخدامها يقمع بعض المشاكل التي ربما كنت فعل تريد أن تعرف عن. عند استخدامه ، لن يتم تحذيرك إذا كانت حججك توفر دليلاً أو ملفًا غير موجود: ستفشل rm فقط في حذف أي شيء. كقاعدة عامة ، حاول أولا دون -f: إذا كان هناك مشاكل مع الحجج الخاصة بك ، فسوف تلاحظ. إذا بدأت في الحصول على الكثير من المطالبات حول الملفات دون الوصول للكتابة ، فيمكنك تجربتها -f. بدلاً من ذلك ، قم بتشغيل الأمر من مستخدم (أو المستخدم المتميز باستخدام sudo) يحتوي على أذونات كاملة للملفات والأدلة التي تقوم بحذفها لمنع هذه المطالبات في المقام الأول.


89
2017-11-16 04:56



ملاحظة: صغيرة -r يمكن استخدامها أيضًا ولها نفس التأثير هنا. أنا أميل فقط إلى استخدام الأحرف الكبيرة -R لأنها تتفق مع الأوامر الأخرى التي استخدمها مثل grep و chmod، بعضها يدعم فقط النموذج الكبير. - thomasrutter
عملت هذه واحدة بالنسبة لي باستخدام adb (android debug bridge) على Android. كان يحاول RM -RF لكنه لم ينجح. كان لاستخدام RM -R. شكر. - raddevus


هناك العديد من الطرق لحذف دليل من خلال وضع CLI. يعتمد ذلك على الطريقة التي ترتاح بها.

rm -rvf /path/to/directory  
  • -r  = إزالة الدلائل ومحتوياتها بشكل متكرر
  • -v  = شرح ما يتم عمله
  • -f  = تجاهل الملفات غير الموجودة ، لا تطالبك أبدًا

إذا كنت مستخدمًا جديدًا في Linux ، فاستخدم صفحات الأوامر الخاصة بالرجال (man rm) لمزيد من الخيارات والمزيد من الدقة.


21
2017-11-16 05:38





كنت أواجه بعض المشاكل مع ذلك اليوم ، لكنني تغلبت عليه مع sudo.

التحذير: كن على يقين من أنك تريد حذف الأمر بأكمله قبل استخدام الأمر أدناه.

$ sudo rm -R [Directory name]

لقد نجحت في ذلك اليوم ، وأزلت العديد من الدلائل غير الفارغة التي أكدت أنني لم أكن أريدها / احتاجها.

أنا أستخدم 14.04 LTS


-2
2017-09-28 23:00



"SUDO" ليست قيادة - "sudo" هو. ومع ذلك ، لا تستخدم sudo لحذف دليل غير فارغ ، يمكنك استخدامه لحذف ملف غير مملوك من قبلك. إن القيام بذلك بطبيعة الحال أمر خطير وغير ذكي للغاية ، حيث لا يجب عليك حذف الملفات التي لا تملكها بشكل أعمى. - Marty Fried


بالمناسبة أنا شخصيا أرغب في حذف دليل يحتوي على ملف / s محمي ضد الكتابة (.git والدلائل الفرعية) وأدركت في النهاية أنني بحاجة أيضا إلى أن أصبح مستخدمًا ممتازًا لحذف هذه الملفات بنجاح. هذا ما فعلته:

#became super user
sudo su -

#deleted contents of, and then the directory, harvey_snake/
rm -R harvey_snake/

-3
2017-09-17 17:35



لا أعتقد أنك بحاجة sudo su هنا. فقط بادئة rm الأمر مع sudo. للأمن من الممارسات الجيدة (وفقا لمؤيدي sudo) عدم البقاء في موجه الجذر عندما لا تكون ضرورية. - thomasrutter
أيضا ، أن تكون متأكدا جدا جدا من الدليل الذي أنت فيه إذا كنت sudo rm -r. - Tony Martin
هل يمكن أن تجعل الأمر نسبي الجذر (/directory_name) لذلك لا يمكن أن يكون هناك شك حول الدليل الذي تقوم بحذفه. - Yaakov Ainspan