[AS3.0]ObjectDumperを使いたい!~ボクのデバッグ環境 [AS2.0]Tweenerを使ってチョ~簡単に彩度・明度・色相・コントラストを変更する!
5月 26

サーバ上に大量のキャッシュファイルが出来ていて、rm *にてファイルを消そうとしたら、

$ rm *
-bash: /bin/rm: Argument list too long

って、bashさんから怒られた。

この時、ディレクトリには、4000ほどファイルがあった。Cache_Liteのキャッシュファイルなので名前もかなり長い。
うーん。どうやって消せばいいんだろう…

Google先生にお伺いしたところ、

$ ls | xargs rm

でOKのようだ。これでは全てのファイルが削除される。
もし、”cache_xxxxxxx”というファイルだけを消したい場合は

$ ls cache_* | xargs rm

ではダメだ。結局、ワイルドカードに該当するファイルをshellが展開できないため、同じエラーになる。
そういう場合は、findコマンドを用いて、

find . -name “cache_*” -print | xargs rm

とやれば、shell上で展開できないワイルドカードを展開してかつ、次のコマンドに渡すことができる。

Popularity: 19% [?]

written by ANN

add to hatena hatena.comment (4) add to del.icio.us (0) add to livedoor.clip (0) add to Yahoo!Bookmark (1) Total: 5

2 Responses to “-bash: /bin/rm: Argument list too longへの対処”

  1. joy-pop Says:

    ウノウ経由で
    http://openlab.dino.co.jp/2008/02/20/133431188.html
    を見て、同じことを最近やりますたw

    キャッシュ作らせて利用することばかりで、いらないキャッシュを削除することを考えてなかったんで、キャッシュ利用周りは見直しますた。
    有効期限が過ぎたら自動的に削除されて欲しいもんだ。

    ちなみにSmartyにはclear_all_cache($time)ってメソッドがあって、$time経過しているキャッシュは削除してくれる。

  2. ANN Says:

    ネ、ネタがかぶっても気にしない!!!(汗

    キャッシュってけっこう溜まりますよね~(あたりまえ!
    PEARのCache_Liteには自動的に消す機構がないからな~
    smartyのclear_all_cacheって、キャッシュ総なめにするのかな。なんかすっげ時間かかりそう・・・

    キャッシュ周りのノウハウも一度まとめないといけませんな~

    よっしゃ~がんがん作って書くぞ~

Leave a Reply