Linux初学之体验Find+xargs
linux版本fedora core 6
内核版本2.6.18-1.2798.fc6
由于局域网内某台windos机器中毒,导致服务器samba共享文件夹下出现n多Desktop_.ini
手动一一删除显然不现实(存在于每个文件夹下)
经多方打探,google baidu live yahoo等终于找到解决办法
可以用find+xargs来操作
samba共享文件夹路径为 /opt/english/
具体命令如下
find /opt/english/ -name Desktop_.ini |xargs rm
find后一定加上路径,最好不要用/,否则可能会很耗时
而且貌似find不设定路径的话默认是./即当前文件夹
-name为find参数,更多参数问man
建议在执行这条命令前先运行该命令的前半部分
find /opt/english/ -name Desktop_.ini
如果执行无结果显示,再敲个
updatedb
更新一下
这里也可以将find /opt/english/ -name替换成locate
不过经测试发现,假如某文件在/tmp/下时,locate命令无法找到
真是太神奇了,windows下需要n次鼠标键盘的搜索并删除在linux下一个命令行就解决
当然上例只是个简单的删除名字相同的一批文件,还可以结合find的用法组合多种方式执行
比如特定文件夹下最近两个小时更新的文件,或者文件大小是0的文件
xargs还可以用ls ,locate,px等等组合出多种应用
留着以后再进一步研究
ps,本例中删除众多Desktop_.ini还利用find命令的-exec参数来操作
find /opt/english/ -name Desktop_.ini -exec rm {} \;
再次感叹一下,linux真是博大精深,命令行操作便捷又高效,94不太容易记。

