خط فرمان لینوکس – حذف فایل و دایرکتوری با دستور 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) قابل دسترسی است. (فهرست مطالب کتاب خط فرمان لینوکس).