linux 中删除当前目录下指定文件外所有的文件
2022/1/7 7:03:27
本文主要是介绍linux 中删除当前目录下指定文件外所有的文件,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1、ls + grep + xargs 实现
a、
root@DESKTOP-1N42TVH:/home/test# touch test{1..10}.txt root@DESKTOP-1N42TVH:/home/test# touch abc{1..10}.csv root@DESKTOP-1N42TVH:/home/test# touch kk.map mn.ped root@DESKTOP-1N42TVH:/home/test# ls abc1.csv abc2.csv abc4.csv abc6.csv abc8.csv kk.map test1.txt test2.txt test4.txt test6.txt test8.txt abc10.csv abc3.csv abc5.csv abc7.csv abc9.csv mn.ped test10.txt test3.txt test5.txt test7.txt test9.txt root@DESKTOP-1N42TVH:/home/test# ls | grep -v "kk.map" abc1.csv abc10.csv abc2.csv abc3.csv abc4.csv abc5.csv abc6.csv abc7.csv abc8.csv abc9.csv mn.ped test1.txt test10.txt test2.txt test3.txt test4.txt test5.txt test6.txt test7.txt test8.txt test9.txt root@DESKTOP-1N42TVH:/home/test# ls | grep -v "kk.map" | xargs rm -rf ## 删除除kk.map外以外的所有文件 root@DESKTOP-1N42TVH:/home/test# ls kk.map
b、
root@DESKTOP-1N42TVH:/home/test# ls root@DESKTOP-1N42TVH:/home/test# touch test{1..10}.txt root@DESKTOP-1N42TVH:/home/test# touch abc{1..10}.csv root@DESKTOP-1N42TVH:/home/test# touch kk.map mn.ped root@DESKTOP-1N42TVH:/home/test# ls abc1.csv abc2.csv abc4.csv abc6.csv abc8.csv kk.map test1.txt test2.txt test4.txt test6.txt test8.txt abc10.csv abc3.csv abc5.csv abc7.csv abc9.csv mn.ped test10.txt test3.txt test5.txt test7.txt test9.txt root@DESKTOP-1N42TVH:/home/test# ls | grep -E -v "kk.map|mn.ped" abc1.csv abc10.csv abc2.csv abc3.csv abc4.csv abc5.csv abc6.csv abc7.csv abc8.csv abc9.csv test1.txt test10.txt test2.txt test3.txt test4.txt test5.txt test6.txt test7.txt test8.txt test9.txt root@DESKTOP-1N42TVH:/home/test# ls | grep -E -v "kk.map|mn.ped" | xargs rm -rf ## 删除除kk.map和mn.ped以外的所有文件 root@DESKTOP-1N42TVH:/home/test# ls kk.map mn.ped
2、find实现
a、
root@DESKTOP-1N42TVH:/home/test# ls root@DESKTOP-1N42TVH:/home/test# touch abc{1..10}.csv root@DESKTOP-1N42TVH:/home/test# touch kk.map mn.ped root@DESKTOP-1N42TVH:/home/test# touch test{1..10}.txt root@DESKTOP-1N42TVH:/home/test# ls abc1.csv abc2.csv abc4.csv abc6.csv abc8.csv kk.map test1.txt test2.txt test4.txt test6.txt test8.txt abc10.csv abc3.csv abc5.csv abc7.csv abc9.csv mn.ped test10.txt test3.txt test5.txt test7.txt test9.txt root@DESKTOP-1N42TVH:/home/test# find ./ -name "kk.map" ./kk.map root@DESKTOP-1N42TVH:/home/test# find ./ ! -name "kk.map" ./ ./test8.txt ./abc1.csv ./abc8.csv ./abc3.csv ./test6.txt ./test10.txt ./test2.txt ./abc10.csv ./test1.txt ./test9.txt ./test5.txt ./abc7.csv ./test7.txt ./abc2.csv ./abc6.csv ./abc4.csv ./test3.txt ./abc5.csv ./abc9.csv ./mn.ped ./test4.txt root@DESKTOP-1N42TVH:/home/test# find ./ ! -name "kk.map" -exec rm -rf {} \; #删除除kk.map文件以外的所有文件 rm: refusing to remove '.' or '..' directory: skipping './' root@DESKTOP-1N42TVH:/home/test# ls kk.map
b、
root@DESKTOP-1N42TVH:/home/test# touch kk.map mn.ped root@DESKTOP-1N42TVH:/home/test# touch test{1..10}.txt root@DESKTOP-1N42TVH:/home/test# touch abc{1..10}.csv root@DESKTOP-1N42TVH:/home/test# ls abc1.csv abc2.csv abc4.csv abc6.csv abc8.csv kk.map test1.txt test2.txt test4.txt test6.txt test8.txt abc10.csv abc3.csv abc5.csv abc7.csv abc9.csv mn.ped test10.txt test3.txt test5.txt test7.txt test9.txt root@DESKTOP-1N42TVH:/home/test# find ./ ! -name "kk.map" ! -name "mn.ped" ./ ./test8.txt ./abc1.csv ./abc8.csv ./abc3.csv ./test6.txt ./test10.txt ./test2.txt ./abc10.csv ./test1.txt ./test9.txt ./test5.txt ./abc7.csv ./test7.txt ./abc2.csv ./abc6.csv ./abc4.csv ./test3.txt ./abc5.csv ./abc9.csv ./test4.txt root@DESKTOP-1N42TVH:/home/test# find ./ ! -name "kk.map" ! -name "mn.ped" -exec rm -rf {} \; ## 删除除kk.map和mn.ped以外的所有文件 rm: refusing to remove '.' or '..' directory: skipping './' root@DESKTOP-1N42TVH:/home/test# ls kk.map mn.ped
3、rm !实现
a、
root@DESKTOP-1N42TVH:/home/test# touch kk.map mn.ped root@DESKTOP-1N42TVH:/home/test# touch test{1..10}.txt root@DESKTOP-1N42TVH:/home/test# touch abc{1..10}.csv root@DESKTOP-1N42TVH:/home/test# ls abc1.csv abc2.csv abc4.csv abc6.csv abc8.csv kk.map test1.txt test2.txt test4.txt test6.txt test8.txt abc10.csv abc3.csv abc5.csv abc7.csv abc9.csv mn.ped test10.txt test3.txt test5.txt test7.txt test9.txt root@DESKTOP-1N42TVH:/home/test# rm !(kk.map) ## 删除除kk.map文件以外的所有文件 root@DESKTOP-1N42TVH:/home/test# ls kk.map
b、
root@DESKTOP-1N42TVH:/home/test# touch kk.map mn.ped root@DESKTOP-1N42TVH:/home/test# touch test{1..10}.txt root@DESKTOP-1N42TVH:/home/test# touch abc{1..10}.csv root@DESKTOP-1N42TVH:/home/test# ls abc1.csv abc2.csv abc4.csv abc6.csv abc8.csv kk.map test1.txt test2.txt test4.txt test6.txt test8.txt abc10.csv abc3.csv abc5.csv abc7.csv abc9.csv mn.ped test10.txt test3.txt test5.txt test7.txt test9.txt root@DESKTOP-1N42TVH:/home/test# rm !(kk.map|mn.ped) ## 删除除kk.map和mn.ped以外的所有文件 root@DESKTOP-1N42TVH:/home/test# ls kk.map mn.ped
这篇关于linux 中删除当前目录下指定文件外所有的文件的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-18git仓库有更新,jenkins 自动触发拉代码怎么配置的?-icode9专业技术文章分享
- 2024-12-18Jenkins webhook 方式怎么配置指定的分支?-icode9专业技术文章分享
- 2024-12-13Linux C++项目实战入门教程
- 2024-12-13Linux C++编程项目实战入门教程
- 2024-12-11Linux部署Scrapy教程:新手入门指南
- 2024-12-11怎么将在本地创建的 Maven 仓库迁移到 Linux 服务器上?-icode9专业技术文章分享
- 2024-12-10Linux常用命令
- 2024-12-06谁看谁服! Linux 创始人对于进程和线程的理解是…
- 2024-12-04操作系统教程:新手入门及初级技巧详解
- 2024-12-04操作系统入门:新手必学指南