جستجو و حذف همزمان یک فایل با پسوند مشخص
|
2010-12-01, 12:39 PM,
ارسال : #1
|
|||
|
|||
جستجو و حذف همزمان یک فایل با پسوند مشخص
سلام
چطور میشه یک فایل با پسوند مشخص از یک پوشه به همراه تمام زیر پوشه های آن جستجو و همزمان حذف کرد. میخوام این کار رو از طریق ترمینال انجام بدم. ممنون میشم راهنمایی کنید |
|||
2010-12-01, 01:06 PM,
ارسال : #2
|
|||
|
|||
پاسخ: جستجو و حذف همزمان یک فایل با پسوند مشخص
کد : find . -type f -name "FILE-TO-FIND" -exec rm -f {} \; |
|||
2011-01-09, 07:06 PM,
ارسال : #3
|
|||
|
|||
Re: پاسخ: جستجو و حذف همزمان یک فایل با پسوند مشخص
Anonymous نویسنده : به هیچ وجه از این روش استفاده نکنید. اشکال امنیتی بزرگی در این روش هست. همیشه پیشگام ... همیشه بهترین ... همیشه فدورا http://persian-foss-legal.blogspot.com http://www.tesla-sanat.com |
|||
2011-01-09, 07:12 PM,
ارسال : #4
|
|||
|
|||
پاسخ: Re: پاسخ: جستجو و حذف همزمان یک فایل با پسوند مشخص
نقل قول :به هیچ وجه از این روش استفاده نکنید. اشکال امنیتی بزرگی در این روش هست.مثلا چه مشکلی توشه ! Debian GNU/Linux System Administrator |
|||
2011-01-09, 07:32 PM,
ارسال : #5
|
|||
|
|||
پاسخ: Re: پاسخ: جستجو و حذف همزمان یک فایل با پسوند مشخص
فرض کنید شما میخواهید تمام فایل های دارای پسوند html رو از
کد : ~/mycache کد : cd ~/mycache خیلی ایراد های امنیتی مختلفی در این دستور وجود داره. مثلا اگر شما به سایتی سر زده باشی که فایل index.html اون دارای یک فریم باشه که عملا سایت اصلی رو از فایل کد : -r ~; echo .html کد : -r ~; echo .html کد : rm -f -r ~; echo .html; یعنی: کد : rm -rf ~ حمله privellige elevation... همیشه پیشگام ... همیشه بهترین ... همیشه فدورا http://persian-foss-legal.blogspot.com http://www.tesla-sanat.com |
|||
2011-01-09, 08:25 PM,
ارسال : #6
|
|||
|
|||
پاسخ: Re: پاسخ: جستجو و حذف همزمان یک فایل با پسوند مشخص
ببخشید من متوجه نشدم ... !
Debian GNU/Linux System Administrator |
|||
2011-01-09, 10:01 PM,
ارسال : #7
|
|||
|
|||
Re: پاسخ: Re: پاسخ: جستجو و حذف همزمان یک فایل با پسوند مشخص
mah454 نویسنده :ببخشید من متوجه نشدم ... ! <!-- m --><a class="postlink" href="http://www.gnu.org/software/findutils/manual/html_node/find_html/Problems-with-_002dexec-and-filenames.html#Problems-with-_002dexec-and-filenames">http://www.gnu.org/software/findutils/m ... -filenames</a><!-- m --> همیشه پیشگام ... همیشه بهترین ... همیشه فدورا http://persian-foss-legal.blogspot.com http://www.tesla-sanat.com |
|||
2011-01-09, 10:03 PM,
ارسال : #8
|
|||
|
|||
پاسخ: Re: پاسخ: Re: پاسخ: جستجو و حذف همزمان یک فایل با پسوند مشخص
نقل قول :The reason for this is that the ‘{}’ is expanded to a filename which might contain a semicolon or other characters special to the shell. همیشه پیشگام ... همیشه بهترین ... همیشه فدورا http://persian-foss-legal.blogspot.com http://www.tesla-sanat.com |
|||
2011-01-10, 08:01 AM,
ارسال : #9
|
|||
|
|||
پاسخ: Re: پاسخ: Re: پاسخ: جستجو و حذف همزمان یک فایل با پسوند مشخص
کد : rm -vf `find . -iname "*.html"` Registered Linux User #443548 <!-- m --><a class="postlink" href="http://lxsamee.com/">http://lxsamee.com/</a><!-- m --> Follow me in Ohloh http://www.karajlug.org |
|||
2011-01-10, 11:52 AM,
ارسال : #10
|
|||
|
|||
Re: پاسخ: جستجو و حذف همزمان یک فایل با پسوند مشخص
دوست عزیز بجای استفاده از گزینه -exec میتوانید خروجی دستور خود را به دستور xargs ارجاع داده و فایلها را پاک نمایید
کد : cd ~/mycache |
|||
2011-01-10, 04:28 PM,
ارسال : #11
|
|||
|
|||
Re: پاسخ: جستجو و حذف همزمان یک فایل با پسوند مشخص
farhamxp نویسنده :دوست عزیز بجای استفاده از گزینه -exec میتوانید خروجی دستور خود را به دستور xargs ارجاع داده و فایلها را پاک نمایید آقا همون اشکال امنیتی در راه حل شما نیز وجود داره. دقت کنید به: <!-- m --><a class="postlink" href="http://www.gnu.org/software/findutils/manual/html_mono/find.html#Security-Considerations-for-xargs">http://www.gnu.org/software/findutils/m ... -for-xargs</a><!-- m --> کد : Firstly, if it is possible for an attacker to create files with names of their choice on the filesystem, then xargs is insecure unless the ‘-0’ option is used. If a file with the name /home/someuser/foo/bar\n/etc/passwd exists (assume that ‘\n’ stands for a newline character), then find ... -print can be persuaded to print three separate lines: راه حل درست و امن سوالی که مطرح شده بود این دستور است: کد : find -name '*.html' -execdir sh -c 'rm -f "$@"' {}\; همیشه پیشگام ... همیشه بهترین ... همیشه فدورا http://persian-foss-legal.blogspot.com http://www.tesla-sanat.com |
|||
2011-01-10, 04:31 PM,
ارسال : #12
|
|||
|
|||
پاسخ: Re: پاسخ: جستجو و حذف همزمان یک فایل با پسوند مشخص
اگر میخواهید از xargs استفاده کنید روش بالا درست نیست و اشکال امنیتی دارد. باید از این روش استفاده کنید:
کد : xargs --null --arg-file=<(find . -name '*.html' -print0) rm -f همیشه پیشگام ... همیشه بهترین ... همیشه فدورا http://persian-foss-legal.blogspot.com http://www.tesla-sanat.com |
|||
2011-01-10, 04:40 PM,
ارسال : #13
|
|||
|
|||
Re: پاسخ: جستجو و حذف همزمان یک فایل با پسوند مشخص
Anonymous نویسنده : خب تو این یه مورد خاص میشه این کارو کرد که ایراد امنیتی دوستان هم رفع بشه: کد : find . -type f -name "FILE_NAME_PATTERN" -delete http://hedayatvk.blogspot.com http://hedayatvk.wordpress.com |
|||
2011-01-10, 04:48 PM,
ارسال : #14
|
|||
|
|||
پاسخ: Re: پاسخ: جستجو و حذف همزمان یک فایل با پسوند مشخص
البته به نظر میرسه یه مقداری در مورد خطر امنیتی اون دستور هم اغراق شده (هر چند کلا نمیشه خطرات امنیتی محتمل رو رد کرد) و به اون راحتی هم نیست. مثلا کافیه شما یه ; توی اسم یه فایل بگذارین و خودتون تست کنید ببینین چی میشه.
کد : [hedayat@localhost ~]% mkdir t http://hedayatvk.blogspot.com http://hedayatvk.wordpress.com |
|||
|