دستور rm یکی از ابزارهای command line در UNIX و Linux میباشد که فایل ها و دایرکتوری های موجود در سیستم های لینوکس را حذف میکند. در این مقاله ما به شما توضیح خواهیم داد که دستور "rm -rf" چه کاری در لینوکس انجام میدهد.
علاوه بر این، ما قصد داریم تعداد کمی مثال های مورد استفاده از حذف کردن یک فایل، حذف کردن دایرکتوری, حذف کردن چندین فایل یا دایرکتوری ها، گرفتن تاییدیه هنگام حذف کردن، حذف فایل ها بصورت recursive و الزام برای عملیات حذف این فایلها را به شما شرح دهیم.
دستور rm یکی از دستورات پرکاربرد و خطرناک سیستم های لینوکسی میباشد، که در ادامه این مقاله به آنها میپردازیم.
همچنین توصیه میشود مطالعه کنید :
دستور rm برای حذف همه فایل های یک دایرکتوری در لینوکس
سه روش برای حذف کردن تمامی فایل های یک دایرکتوری بجز فایل هایی با پسوند خاص
نحوه حذف کردن فایل های بزرگ (100 - 200 گیگابایت) در لینوکس
چطور فایل های حذف شده را در Linux ریکاوری (Recovery) کنیم؟
نحوه کلون/بک آپ گرفتن از سرورهای لینوکس با استفاده از ابزار Mondo Rescue Disaster Recovery
نحوه حذف کردن یک فایل در Linux
به صورت پیش فرض، دستور rm فقط فایل یا فایل های مشخص شده توسط شما را بلافاصله در command line حذف میکند و قادر به حذف کردن دایرکتوری ها نمی باشد.
نحوه حذف کردن چندین فایل در Linux
برای حذف چندین فایل در یک لحظه، نام فایل هایتان را یک به یک وارد کرده (برای مثال file1 file2) یا از یک pattern (الگو) برای حذف چندین فایل (برای مثال فایل هایی که انتهای آنها با .txt تمام میشوند) با یک حرکت استفاده کنید.
نحوه حذف یک دایرکتوری در Linux
برای حذف یک دایرکتوری، شما میتوانید از سوئیچ های "-r" یا "-R" برای حذف یک دایرکتوری و زیرشاخه هایش (به همراه محتوای داخل آن) استفاده کنید.
نحوه تاییدیه گرفتن قبل از حذف فایل ها
برای گرفتن تاییدیه به هنگام حذف یک فایل، همانند زیر از آپشن "-i" استفاده کنید.
نحوه تاییدیه گرفتن هنگام حذف دایرکتوری ها
برای گرفتن تاییدیه هنگام حذف یک دایرکتوری به همراه sub-directory های آن، همانند زیر از آپشن "-R" و "-i" استفاده کنید.
نحوه حذف حتمی فایل یا دایرکتوری ها بدون پرسش و نیاز به تایید
برای force کردن عملیات حذف یک دایرکتوری، شما میتوانید از آپشن "-f" برای force کردن عملیات حذف و بدون تاییدیه گرفتن استفاده کنید. برای مثال اگر یک فایلی غیرقابل خواندن باشد، rm از شما تاییدیه میخواهد که این فایل را حذف کند یا خیر، که برای جلوگیری کردن از این کار کافیست از آپشن "-f" در دستور زیر استفاده کنید.
هنگامیکه شما آپشن های "-r" و "-f" را با هم ترکیب کنید، به این معنی میباشد که یک دایرکتوری را به همراه تمام زیر شاخه هایش و به صورت force (بدون تاییدیه گرفتن) حذف میکند.
نحوه نمایش اطلاعات در حین حذف شدن
برای نمایش اطلاعات بیشتر هنگام حذف یک فایل یا دایرکتوری، از آپشن "-v" را برای نمایش کارها یا اتفاقات انجام شده، در خروجی استفاده کنید.
یاد گرفتن دستور rm -Rf /
شما همیشه باید به خاطر بسپارید که "rm -rf" یکی از دستورات خطرناک میباشد، که شما میتوانید آنرا روی یک سیستم لینوکسی مخصوصا با یوزر root اجرا نکنید. دستور زیر همه چیز را در پارتیشن root (/) حذف خواهد کرد و مجبور میشوید از اول سیستم عامل را نصب و راه اندازی کنید. :)
ایجاد Alias برای دستور rm در Linux
به عنوان یک اقدام امنیتی، شما میتوانید rm را طوری تنظیم کنید که همیشه از شما برای عملیات حذف تاییدیه بگیرد، هر زمانیکه شما بخواهید یک فایل یا دایرکتوری را حذف کنید، از آپشن "-i" استفاده میکند. برای دائمی کردن این دستور alias زیر را به فایل $HOME/.bashrc اضافه کنید.
تغییرات را ذخیره کنید و از فایل خارج شوید. سپس فایل .bashrc خودتان را همانند زیر source کنید یا اینکه یک ترمینال جدید برای اعمال شدن آخرین تغییرات باز کنید.
وقتی که شما دستور rm را اجرا میکنید، به طور پیش فرض با آپشن "-i" اجرا خواهد شد. (در صورت استفاده از آپشن "-f" این تنظیمات overwrite خواهند شد)
آیا rm یک فایل را حذف میکند؟
در واقع، دستور rm هرگز یک فایل را حذف نخواهد کرد، بلکه آنرا از روی دیسک unlink میکند، اما هنوز دیتا بر روی دیسک میباشد و میتوانید با ابزارهایی مانند PhotoRec, Scalpel یا Foremost آنرا recovery کنید.
اگر شما واقعا میخواهید دایرکتوری یا فایلی را به صورت دائمی حذف کنید، شما میتوانید از ابزار کامند لاینی shred برای overwrite یک فایل به نحوی که محتوای آن مخفی شود، استفاده کنید.
در این مقاله، ما با استفاده ا ز برخی مثالهای واقعی و مفید دستور rm را شرح دادیم، همچنین در مورد اینکه دستور rm چه کارهایی در لینوکس میتواند انجام دهد را شرح دادیم. فراموش نکنید نظرات ارزشمند خود را با ما درمیان بگذارید.
علاوه بر این، ما قصد داریم تعداد کمی مثال های مورد استفاده از حذف کردن یک فایل، حذف کردن دایرکتوری, حذف کردن چندین فایل یا دایرکتوری ها، گرفتن تاییدیه هنگام حذف کردن، حذف فایل ها بصورت recursive و الزام برای عملیات حذف این فایلها را به شما شرح دهیم.
دستور rm یکی از دستورات پرکاربرد و خطرناک سیستم های لینوکسی میباشد، که در ادامه این مقاله به آنها میپردازیم.
همچنین توصیه میشود مطالعه کنید :
دستور rm برای حذف همه فایل های یک دایرکتوری در لینوکس
سه روش برای حذف کردن تمامی فایل های یک دایرکتوری بجز فایل هایی با پسوند خاص
نحوه حذف کردن فایل های بزرگ (100 - 200 گیگابایت) در لینوکس
چطور فایل های حذف شده را در Linux ریکاوری (Recovery) کنیم؟
نحوه کلون/بک آپ گرفتن از سرورهای لینوکس با استفاده از ابزار Mondo Rescue Disaster Recovery
نحوه حذف کردن یک فایل در Linux
به صورت پیش فرض، دستور rm فقط فایل یا فایل های مشخص شده توسط شما را بلافاصله در command line حذف میکند و قادر به حذف کردن دایرکتوری ها نمی باشد.
کد PHP:
[root@localhost ~]# rm linuxzone.txt
[root@localhost ~]# rm linuxzone_file/
rm: cannot remove ‘linuxzone_file/’: Is a directory
[root@localhost ~]#
نحوه حذف کردن چندین فایل در Linux
برای حذف چندین فایل در یک لحظه، نام فایل هایتان را یک به یک وارد کرده (برای مثال file1 file2) یا از یک pattern (الگو) برای حذف چندین فایل (برای مثال فایل هایی که انتهای آنها با .txt تمام میشوند) با یک حرکت استفاده کنید.
کد PHP:
[root@localhost linux-zone]# rm mohammad.txt maryam.txt
[root@localhost linux-zone]# rm *.txt
نحوه حذف یک دایرکتوری در Linux
برای حذف یک دایرکتوری، شما میتوانید از سوئیچ های "-r" یا "-R" برای حذف یک دایرکتوری و زیرشاخه هایش (به همراه محتوای داخل آن) استفاده کنید.
کد PHP:
[root@localhost linux-zone]# rm habili_doc/
rm: cannot remove ‘habili_doc/’: Is a directory
[root@localhost linux-zone]#
[root@localhost linux-zone]# rm -R habili_doc/
نحوه تاییدیه گرفتن قبل از حذف فایل ها
برای گرفتن تاییدیه به هنگام حذف یک فایل، همانند زیر از آپشن "-i" استفاده کنید.
کد PHP:
# rm -i maryam.txt
نحوه تاییدیه گرفتن هنگام حذف دایرکتوری ها
برای گرفتن تاییدیه هنگام حذف یک دایرکتوری به همراه sub-directory های آن، همانند زیر از آپشن "-R" و "-i" استفاده کنید.
کد PHP:
# rm -Ri linux-zone/
نحوه حذف حتمی فایل یا دایرکتوری ها بدون پرسش و نیاز به تایید
برای force کردن عملیات حذف یک دایرکتوری، شما میتوانید از آپشن "-f" برای force کردن عملیات حذف و بدون تاییدیه گرفتن استفاده کنید. برای مثال اگر یک فایلی غیرقابل خواندن باشد، rm از شما تاییدیه میخواهد که این فایل را حذف کند یا خیر، که برای جلوگیری کردن از این کار کافیست از آپشن "-f" در دستور زیر استفاده کنید.
کد PHP:
# rm -f habili.txt
کد PHP:
# rm -rf linuxzone_file/
نحوه نمایش اطلاعات در حین حذف شدن
برای نمایش اطلاعات بیشتر هنگام حذف یک فایل یا دایرکتوری، از آپشن "-v" را برای نمایش کارها یا اتفاقات انجام شده، در خروجی استفاده کنید.
کد PHP:
# rm -rv linux-zone/
یاد گرفتن دستور rm -Rf /
شما همیشه باید به خاطر بسپارید که "rm -rf" یکی از دستورات خطرناک میباشد، که شما میتوانید آنرا روی یک سیستم لینوکسی مخصوصا با یوزر root اجرا نکنید. دستور زیر همه چیز را در پارتیشن root (/) حذف خواهد کرد و مجبور میشوید از اول سیستم عامل را نصب و راه اندازی کنید. :)
کد PHP:
# rm -rf /
ایجاد Alias برای دستور rm در Linux
به عنوان یک اقدام امنیتی، شما میتوانید rm را طوری تنظیم کنید که همیشه از شما برای عملیات حذف تاییدیه بگیرد، هر زمانیکه شما بخواهید یک فایل یا دایرکتوری را حذف کنید، از آپشن "-i" استفاده میکند. برای دائمی کردن این دستور alias زیر را به فایل $HOME/.bashrc اضافه کنید.
کد PHP:
alias rm="rm -i"
تغییرات را ذخیره کنید و از فایل خارج شوید. سپس فایل .bashrc خودتان را همانند زیر source کنید یا اینکه یک ترمینال جدید برای اعمال شدن آخرین تغییرات باز کنید.
کد PHP:
# source $HOME/.bashrc
کد PHP:
# rm maryam.txt
# rm mohammad.txt
آیا rm یک فایل را حذف میکند؟
در واقع، دستور rm هرگز یک فایل را حذف نخواهد کرد، بلکه آنرا از روی دیسک unlink میکند، اما هنوز دیتا بر روی دیسک میباشد و میتوانید با ابزارهایی مانند PhotoRec, Scalpel یا Foremost آنرا recovery کنید.
اگر شما واقعا میخواهید دایرکتوری یا فایلی را به صورت دائمی حذف کنید، شما میتوانید از ابزار کامند لاینی shred برای overwrite یک فایل به نحوی که محتوای آن مخفی شود، استفاده کنید.
در این مقاله، ما با استفاده ا ز برخی مثالهای واقعی و مفید دستور rm را شرح دادیم، همچنین در مورد اینکه دستور rm چه کارهایی در لینوکس میتواند انجام دهد را شرح دادیم. فراموش نکنید نظرات ارزشمند خود را با ما درمیان بگذارید.