Linux下删除某个文件之外的其他所有文件

在windows下要删除一个文件夹下除某个文件之外的其他所有文件很简单,选择这个文件,再反选即可。Linux下可能很多人不知道如何实现这种效果,这里分享2种方法:

1 使用xargs

ls | grep -v xxx | xargs rm -r

使用时将xxx替换成要保留的文件名即可。

如果有相似的文件名,可以使用正则表达式匹配完整的文件名,如:

有两个相似的文件名33和331,此时要保留33删除331就需要全匹配
ls | grep -v "^33$" | xargs rm -r

其中的^表示匹配开头位置,$表示匹配结束位置。

2 rm -rf !()

rm -rf !(xxx)

此命令表示删除xxx之外的所有其他文件(包括文件夹)。
注意,-f参数表示此命令删除时没有提示,删除前请务必确保要删除的文件是不再需要的。

此命令在低版本的bash下可能会不生效(实测4.2版本可以正常使用),如果不生效请参考方法1。

相关推荐
胜似代码仔3 分钟前
metrics-server 部署报错
运维
b***65323 分钟前
自己编译RustDesk,并将自建ID服务器和key信息写入客户端
运维·服务器
k***45998 分钟前
服务器无故nginx异常关闭之kauditd0 kswapd0挖矿病毒 CPU占用200% 内存耗尽
运维·服务器·nginx
p***62999 分钟前
【Sql Server】sql server 2019设置远程访问,外网服务器需要设置好安全组入方向规则
运维·服务器·安全
java_logo18 分钟前
LobeHub Docker 容器化部署指南
运维·人工智能·docker·ai·容器·ai编程·ai写作
LCG元18 分钟前
效率翻倍!10个让你爱不释手的 Linux 命令行"神器"
linux
BS_Li36 分钟前
【Linux系统编程】Ext系列文件系统
android·linux·ext系列文件系统
q***017738 分钟前
Linux 下安装 Golang环境
linux·运维·golang
企鹅侠客1 小时前
Linux性能调优使用strace来分析文件系统的性能问题
linux·运维·服务器
qinyia2 小时前
WisdomSSH解决因未使用Docker资源导致的磁盘空间不足问题
运维·服务器·人工智能·后端·docker·ssh·github