رفع خطای -bash: /bin/rm: Argument list too long

گاهی ممکن است بخواهید تعداد خیلی زیادی فایل را حذف کنید ولی با خطای
-bash: /bin/rm: Argument list too long
مواجه شوید.
دستور rm در هر بار اجرا تعداد مشخصی فایل را می تواند حذف کند و زمانی که تعداد فایل ها از حد مشخصی بیشتر شود با خطا مواجه می شود.

برای رفع این مشکل می توانید از دستور find استفاده کنید!!
فرض کنید میخواهید تمام فایل هایی که با a شروع می شوند و در پوشه /tmp هستند را حذف کنید.

 find /tmp/ -type f -name "a*" | xargs rm
با این دستور، بدون دریافت خطا فایل ها حذف می شوند

اگر باز هم خطا دریافت کردید میتونید از کد زیر استفاده کنید:

با اجرای دستور فوق فایل هایی که در پوشه /tmp هستند و نام آنها با abcd شروع میشود و تاریخ ویرایش آنها بیشتر از ۳ روز است حذف میشوند.

میتونید بجای mtime +3 عدد دلخواه خود را بنویسید. (مثلا mtime +10 برای فایلهایی که ویرایش آنها بیشتر از ۱۰ روز پیش بوده). یا بجای abcd نام فایل مورد نظر خود را بنویسید و یا بجای /tmp مسیر دلخواه خود را وارد نمایید.


لینک کوتاه مطلب : https://blog.talahost.com/?p=120
برچسب ها :

, , , , , , , ,

Google Reader Yahoo Facebook Twitter Digg FriendFeed Delicious Google Translate
مطلب مورد نظر ارسال شددی ۱۳ام, ۱۳۹۳ ۲۱:۵۳. شما می توانید جواب های ارسال شده به این مطلب را از طریق RSS 2.0. پی گیری کنید ،همچنین می توانیدجواب بدهید، یا این مطلب رادنبال کنید.

گذاشتن پاسخ

(Ctrl+Enter)

XHTML:می توانید از این تگ ها استفاده کنید<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">