النقاط الرئيسية
>يتيح لك الأمر rm حذف ملف أو دليل عن طريق تمرير اسمه: “rm filename” أو “rm -d directory”. يمكنك أيضًا تضمين مسار الدليل. إذا كان الدليل يحتوي على ملفات، فاستخدم الخيار -r “rm -r directory” لحذف الملفات والمجلدات بشكل متكرر.
لينكس rm
يقوم الأمر بحذف الملفات والدلائل. لاستخدام هذه الأداة بأمان، يجب أن تكون متأكدًا مما سيحدث عند الضغط على “Enter”. إليك ما تحتاج إلى معرفته.
ما هو الأمر rm في لينكس؟
لينكس rm
إن الأمر مخصص في المقام الأول لحذف الملفات. وهو الأمر الذي يواجهه معظم الأشخاص بعد فترة وجيزة من بدء استخدام Linux. فبحكم كونك وافدًا جديدًا إلى Linux، فمن المحتمل أن ترتكب أخطاء. ستنشئ أو تنسخ الملفات عن طريق الخطأ، أو باسم خاطئ، أو إلى المكان الخطأ. كل هذا جزء من منحنى التعلم لسطر الأوامر. تتضمن عمليات التنظيف لمثل هذه الأخطاء rm
.
ال rm
يمكن للأمر حذف الملفات أو مجموعات الملفات أو الدلائل أو أشجار الدلائل بالكامل. ولهذا السبب يجب استخدامه بحذر. rm
ليس الأمر صعبًا، لكن عقوبة الفشل فيه عالية.
عندما يتم حذف ملف مع rm
لقد اختفى. لم يتم نقله إلى سلة المهملات. بل يتم محوه على الفور. هذا لا يعني أنه يجب عليك تجنب استخدام rm
ولكن لاستخدامه بأمان، عليك أن تكون على دراية بما يمكنه فعله، والتأكد من استخدامه بشكل صحيح.
بعض الأدوات أكثر خطورة من غيرها، وأقل تسامحًا مع الأخطاء. ولهذا السبب لم يتم إنتاج فيلم بعنوان “مذبحة مفتاح تكساس”. rm
إنها ليست مفتاح ربط، إنها بالتأكيد منشار كهربائي.
يستخدم الناس المناشير الكهربائية طوال اليوم كل يوم، وطالما أنهم يستخدمونها بمسؤولية ووعي، فإنهم بخير. الأمر نفسه ينطبق على rm
. عندما تسحب rm
من حقيبة أدواتك، يتعين عليك التباطؤ والتحقق، ثم التحقق مرة أخرى، من سطر الأوامر الخاص بك.
ال rm
الأمر عبارة عن ملف قابل للتنفيذ، وليس جزءًا من shell. لذا، على الرغم من أننا نستخدم Bash هنا، فهو Linux القياسي rm
، ليس باش خاص rm
.
كيفية حذف الملفات باستخدام rm
أبسط طريقة للاستخدام rm
هو توفير اسم الملف الذي تريد حذفه.
rm config.gc
لقد تم إرجاعك بصمت إلى سطر الأوامر. rm
يتبنى موقف لينكس الكلاسيكي الصامت الذي ينص على أنه إذا لم يشتكي من أي شيء، فيمكنك افتراض أنه فعل ما طلبته منه. يؤدي تقديم اسم ملف مثل هذا إلى rm
للبحث عن الملف في دليل العمل الحالي.
يمكنك توفير أسماء ملفات متعددة على سطر الأوامر. كما يمكنك توفير مسار الدليل إذا لم يكن الملف الذي تريد حذفه موجودًا في الدليل الحالي.
rm memlog.sh /home/dave/dev-archive/config.gc
مرة أخرى، لا يتم الإبلاغ عن أي شيء إذا rm
يتمكن من حذف الملفات المحددة.
استخدام الأحرف البدل مع rm
تتيح لك الأحرف البدل تحديد مجموعات أو مجموعات من الملفات دون الحاجة إلى إدراج الملفات الفردية على سطر الأوامر.
“النجمة”*
“يمثل أي تسلسل من الأحرف، بما في ذلك عدم وجود أي منها. علامة الاستفهام “?
“يمثل أي حرف مفرد.
لتتأكد من أن أحرف البدل الخاصة بك سوف تتطابق مع ما تتوقعه منها، وليس أكثر من ذلك، يمكنك استخدامها مع ls قبل استخدامها مع rm.
لحذف جميع ملفات PNG في الدليل الحالي، استخدم “*.png”. وهذا يعني أن أي تسلسل من الأحرف يتبعه “.png” سيتم مطابقته. عند حذف الملفات، يمكننا استخدام ls
للتأكد من أنهم ذهبوا.
ls *.png
rm *.png
ls *.png
على جهاز الكمبيوتر الاختباري الخاص بنا، لدينا ملفين في الدليل الحالي تبدأ أسماؤهما بـ “config”.
يمكننا حذف كليهما باستخدام حرف البدل النجمي. وهو يتطابق مع كلا الملفين لأنه rm
يبحث عن أسماء الملفات التي تبدأ بـ “config”، متبوعة بأي تسلسل من الأحرف. في أحد الملفات، يكون تسلسل الأحرف هذا هو “.sl3″، وهو امتداد اسم الملف. لا يحتوي اسم الملف الآخر على أي أحرف بعد “config”، ولكن لأن علامة النجمة تطابق أي أحرف أو لا تتطابق مع أي أحرف، فإنها تطابق اسم الملف هذا أيضًا.
ls config*
rm config*
ls config*
يمكنك استخدام علامة الاستفهام في أزواج. سيؤدي هذا إلى حذف الملفات التي تحتوي على امتدادات ملفات مكونة من حرفين بالضبط.
ls *.??
rm *.??
ls *.??
استخدام rm بشكل تفاعلي
طريقة آمنة للاستخدام rm
هو إجباره على طلب التأكيد قبل حذف كل ملف. -i
يتيح لك الخيار (التفاعلي) القيام بذلك. عندما تضيف هذا الخيار إلى سطر الأوامر الخاص بك، rm
سيطالبك قبل كل عملية حذف، مما يتيح لك فرصة تجاوز الإجراءات التي لم تكن تقصدها.
سوف نستخدم -i
خيار (تفاعلي) في هذا الأمر. يحاول حذف جميع الملفات التي تحتوي على امتداد ملف مكون من حرف واحد.
rm -i *.?
يتم عرض كل ملف مطابق بالترتيب. إذا أجبت بـ “y” أو “Y”، فسيتم حذف الملف. إذا أجبت بـ “n”، فسيتم الاحتفاظ بالملف. في الواقع، إذا أجبت بأي شيء بخلاف “y” أو “y”، فسيتم الاحتفاظ بالملف. يمكنك فقط الضغط على “Enter” وسيتم الاحتفاظ بالملف.
يمكنك العمل بسرعة من خلال قائمة الملفات لديك، وحذف الملفات أو تخطيها لاختيار الملفات التي تريد إزالتها. وكما سنرى، يمكنك استخدام i-
خيار (تفاعلي) مع خيارات أخرى rm
خيارات.
استخدام خيار rm Force
إذا حاولت حذف ملف للقراءة فقط، rm
يطالبك بالتأكيد قبل حذف الملف. هذه شبكة أمان جيدة، ولكنها قد تصبح مرهقة إذا كان لديك الكثير من الملفات التي تريد حذفها.
rm geonames.sl3
ال -f
(القوة) الخيار يعطي التعليمات rm
لا تطلب ذلك أبدًا. فأنت تقول له “نعم، احذف جميع الملفات التي تطلبها عادةً”. كما يمنعك ذلك من rm
من الشكوى بشأن الملفات غير الموجودة.
rm -f geonames.sl3
ال -f
غالبًا ما يتم استخدام الخيار (force) عند حذف مجموعة متداخلة من الملفات والدلائل.
حذف المجلدات باستخدام rm
ال rm
يمكن للأمر أيضًا إزالة الدلائل بشكل اختياري، إلى جانب الملفات التي تحتوي عليها. وهذا مشابه لـ rmdir
أمر، ولكن rmdir
لا يمكن حذف الدلائل التي تحتوي على ملفات. فهو يحذف الدلائل الفارغة فقط. rm
يمكن للأمر حذف المجلدات التي تحتوي على ملفات ومجلدات أخرى بسهولة.
إن حذف الدليل يشبه حذف ملف. نقوم بتوفير اسم الدليل على سطر الأوامر. نحتاج إلى تضمين -d
خيار (الدليل). مثلما فعلنا عندما كنا نحذف الملفات، يمكننا توفير اسم العديد من الدلائل. يمكننا توفير مسار إلى الدليل الذي لا يوجد في دليل العمل الحالي.
rm -d old-projects
إذا كان الدليل يحتوي على ملفات، فسوف تفشل هذه العملية.
لحذف دليل ومحتوياته، استخدم -r
(علم متكرر). يؤدي هذا إلى حذف الدليل وملفاته وأي أدلة متداخلة يحتوي عليها.
rm -d archive
rm -r archive
الأمر الثاني نجح.
للتبديل rm
في وضع المنشار الكامل، يمكننا الجمع بين -r
(متكرر) و -f
(خيارات القوة). هذا يخبرنا rm
حذف جميع الملفات والدلائل في شجرة الدليل بشكل متكرر، حتى لو كانت للقراءة فقط، ودون مطالبتنا بذلك على الإطلاق.
على جهاز الكمبيوتر الذي نجري عليه الاختبار، لدينا دليل يسمى “migrated code”. ويحتوي هذا الدليل على ملفات ودليل آخر يسمى “6502”. ويحتوي الدليل “6502” أيضًا على ملفات ودليل آخر يسمى “ASM”. ويحتوي هذا الدليل أيضًا على ملفات. وبعض هذه الملفات قابلة للقراءة فقط.
وسوف نقوم أيضًا بتضمين -v
(أمر مطول) بحيث rm
يخبرنا بما يفعله.
rm -rfv migrated-code
في الإخراج يمكننا أن نرى أن الملفات تمت إزالتها، وعندما تصبح فارغة، تتم إزالة الدلائل أيضًا.
تجنب الأخطاء عند استخدام rm
قد تتسبب المسافات والأحرف الغريبة الأخرى في أسماء الملفات في حدوث مشكلات. أسماء الملفات التي تبدأ بعلامة “-
“على سبيل المثال، يمكن الخلط بينه وبين خيارات سطر الأوامر. إذا كان لدينا ملف يسمى “-contributors.txt”، rm
سيتم محاولة معالجة الاسم كسلسلة من خيارات سطر الأوامر.
لأن rm
لا يوجد خيار يسمى “-c
“يفشل تحليل سطر الأوامر ولا يتم حذف الملف. لحذف الملف، يجب أن تسبقه علامة “./” لتوفير مسار إليه.
rm -contributors.txt
rm ./-contributors.txt
تعتبر المسافات في أسماء الملفات مشكلة أيضًا. إما أن تضع علامة اقتباس على اسم الملف بالكامل، أو تستخدم علامة التبويب لإكمال اسم الملف في سطر الأوامر نيابةً عنك، مع تجنب المسافات أثناء القيام بذلك. إذا لم تستخدم أيًا من هذين الخيارين، rm
سيتم التعامل مع كل جزء من اسم الملف كملف فردي.
هنا، لدينا ملفان، أحدهما يسمى “نسخة احتياطية” والآخر يسمى “نسخة احتياطية للحذف”. يمكننا توضيح المشكلة باستخدام أسماء الملفات هذه، باستخدام ls
. إذا حاولنا استخدام ls
في ملف “النسخ الاحتياطي للحذف” ولم نقم بالتهرب من اسم الملف أو اقتباسه، يفشل الأمر.
ls -hl backup to delete
ls
يشكو من أنه لا يستطيع العثور على الملفات المسماة “إلى” أو “حذف”، لكنه يجد ملفًا يسمى “نسخة احتياطية”. هذا هو السبب rm
سيفعل ذلك أيضًا. سيشتكي من وجود ملفين مفقودين، ثم سيحذف الملف المسمى “نسخة احتياطية”، وهو ليس ما كنا نريده.
rm backup to delete
rm
يعتقد أنه يعمل مع ثلاثة ملفات، “backup” و”to” و”delete”. ويشكو من أنه لا يستطيع العثور على “to” و”delete”، ولكنه يجد “backup” ويحذفه بصمت.
يسمح اقتباس اسم الملف rm
لحذف الملف الصحيح.
rm 'backup to delete'
يمكنك أيضًا الهروب من المسافات باستخدام الشرطة المائلة العكسية “\
“، مثله:
rm backup\ to\ delete
إذا كنت تستخدم إكمال علامة التبويب لإدخال أسماء الملفات، فسيتم إفلاتها تلقائيًا، إذا لزم الأمر.
استخدم rm -rf لحذف كل شيء
إذا كنت بحاجة ماسة إلى حذف أي شيء وكل شيء، فما عليك سوى استخدام الأمر:
rm -rf
يجمع هذا بين العلم -f، الذي يفرض الحذف، والعلم -r، الذي سيحذف المجلدات بشكل متكرر. لقد قمنا سابقًا بتضمين وسيطة -v (لجعلها فولكن هذا ليس ضروريًا. فقط ضع في اعتبارك أن هذا هو الخيار النووي، ولا ينبغي لك استخدامه إلا إذا كنت متأكدًا تمامًا من رغبتك في التخلص من شيء ما إلى الأبد.
ما هي معدات الحماية الشخصية؟
على عكس المناشير في العالم الحقيقي، لا توجد معدات حماية شخصية يمكنك استخدامها مع rm
.
ما يمكنك فعله هو التحقق من بناء الجملة الخاص بك باستخدام ls
قبل أن تحاول ذلك مع rm
واستخدم الوضع التفاعلي حتى تتمكن من تحديد ما تريد حذفه.
بخلاف ذلك، فإن الأمر يتطلب التدريب حتى تشعر بالراحة والثقة. والطريقة الأكثر أمانًا للقيام بذلك هي نسخ مجموعة من الملفات التضحية إلى دليل والتدرب عليها.