دستور حذف فایل با اسم خاص و حذف پوشه خالی

حذف فایلهایی با نام های خاص در لینوکس
شاید برای شما نیز این موضوع پیش آمده باشد که بخواهید تمام فایلها با یک پسوند خاص را در سرور حذف کنید . با توجه به این که دستور rm قابلیت search ندارد نمی توان از این دستور استفاده نمود.

جهت انجام این کار می توانید از دستور زیر استفاده نمایید.

find . -name “FILE-TO-FIND”-exec rm -rf {} \;

و یا از دستور زیر استفاده نمایید.

find . -type f -name “FILE-TO-FIND” -exec rm -f {} \;

تفاوت ۲ دستور بالا در این است که در دستور اول علاوه بر فایلها ، فولدرهایی را هم ویژگی ذکر شده در دستور را دارند حذف خواهد کرد.ولی در دستور دوم فقط فایلها حذف خواهند شد.

 

مثال اول : در این دستور تمام فایل ها را در شاخه کنونی و زیر شاخه های مربوطه که با پسوند .bak هستند را حذف خواهد کرد.

find . -type f -name “*.bak” -exec rm -f {} \;

مثال دوم : در این دستور تمام فایل ها و فولدرهایی را که در شاخه کنونی و زیر شاخه های مربوطه با پسوند .bak هستند را حذف خواهد کرد.

find . -name “*.bak”-exec rm -rf {} \;

مثال سوم : در این دستور تمام فایل ها را در شاخه کنونی و زیر شاخه های مربوطه که با پسوند .bak هستند را حذف خواهد کرد. با این تفاوت که قبل از حذف از شما تاییده خواهد گرفت .

find . -type f -name “*.bak” -exec rm -i {} \;

حذف پوشه‌های خالی در لینوکس
برای حذف پوشه‌هایی که خالی میباشند میتوانید از یکی از دستورات زیر استفاده نمایید:

rmdir **/*(/^F)

find . -type d -empty -delete

$ find . -depth -type d -exec rmdir {} \; 2>/dev/null

به این مطلب امتیاز دهید

برای دریافت مشاوره رایگان و استعلام قیمت، همین الان شماره خود را وارد کنید

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

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

وب نگاران پارسه