Linux 删除文件夹下除了某一个文件之外的所有文件
文章目录
简介:方法一、二、三为find命令查找并删除;方法四为ls命令查看并删除。
备注: /app/temp为测试目录;可根据自己的环境进行修改!(可搭配shell脚本使用~)
一、环境规划
ip地址 | hostname | 操作系统版本 | 服务器类别 |
---|---|---|---|
- | app | centos 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