访问手机版  

Linux删除文件夹?Linux技术问题|Linux培训认证|工资待遇与招聘,详询超级网工!

招聘|合作 登陆|注册

网络工程师培训

当前位置:网络工程师 > 技术课程 > linux > 热点关注 > linux删除文件夹

Linux命令之删除除了某个文件之外所有文件

时间:2018-06-26

我们经常遇到的问题是在Linux命令行上,删除全部文件。那如果我们想要删除除了某个文件之外的其他文件,比如说在ABC文件下有A、B、C三个文件,怎么一行命令删除B和C而不删除A呢?
第一种方法:
root@localhost ABC]# ls
A B C
[root@localhost ABC]# ls |grep -v a |xargs rm -f 
[root@localhost ABC]# ls
A
第二种办法:
rm -f  !(A) 这种方法方便。如果保留A和B,可以运行rm -f !(A|B)来实现。
不过一般bash中运行后会提示
“-bash: !: event not found ” 可以通过运行shopt -s extgolb来解决。如下:
[root@localhost /]# mkdir ABC
[root@localhost /]# cdABC
[root@localhost ABC]# touchA B C
[root@localhost ABC]# ls
A B C
[root@localhostABC]# rm -f !(A)
-bash: !: event not found
[root@localhost ABC]# shopt -s extglob
[root@localhost ABC]# rm -f !(A)
[root@localhost ABC]# ls
A
[root@localhost ABC]# touch B C D
[root@localhost ABC]# rm -f !(A|B)
[root@localhost ABC]# ls
A B
两种方法都很有实用性,所以可以都记住哦!