شرح الأمر rm في لينكس مع الأمثلة
شرح كيفية حذف الملفات والمجلدات باستخدام سطر الأوامر على اللينكس مع الأمثلة
هذا المقال جزء من سلسلة أساسيات أوامر لينكس
الأمر rm وهو اختصار لـ remove ويُستخدم لحذف الملفات.
صيغة الأمر
1
rm [options] file1 file2 fileN
وبالتالي يمكن حذف ملف واحد أو أكثر من ملف بأمر واحد.
خيارات الأمر rm
الخيار | الوصف |
---|---|
rm -i | حذف تفاعلي أي السؤال قبل حذف أي ملف |
rm -f | حذف الملفات بشكل إجباري للملفات المحمية ضد الكتابة |
rm -r | الحذف التكراري ويعني حذف جميع الملفات والمجلدات الفرعية بجميع محتوياتهم |
أمثلة على الأمر rm
حذف الملف a.txt
1
$ rm a.txt
حذف الملفين b.txt و c.txt
1
$ rm b.txt c.txt
استخدام حيار التفاعل والذي يسأل المستخدم قبل الحذف
1
2
$ rm -i d.txt
rm: remove regular empty file 'd.txt'? y
عند الضغط على y سيحذف الملف وأي زر آخر يعني عدم الموافقة على حذفه.
حذف جميع الملفات في المجلد الحالي
1
2
3
$ rm *
rm: cannot remove 'B': Is a directory
rm: cannot remove 'C': Is a directory
نلاحظ ظهور رسالتي خطأ وهي أن B و C مجلدات وليست ملفات والأمر rm لا يستخدم عادة لحذف المجلدات، ولكن لجعله يحذف المجلدات أيضًا وبجميع محتوياتهم نكتب:
1
$ rm -r *
تمرين
اكتب الأمر الذي يقوم بحذف ملف اسمه file.txt-
الحل:
نلاحظ أن الاسم يبدأ بالرمز -
وكما نعلم أن هذا الرمز يُستخدم لتحديد خيارات الأوامر في اللينكس، إذا كيف سنعرف الأمر بأن هذا الرمز تابع لاسم الملف وليس مقصود به ذكر خيار من خيارات الأمر؟
أي إذا حاولنا كتابة التالي:
1
2
3
4
$ rm -file.txt
rm: unknown option -- l
Try 'rm ./-file.txt' to remove the file '-file.txt'.
Try 'rm --help' for more information.
نجد أنه لم يحذف الملف وأعطى رسالة خطأ تفيد بأنه لايوجد خيار للأمر rm بهذا الاسم.
لحل هذه المشكلة نضيف شخطتين --
قبل الاسم للتمييز بين خيارات الأمر وبين الشخطة الخاصة باسم الملف، وبالتالي نكتب:
1
$ rm -- -file.txt
ﻷي استفسار أو إضافة لا تتردد بمراسلتي
المرجع:
التالي: الأمر rmdir