在管理 Linux/UNIX/FreeBSD 的時候,常常會遇到想要一次刪掉很多檔案,卻給你噴出錯誤訊息:Argument list too long. 的情形,尤其是莫明奇妙有一堆信寄不出去的時候,不僅造成主機的忙錄,也導致其他服務異常,今天又遇到這樣的情況,mqueue 裡有 33 萬個檔案,都沒有人跳出來說是他幹的好事!二話不說:砍!
先把檔名都過濾出來:
# ls -la|awk ‘{print $9}’ > rmlist.sh# vim rmlist.sh:%s/dfmB/rm -Rf dfmB/:%s/qfmB/rm -Rf qfmB/
還要記得在第一行加上
#!/bin/sh
之後再把檔安改為可執行即可!其實,應該可以在 awk 之後直接把檔案刪掉,就不必這麼麻煩,只是我一時還找不到正確的方法,試了十幾分鐘,才改用這麼複雜的方式,等我找到一行就可以做到的指令,再上來補一下
參考網址:
http://blog.wu-boy.com/2006/12/30/56/
http://www.study-area.org/tips/vim/Vim-10.html
沒有留言:
張貼留言