Bootstrap

Linux 删除文件夹下除了某一个文件之外的所有文件

Linux 删除文件夹下除了某一个文件之外的所有文件

简介:方法一、二、三为find命令查找并删除;方法四为ls命令查看并删除。
备注:  /app/temp为测试目录;可根据自己的环境进行修改!(可搭配shell脚本使用~)

一、环境规划

ip地址hostname操作系统版本服务器类别
-appcentos 7(或者麒麟V10)虚拟机VMware

二、删除文件夹下除了某一个文件之外的所有文件

2.1 方法一:👇

使用命令 find /app/temp -type f ! -name 2.txt -exec rm -f {} +

[root@app temp]# touch {1..5}.txt  ##创建测试文件
[root@app temp]# ls
1.txt  2.txt  3.txt  4.txt  5.txt
[root@app temp]# find /app/temp -type f ! -name 2.txt -exec rm -f {} + 
[root@app temp]# ls
2.txt
2.2 方法二:👇👇

使用命令 find /app/temp ! -name 2.txt -type f -delete

[root@app temp]# ls
1.txt  2.txt  3.txt  4.txt  5.txt
[root@app temp]# find /app/temp  ! -name 2.txt -type f -delete 
[root@app temp]# ls
2.txt
2.3 方法三:👇👇👇

使用命令 find /app/temp/* | grep -v 2.txt | xargs rm

[root@app temp]# ls
1.txt  2.txt  3.txt  4.txt  5.txt
[root@app temp]# find /app/temp/* | grep -v 2.txt | xargs rm
[root@app temp]# ls
2.txt
3.4 方法四:👇👇👇👇

使用命令 ls /app/temp | grep -v 2.txt | xargs rm

[root@app temp]# ls
1.txt  2.txt  3.txt  4.txt  5.txt
[root@app temp]# ls /app/temp | grep -v 2.txt | xargs rm
[root@app temp]# ls
2.txt
;