أمر Linux rm: كل ما تحتاج إلى معرفته

نشرت: 2023-01-22
كمبيوتر محمول Linux يعرض موجه bash
fatmawati achmad zaenuri / Shutterstock.com
يتيح لك الأمر rm حذف ملف أو دليل يمرر اسمه: "rm filename" أو "rm -d directory". يمكنك تضمين مسار الدليل أيضًا. إذا كانت هناك ملفات في الدليل ، فاستخدم الخيار -r "rm -r directory" لحذف الملفات والمجلدات بشكل متكرر.

يحذف الأمر Linux rm الملفات والدلائل. لاستخدام هذه الأداة بأمان ، يجب أن تكون متأكدًا مما سيحدث عندما تضغط على "Enter". إليك ما تحتاج إلى معرفته.

جدول المحتويات

ما المقصود بأمر rm في Linux؟
كيفية حذف الملفات باستخدام rm
استخدام أحرف البدل مع جمهورية مقدونيا
استخدام rm بشكل تفاعلي
باستخدام خيار القوة rm
حذف الدلائل مع rm
تجنب الأخطاء عند استخدام rm
ما معدات الوقاية الشخصية؟

ما المقصود بأمر rm في Linux؟

أمر Linux rm مخصص بشكل أساسي لحذف الملفات. إنه أحد الأشياء التي يواجهها معظم الأشخاص بعد وقت قصير من بدء استخدام Linux. فقط بحكم كونك قادمًا جديدًا إلى Linux ، فمن المحتمل أن ترتكب أخطاء. ستنشئ الملفات أو تنسخها عن طريق الخطأ ، أو باسم خاطئ ، أو إلى المكان الخطأ. كل ذلك جزء من منحنى التعلم لسطر الأوامر. عمليات التنظيف لمثل هذه الأخطاء تشمل rm .

8 أخطاء مطبعية تحتاج حقًا إلى تجنبها على نظام Linux
ذات صلة 8 أخطاء مطبعية تحتاج حقًا إلى تجنبها على نظام Linux

يمكن للأمر rm حذف الملفات أو مجموعات الملفات أو الدلائل أو أشجار الدليل الكاملة. لهذا السبب يجب استخدامه بحذر. استخدام rm ليس صعبًا ، لكن عقوبة الفشل عالية.

عندما يتم حذف ملف باستخدام rm ، فإنه يختفي. لم يتم نقله إلى سلة المهملات. يتم طمسها على الفور. هذا لا يعني أنه يجب عليك تجنب استخدام rm . ولكن لاستخدامه بأمان ، يجب أن تكون على دراية بما يمكنه القيام به ، والتأكد من أنك تستخدمه بشكل صحيح.

بعض الأدوات أكثر خطورة من غيرها ، وأقل تسامحًا مع الأخطاء. لهذا السبب لم يكن هناك فيلم يسمى The Texas Wrench Massacre . rm ليس مفتاح ربط ، إنه بالتأكيد منشار بالمنشار.

يستخدم الناس المناشير طوال اليوم كل يوم ، وطالما أنهم يستخدمون واحدًا بمسؤولية ووعي ، فهم بخير. إنها نفس الصفقة مع rm . عندما تسحب rm من حقيبة الأدوات الخاصة بك ، يجب أن تبطئ وتحقق ثم تحقق مرة أخرى من سطر الأوامر.

الأمر rm قابل للتنفيذ ، وليس جزءًا من الصدفة. لذلك ، على الرغم من أننا نستخدم Bash هنا ، فهو نظام Linux rm القياسي ، وليس Bash rm خاصًا.

ذات صلة: سطور الأوامر: لماذا لا يزال الناس يضايقونهم؟

كيفية حذف الملفات باستخدام rm

إن أبسط طريقة لاستخدام rm هي توفير اسم الملف الذي تريد حذفه.

 جمهورية مقدونيا config.gc 

حذف ملف واحد عن طريق تمرير اسم الملف الخاص به إلى rm

يتم إرجاعك بصمت إلى سطر الأوامر. يتبنى rm موقف Linux الكلاسيكي المتقارب أنه إذا لم يشتكي من أي شيء ، فيمكنك افتراض أنه فعل ما طلبته. يؤدي توفير اسم ملف مثل هذا إلى قيام rm بالبحث عن الملف في دليل العمل الحالي.

يمكنك توفير أسماء ملفات متعددة في سطر الأوامر. يمكنك أيضًا توفير مسار دليل إذا لم يكن الملف الذي تريد حذفه موجودًا في الدليل الحالي.

 rm memlog.sh /home/dave/dev-archive/config.gc 

حذف ملفين عن طريق تمرير اسم الملف ومسار الدليل إلى rm

مرة أخرى ، لا يتم الإبلاغ عن أي شيء إذا تمكنت rm من حذف الملفات المحددة.

ذات صلة: 37 أمرًا مهمًا من أوامر Linux يجب أن تعرفه

استخدام أحرف البدل مع جمهورية مقدونيا

تسمح لك أحرف البدل بتحديد مجموعات أو مجموعات من الملفات دون الحاجة إلى سرد الملفات الفردية في سطر الأوامر.

تمثل العلامة النجمية " * " أي سلسلة من الأحرف ، بما في ذلك لا شيء. علامة الاستفهام " ? "يمثل أي حرف واحد.

للتحقق من أن أحرف البدل الخاصة بك ستطابق ما تتوقعه منهم ، ولا شيء أكثر من ذلك ، يمكنك استخدامها مع ls قبل استخدامها مع rm.

لحذف جميع ملفات PNG في الدليل الحالي ، استخدم “* .png.” هذا يعني أنه سيتم مطابقة أي تسلسل من الأحرف متبوعًا بـ ".png". عندما يتم حذف الملفات ، يمكننا استخدام ls للتحقق من اختفائها.

 ls * .png
 rm *. png
 ls * .png 

استخدام حرف البدل النجمة لحذف جميع الملفات بامتداد ملف PNG

على حاسوبنا التجريبي ، لدينا ملفان في الدليل الحالي بأسماء تبدأ بـ "config".

يمكننا حذف كلاهما باستخدام حرف البدل النجمة. إنه يطابق كلا الملفين لأن rm يبحث عن أسماء الملفات التي تبدأ بـ "config" ، متبوعة بأي تسلسل من الأحرف. في ملف واحد ، تسلسل الأحرف هذا هو ".sl3" ، امتداد اسم الملف. لا يحتوي اسم الملف الآخر على أحرف بعد "config" ، ولكن نظرًا لأن العلامة النجمية تطابق أي أحرف أو لا تطابق أي أحرف ، فإنها تطابق اسم الملف هذا أيضًا.

 تكوين ls *
 تكوين rm *
 تكوين ls * 

استخدام حرف البدل النجمة لحذف ملفين ، أحدهما بامتداد ملف والآخر بدونه

يمكنك استخدام علامة الاستفهام في أزواج. سيؤدي هذا إلى حذف الملفات التي تحتوي على امتدادات ملفات مكونة من حرفين بالضبط.

 ls *. ؟؟
 rm *. ؟؟
 ls *. ؟؟ 

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

ذات صلة: 15 حرفًا خاصًا تحتاج إلى معرفتها لباش

استخدام rm بشكل تفاعلي

تتمثل الطريقة الآمنة لاستخدام rm في إجباره على طلب التأكيد قبل حذف كل ملف. يتيح لك الخيار -i (تفاعلي) القيام بذلك. عند إضافة هذا الخيار إلى سطر الأوامر ، سيطالبك rm قبل كل حذف ، مما يمنحك فرصة لتخطي الإجراءات التي لم تكن تقصدها.

سنستخدم الخيار -i (تفاعلي) في هذا الأمر. يحاول حذف جميع الملفات بامتداد ملف ذو حرف واحد.

 rm -i *.؟ 

استخدام rm بشكل تفاعلي بحيث يطالب قبل كل عملية حذف

يتم تقديم كل ملف مطابق بدوره. إذا أجبت بـ "Y" أو "Y" ، فسيتم حذف الملف. إذا أجبت بـ "n" ، يتم الاحتفاظ بالملف. في الواقع ، إذا أجبت بأي شيء بخلاف "y" أو "y" ، فسيتم الاحتفاظ بالملف. يمكنك فقط الضغط على "إدخال" ويتم الاحتفاظ بالملف.

يمكنك العمل بسرعة من خلال قائمة الملفات الخاصة بك ، وحذف الملفات أو تخطيها لاختيار الملفات التي تريد إزالتها. كما سنرى ، يمكنك استخدام الخيار i- (تفاعلي) مع خيارات rm الأخرى.

ذات صلة: أفضل أجهزة كمبيوتر Linux المحمولة للمطورين والمتحمسين

باستخدام خيار القوة rm

إذا حاولت حذف ملف للقراءة فقط ، فسيطالبك rm بالتأكيد قبل حذف الملف. هذه شبكة أمان جيدة ، ولكنها قد تصبح مملة إذا كان لديك الكثير من الملفات التي تريد حذفها.

 rm geonames.sl3 

rm مطالبة المستخدم بتأكيد رغبته في حذف ملف للقراءة فقط

يرشد الخيار -f (القوة) إلى rm بعدم المطالبة مطلقًا. أنت تقول له "نعم ، احذف جميع الملفات التي عادة ما تطالبني بها." كما يمنع rm من الشكوى من عدم وجود ملفات.

 rm -f geonames.sl3 

استخدام الخيار -f (القوة) لمنع rm من المطالبة بعمليات الحذف

غالبًا ما يتم استخدام الخيار -f (القوة) عندما تقوم بحذف مجموعة متداخلة من الملفات والأدلة.

حذف الدلائل مع rm

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

كيفية حذف الملفات والدلائل في Linux Terminal
ذات صلة كيفية حذف الملفات والدلائل في Linux Terminal

يشبه حذف دليل حذف ملف. نحن نقدم اسم الدليل في سطر الأوامر. نحتاج إلى تضمين الخيار -d (الدليل). كما فعلنا عندما كنا نحذف الملفات ، يمكننا تقديم أسماء عدة أدلة. يمكننا توفير مسار إلى الدليل غير موجود في دليل العمل الحالي.

 rm -d المشاريع القديمة 

استخدام الخيار -d (الدليل) لحذف دليل

إذا كان الدليل يحتوي على ملفات ، فسوف يفشل هذا.

لحذف دليل ومحتوياته ، استخدم العلامة -r (العودية). يؤدي هذا إلى حذف الدليل وملفاته وأي أدلة متداخلة يحتوي عليها.

 rm -d الأرشيف
 rm -r الأرشيف 

استخدام الخيار -r (العودي) لحذف دليل وملفاته

نجح الأمر الثاني.

لتبديل rm إلى وضع المنشار الكامل ، يمكننا الجمع بين خياري -r (العودي) و -f (القوة). هذا يخبر rm بحذف جميع الملفات والمجلدات بشكل متكرر في شجرة الدليل ، حتى لو كانت للقراءة فقط ، ودون مطالبتنا بذلك.

على الكمبيوتر التجريبي لدينا ، لدينا دليل يسمى "رمز تم ترحيله". يحتوي على ملفات ودليل آخر يسمى "6502." يحتوي الدليل "6502" أيضًا على ملفات ودليل آخر يسمى "ASM". هناك ملفات في هذا الدليل أيضًا. بعض الملفات للقراءة فقط.

سنقوم أيضًا بتضمين الأمر -v (مطوّل) بحيث يخبرنا rm بما يفعله.

 rm -rfv تم ترحيله 

استخدام العلامات -rfv للتسبب في إزالة rm للملفات والدلائل ، حتى ملفات القراءة فقط ، دون مطالبة

في الإخراج يمكننا أن نرى أنه تمت إزالة الملفات وعندما تكون فارغة ، تتم إزالة الدلائل أيضًا.

إخراج العلامات -rfv يظهر الملفات المحذوفة والأدلة التي تم حذفها بمجرد أن تصبح فارغة

تجنب الأخطاء عند استخدام rm

يمكن أن تسبب المسافات والأحرف الغريبة الأخرى في أسماء الملفات مشاكل. أسماء الملفات التي تبدأ بواصلة " - " على سبيل المثال ، يمكن الخلط بينها وبين خيارات سطر الأوامر. إذا كان لدينا ملف يسمى "-contributors.txt" ، فسيحاول rm معالجة الاسم كسلسلة من خيارات سطر الأوامر.

نظرًا لأن rm ليس لديه خيار يسمى " -c " ، يفشل تحليل سطر الأوامر ولا يتم حذف الملف. لحذف الملف ، يجب أن تسبقه بـ "./" لتوفير مسار إليه.

 rm- المساهمون. txt
 rm ./-contributors.txt 

استخدام "./" للتغلب على مشكلة حذف ملف يكون حرفه الأول واصلة

المسافات في أسماء الملفات هي أيضًا مشكلة. إما أن تقوم باقتباس اسم الملف بالكامل ، أو استخدام علامة التبويب لإدراج اسم الملف في سطر الأوامر نيابة عنك ، مع تخطي المسافات كما تفعل. إذا لم تستخدم أيًا من هذين الخيارين ، فسوف يتعامل rm مع كل جزء من اسم الملف كملف فردي.

كيفية التعامل مع المسافات في أسماء الملفات على نظام Linux
ذات صلة كيفية التعامل مع المسافات في أسماء الملفات على نظام Linux

هنا ، لدينا ملفان ، أحدهما يسمى "النسخ الاحتياطي" والآخر يسمى "النسخ الاحتياطي للحذف". يمكننا توضيح المشكلة مع أسماء الملفات هذه باستخدام ls . إذا حاولنا استخدام ls في ملف "backup to delete" ولم نفلت من اسم الملف أو ننقله ، يفشل الأمر.

 ls -hl النسخ الاحتياطي للحذف 

محاولة استخدام ls في ملف به مسافات في اسمه ، دون اقتباس السلسلة أو الهروب من المسافات

ls يشتكي من أنه لا يمكنه العثور على الملفات التي تسمى "to" أو "delete" ، لكنه يعثر على ملف يسمى "backup". هذا ما سيفعله rm أيضًا. سيشتكي من ملفين مفقودين ، وبعد ذلك سيحذف الملف المسمى "backup" ، وهو ما لم نرغب فيه.

 rm النسخ الاحتياطي للحذف 

محاولة استخدام rm في ملف به مسافات في اسمه ، دون اقتباس السلسلة أو الهروب من المسافات

يعتقد rm أنه يعمل مع ثلاثة ملفات ، "نسخ احتياطي" و "إلى" و "حذف". يشتكي من أنه لا يمكنه العثور على "إلى" و "حذف" ، لكنه يعثر على "نسخة احتياطية" ويحذفها بصمت.

يسمح اقتباس اسم الملف لـ rm بحذف الملف الصحيح.

 rm "نسخ احتياطي للحذف" 

استخدام rm مع اسم ملف مقتبس للتغلب على مشكلة المسافات في اسم الملف

يمكنك أيضًا الهروب من المساحات باستخدام الشرطة المائلة للخلف " \ " ، مثل هذا:

 rm النسخ الاحتياطي \ للحذف 

استخدام rm مع اسم ملف به مسافات هاربة للتغلب على مشكلة المسافات في اسم الملف

إذا كنت تستخدم علامة التبويب لإدخال أسماء الملفات الخاصة بك ، فسيتم هروبها تلقائيًا ، إذا لزم الأمر.

ما معدات الوقاية الشخصية؟

على عكس المناشير الواقعية ، لا توجد معدات حماية شخصية يمكنك استخدامها مع rm .

ما يمكنك القيام به ، هو التحقق من بناء الجملة الخاص بك مع ls قبل تجربته مع rm ، واستخدام الوضع التفاعلي حتى تتمكن من تحديد ما يتم حذفه.

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

ذات صلة: احذف الملفات الأقدم من x يومًا على نظام Linux