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。

相关推荐
馨谙1 分钟前
Docker常用命令
运维·docker·容器
齐潇宇3 分钟前
Tomcat服务
linux·运维·网络·http·tomcat·web应用
虎头金猫5 分钟前
GodoOS是一款轻量级云端办公系统,整合Word、Excel、PPT等常用工具,支持Docker 一键部署,随时随地远程办公
运维·服务器·网络·程序人生·docker·容器·职场和发展
木下~learning10 分钟前
嵌入式Linux 小项目:RK3399 基于 MPlayer 实现视频播放器(从环境搭建到完整播放列表)
linux·运维·嵌入式硬件·音视频
螺丝钉code11 分钟前
Hermes Agent 进阶实践:自动化工作流与协同
运维·数据库·自动化
DO your like11 分钟前
Vim编辑器指令
linux·编辑器·vim
yyuuuzz12 分钟前
云服务器部openclaw运维避坑指南
运维·服务器
合合技术团队15 分钟前
TextIn xParse+LangChain构建财务审计Agent:自动化合规审核与异常检测
运维·langchain·自动化
K姐研究社16 分钟前
阿里国际Accio Work实测:电商版OpenClaw,一键自动化运营
运维·人工智能·自动化
web前端神器17 分钟前
宝塔服务器网址ERR_CONNECTION_REFUSED报错排查流程
java·linux·服务器