Fahomag
September 11th, 2014, 12:59
شاید برای شما نیز این موضوع پیش آمده باشد که بخواهید تمام فایلها با یک پسوند خاص را در سرور حذف کنید. با توجه به این که دستور rm قابلیت search ندارد نمیتوان از این دستور استفاده نمود.
جهت انجام این کار میتوانید از دستور زیر استفاده نمایید.
find . -name “FILE-TO-FIND”-exec rm -rf {} \;
و یا از دستور زیر استفاده نمایید.
find . -type f -name “FILE-TO-FIND” -exec rm -f {} \;
تفاوت 2 دستور بالا در این است که در دستور اول علاوه بر فایلها، فولدرهایی را هم که ویژگی ذکر شده در دستور را دارند حذف خواهد کرد. ولی در دستور دوم فقط فایلها حذف خواهند شد.
در زیر می توانید کاربرد چند نمونه از این دستور را مشاهده نمایید.
مثال اول : در این دستور تمام فایلها را در شاخه کنونی و زیر شاخههای مربوطه که با پسوند .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 {} \;
با توجه به اینکه دستورات در این پست به صورت صحیح قابل نمایش نمیباشند، میتوانید دستورات صحیح را در لینک زیر مشاهده فرمایید.
باتشکر
مشاهده مطلب در فاهومگ (http://fahomag.com/articles/linux-unix-how-to-find-and-remove-files.html)
جهت انجام این کار میتوانید از دستور زیر استفاده نمایید.
find . -name “FILE-TO-FIND”-exec rm -rf {} \;
و یا از دستور زیر استفاده نمایید.
find . -type f -name “FILE-TO-FIND” -exec rm -f {} \;
تفاوت 2 دستور بالا در این است که در دستور اول علاوه بر فایلها، فولدرهایی را هم که ویژگی ذکر شده در دستور را دارند حذف خواهد کرد. ولی در دستور دوم فقط فایلها حذف خواهند شد.
در زیر می توانید کاربرد چند نمونه از این دستور را مشاهده نمایید.
مثال اول : در این دستور تمام فایلها را در شاخه کنونی و زیر شاخههای مربوطه که با پسوند .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 {} \;
با توجه به اینکه دستورات در این پست به صورت صحیح قابل نمایش نمیباشند، میتوانید دستورات صحیح را در لینک زیر مشاهده فرمایید.
باتشکر
مشاهده مطلب در فاهومگ (http://fahomag.com/articles/linux-unix-how-to-find-and-remove-files.html)