我的linux系统的/home目录下有大量的*.xml文件,我想找出文件名含有abc字段的所有文件,并将其删除或拷贝

其他的目录,请问怎么办?... 其他的目录,请问怎么办? 展开
 我来答
百度网友29a502e16
2011-04-13 · TA获得超过309个赞
知道小有建树答主
回答量:205
采纳率:0%
帮助的人:112万
展开全部
给你个脚本吧
#!/bin/sh
for i in `find /home -name "*.xml"|grep abc`
do
cp $i /dir
done
把/dir换成你想考贝过去的目录路径就可以了.
如果要删除的话,直接把 cp $i /dir换成 rm -rf $i
更多追问追答
追问
太感谢了,可惜我的积分已经用完了,否则我会多给你积分的。
我还想再问阁下一个问题:
我的linux系统的/目录下有大量的垃圾(数量很多)文件例如:
2n9l64 EibksU 2_pc6G E_JMgc 2rAasC Ek1i4d KHKL IUHIU
我想把他们全部删除,但是我使用ls | xargs -n 10 rm -fr ls就会把/目录下所有文件都删除了,这样就会是系统崩溃,请问怎么删除这些垃圾文件,但是要确保/下的 etc,bin,root,home,boot等等目录不被删除。
追答
根目录下的文件比较重要, 不能随便删除,所以建议你还是手动删除吧,应该也不慢
rm -rf 文件名1 文件名2 文件名3
手动删除吧
ongdogdog
2011-04-14 · 超过43用户采纳过TA的回答
知道小有建树答主
回答量:73
采纳率:0%
帮助的人:52.2万
展开全部
第一个问题:
删除:rm /home/*abc*.xml
拷贝:cp /home/*abc*.xml /tmp

追加的问题:
不知道你的linux是什么发行版本,我记得标准标准的目录架构里/目录是应该只有子目录而不包含文件的,如果你只是想要保留根目录下的子目录,而文件删除的话就好办:
ls -l /|grep -Ev "^d|^total"|awk '{print $NF}'|xargs -i rm {}
保险点的话就这样:
mkdir /tmpfolder
ls -l /|grep -Ev "^d|^total"|awk '{print $NF}'|xargs -i mv {} /tmpfolder
检查/tmpfolder里面的文件,没有问题就 rm -fr /tmpfolder
更多追问追答
追问
putty到系统后,/目录下,执行ls ,我的putty会僵死。
接显示器到机器上提示:ext3-fs warning (device dm-0): ext3_dx-add_entry;directory index full!,我怀疑/目录下有大量小文件,但是不知道是什么文件,我怀疑是公司的*.aic文件,但是
我用rm -rf *.aic去删除提示:-bash: /bin/rm: Argument list too long
我想看到底/目录下是什么文件也看不到
追答
df -i看看显示什么,是不是把inode用完了。 

‘-bash: /bin/rm: Argument list too long‘,就是说执行rm的时候,*.aic扩展的文件太多,造成参数过长了...

试试这样 ls *.aic|xargs -i -t rm {}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
binghamguo
2011-04-14
知道答主
回答量:47
采纳率:0%
帮助的人:19万
展开全部
grep abc /home/*.xml
rm -rf *.xml
追问
由于文件数量巨大,我尝试过着中方法,是不行的
putty到系统后,/目录下,执行ls ,我的putty会僵死。
接显示器到机器上提示:ext3-fs warning (device dm-0): ext3_dx-add_entry;directory index full!,我怀疑/目录下有大量小文件,但是不知道是什么文件,我怀疑是公司的*.aic文件,但是
我用rm -rf *.aic去删除提示:-bash: /bin/rm: Argument list too long
我想看到底/目录下是什么文件也看不到
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友677d7f6
2011-04-14
知道答主
回答量:5
采纳率:0%
帮助的人:0
展开全部
cd /home
ls -a | grep '^.*abc.*$'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
专业保证
2011-04-14 · TA获得超过473个赞
知道小有建树答主
回答量:552
采纳率:0%
帮助的人:256万
展开全部
先df一下 看看是不是磁盘空间不足了。
find /home -size +2000k
更多追问追答
追问
请问你上面的命令是什么意思。
putty到系统后,/目录下,执行ls ,我的putty会僵死。
接显示器到机器上提示:ext3-fs warning (device dm-0): ext3_dx-add_entry;directory index full!,我怀疑/目录下有大量小文件,但是不知道是什么文件,我怀疑是公司的*.aic文件,但是
我用rm -rf *.aic去删除提示:-bash: /bin/rm: Argument list too long
我想看到底/目录下是什么文件也看不到
请问你上面的命令是什么意思。
putty到系统后,/目录下,执行ls ,我的putty会僵死。
接显示器到机器上提示:ext3-fs warning (device dm-0): ext3_dx-add_entry;directory index full!,我怀疑/目录下有大量小文件,但是不知道是什么文件,我怀疑是公司的*.aic文件,但是
我用rm -rf *.aic去删除提示:-bash: /bin/rm: Argument list too long
我想看到底/目录下是什么文件也看不到
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式