linux系统下find删除目录下除一文件外的所有文件

时间:2022-01-30 12:57:49

/data/目录下有a.txt b.txt c.txt d.txt
删除/data/目录下所有文件,保留b.txt
两种方法:
1.
[root@xuegod62 ~]# find /data/ -type f ! -name "b.txt"|xargs rm -f
[root@xuegod62 ~]# cd /data/
[root@xuegod62 data]# ls
b.txt
2.
[root@xuegod62 data]# find /data/ -type f ! -name "b.txt" -exec rm -f {} \;
[root@xuegod62 ~]# cd /data/
[root@xuegod62 data]# ls

以上f表示文件类型,若是表示目录类型则是d

(删除/data/空目录命令是:rmdir /data/ 或者rm -rf /data/)

 

以上部分来自网络博客,本人做了一些总结