【背景】
准备以实时长日期命名文件,当前目录只有一个有用的文件,其余均为生成的测试文件,如果一个一个删这些测试的文件很耗时,所以找到了如下方法:
【测试过程】
root@root:~/Desktop# ls -l
总用量 12K
-rw-r--r-- 1 root root 9.3K 12月 3 16:52 nginx.conf
-rw-r--r-- 1 root root 0 12月 5 20:33 星期四
-rw-r--r-- 1 root root 0 12月 5 20:33 20时33分29秒
-rw-r--r-- 1 root root 0 12月 5 20:33 2019年12月05日
-rw-r--r-- 1 root root 0 12月 5 20:34 '2019年12月05日 星期四 20时34分01秒'
-rw-r--r-- 1 root root 0 12月 5 20:40 2019年12月05日星期四20时40分21秒
-rw-r--r-- 1 root root 0 12月 5 20:40 '2019年12月05日 星期四 20时40分57秒'
如上文除了nginx.conf有用之外,其余均无用。一个一个删除很麻烦
【命令】
root@root:~/Desktop# shopt -s extglob
root@root:~/Desktop# rm -rf !(nginx.conf)
你也可以不加f
以验证是否只删除了你想要删除的内容,如下是我的删除过程:
rm:是否删除普通空文件 '2019年12月05日'?y
rm:是否删除普通空文件 '2019年12月05日 星期四 20时34分01秒'?y
rm:是否删除普通空文件 '2019年12月05日星期四20时40分21秒'?y
rm:是否删除普通空文件 '2019年12月05日 星期四 20时40分57秒'?y
rm:是否删除普通空文件 '20时33分29秒'?y
rm:是否删除普通空文件 '星期四'?y
最后执行ls
查看是否只留下了你想要保留的内容。
nginx.conf
【总结】
Linux很强大,很有用,一定要好好学习和积累