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。

相关推荐
qq_4017004110 小时前
I.MX6U 启动方式详解
linux
code-vibe11 小时前
物理机 kali 改造笔记 (一)
linux·运维·服务器
小坏讲微服务11 小时前
五分钟使用 Docker-compose搭建 Redis 8.0 中间件
运维·redis·docker·中间件·容器·kubernetes·k8s
老黄编程11 小时前
03-gpg(证书管理 )详细范例
linux·运维·ubuntu·数字证书
Aimyon_3612 小时前
MinerU Docker自定义版本部署
运维·docker·容器
莱茶荼菜12 小时前
Ubuntu 20.04 系统库管理详细教程
linux·运维·ubuntu
迅为电子13 小时前
嵌入式Linux新手入门:北京迅为3568开发板驱动开发第二章helloworld 驱动实验
linux·运维·驱动开发
nono牛16 小时前
MTK平台详解`adb devices`输出的序列号组成
android·linux·adb·智能手机
kyle~16 小时前
机器视觉---Intel RealSense SDK 2.0 开发流程
运维·c++·windows·深度相机·intel realsense
catoop17 小时前
Linux 自动清理临时文件配置
linux·服务器