تک دیک

واژه نامه و مجله آموزشی کامپیوتر و فناوری

خط فرمان لینوکس – حذف فایل و دایرکتوری با دستور rm

rm – حذف فایل ها و دایرکتوری ها

از دستور rm برای حذف (دیلیت) فایل ها و دایرکتوری ها استفاده می‌شود، همانطور که اینجا نشان داده شده است:

rm item...

که در آن item یک یا چند فایل یا دایرکتوری است.

آپشن ها و مثال های مفید

جدول 4-8 برخی از آپشن های متداول برای rm را شرح می‌دهد.

جدول 4-8: آپشن های rm

آپشن آپشن طولانی معنی
-i --interactive پیش از حذف یک فایل موجود، از کاربر می‌خواهد (این حذف را) تأیید کند. اگر این آپشن مشخص نشده باشد، rm به صورت بی‌صدا (یعنی هیچ هشداری وجود نخواهد داشت) فایل ها را حذف می‌کند.
-r --recursive به صورت بازگشتی دایرکتوری ها را حذف می‌کند. به این معنا که اگر یک دایرکتوری در حال حذف دارای زیردایرکتوری هایی باشد، آن‌ها را هم حذف می‌کند. برای حذف یک دایرکتوری، این آپشن باید مشخص شده باشد.
-f --force فایل های ناموجود را نادیده می‌گیرد و چیزی نمی‌گوید. این (آپشن)، آپشن --interactive را اورراید می‌کند.
-v --verbose پیام هایی حاوی اطلاعات مفید را هنگام حذف نمایش می‌دهد.

جدول 4-9 مثال هایی برای استفاده از دستور rm ارائه می‌دهد.

جدول 4-9 مثال های rm

دستور نتیجه
rm file1 file1 را بی صدا حذف می‌کند.
rm -i file1 همانند دستور قبلی، با این تفاوت که پیش از انجام (عمل) حذف، از کاربر برای تأیید، درخواست می‌شود.
rm -r file1 dir1 file1 و dir1 و محتویات آن را حذف می‌کند.
rm -rf file1 dir1 همانند دستور قبلی، با این تفاوت که اگر file1 یا dir1 وجود نداشته باشند، rm بی‌صدا (به کارش) ادامه می‌دهد.

مراقب rm باشید!

سیستم عامل های شبه یونیکس مانند لینوکس دستوری برای آندیلیت (Undelete) ندارند. وقتی چیزی را با rm حذف کنید، از دست رفته است. لینوکس فرض می‌کند شما باهوش هستید و می‌دانید چه می‌کنید.

به ویژه در مورد وایلدکاردها مراقب باشید. این مثال کلاسیک را در نظر بگیرید. فرض کنید می‌خواهید فقط فایل های HTML موجود در یک دایرکتوری را حذف کنید. برای انجام این کار، عبارت زیر را تایپ می‌کنید:

rm *.html

این (مثال) صحیح است، اما اگر شما به صورت تصادفی بین * و .html یک فاصله قرار دهید مانند این:

rm * .html

دستور rm تمام فایل های داخل دایرکتوری را حذف می‌کند و سپس شکایت می‌کند که فایلی با نام .html وجود ندارد.

در اینجا یک نکته مفید وجود دارد: هر زمان که از وایلدکاردها با rm استفاده می‌کنید (علاوه بر اینکه تایپ کردن خود را به دقت بررسی می‌کنید!)، ابتدا وایلدکارد را با ls امتحان کنید. این کار به شما اجازه خواهد داد فایل هایی که حذف خواهند شد را مشاهده کنید. سپس کلید پیکانی رو به بالا را فشار دهید تا دستور را فراخوانی کرده و ls را با rm جایگزین کنید.


متن بالا بخشی از ترجمه کتاب The Linux Command Line (به فارسی: خط فرمان لینوکس) نوشته William Shotts است که نسخه اصلی آن از طریق وبسایت رسمی کتاب (https://linuxcommand.org) قابل دسترسی است. (فهرست مطالب کتاب خط فرمان لینوکس).

امیرحسین شهسواری

عاشق دنیای رایانه و فناوری به خصوص برنامه نویسی هستم؛ یادگرفتن و البته یاد دادن چیزای جالبی که یاد گرفتم باعث خوشحالیم میشه و از اولویت‌های اصلی زندگیم به حساب میاد. از مدیریت و نوشتن در تک دیک هم واقعا لذت می‌برم :)

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *