全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 917|回复: 12

rm命令删除文件时排除指定文件

[复制链接]
发表于 2019-8-22 09:18:28 | 显示全部楼层 |阅读模式
rm -rf !(1.exe)
删除文件时排除1.exe,其它文件都被删除

这个命令我在好几个小鸡,包括hz的独服上都没有问题。但是ks的独服就不行
root@ns3063814:/home/# rm -rf !(1.exe)
-bash: !: event not found

请教各位大佬,这是什么原因?
发表于 2019-8-22 09:23:13 | 显示全部楼层
我完全不懂。
是不是你这系统默认把!叹号转码了,我猜的
 楼主| 发表于 2019-8-22 09:24:46 | 显示全部楼层
风为裳 发表于 2019-8-22 09:23
我完全不懂。
是不是你这系统默认把!叹号转码了,我猜的

我也不知道啊。。好像是有这种情况,但是在!前面加个\转义也不行
发表于 2019-8-22 09:35:57 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 发表于 2019-8-22 09:52:13 | 显示全部楼层
h2o 发表于 2019-8-22 09:35
用正则删文件,你也真是心宽。

find + grep -v + xargs,不解释。

太复杂啊大佬。。用!()简单好多。。
 楼主| 发表于 2019-8-22 10:05:13 | 显示全部楼层
本帖最后由 秋风下的落叶 于 2019-8-22 10:23 编辑
h2o 发表于 2019-8-22 09:35
用正则删文件,你也真是心宽。

find + grep -v + xargs,不解释。


我擦,大佬,很遗憾的说一句,用find + grep + v  + xargs也不行。因为ks默认屏蔽了()括号。。。我擦的。不知道咋搞

find * | grep -v 1.exe | xargs rm
这样是可以成功。但是如果我要保留1.exe和2.exe呢
发表于 2019-8-22 10:22:48 | 显示全部楼层
你要先开启这个功能
shopt -s extglob
发表于 2019-8-22 10:25:43 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2019-8-22 10:28:10 | 显示全部楼层
看看到底是什么shell程序,别是busybox之类的功能阉割shell
 楼主| 发表于 2019-8-22 10:28:47 | 显示全部楼层
Sakuya 发表于 2019-8-22 10:22
你要先开启这个功能
shopt -s extglob

多谢大佬啊,太感谢了。

另外想问下,如果用find + grep -v + xargs rm来删除文件,怎么指定排除多个文件呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-4-27 03:10 , Processed in 0.073039 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表