linux删除含特殊字符的文件或文件夹
linux系统支持用户创建包含连字符(-)的文件或文件夹,一个错误的操作有时可能会产生以下文件或文件夹:
[root@huntdb aa]# touch /tmp/aa/{,-,\\}-{0,1,2,3,4,5} [root@huntdb aa]# ls -0 --0 \-0 -1 --1 \-1 -2 --2 \-2 -3 --3 \-3 -4 --4 \-4 -5 --5 \-5 [root@huntdb aa]# ll total 0 -rw-r--r-- 1 root root 0 Apr 2 22:52 -0 -rw-r--r-- 1 root root 0 Apr 2 22:52 --0 -rw-r--r-- 1 root root 0 Apr 2 22:52 \-0 -rw-r--r-- 1 root root 0 Apr 2 22:52 -1 -rw-r--r-- 1 root root 0 Apr 2 22:52 --1 -rw-r--r-- 1 root root 0 Apr 2 22:52 \-1 -rw-r--r-- 1 root root 0 Apr 2 22:52 -2 -rw-r--r-- 1 root root 0 Apr 2 22:52 --2 -rw-r--r-- 1 root root 0 Apr 2 22:52 \-2 -rw-r--r-- 1 root root 0 Apr 2 22:52 -3 -rw-r--r-- 1 root root 0 Apr 2 22:52 --3 -rw-r--r-- 1 root root 0 Apr 2 22:52 \-3 -rw-r--r-- 1 root root 0 Apr 2 22:52 -4 -rw-r--r-- 1 root root 0 Apr 2 22:52 --4 -rw-r--r-- 1 root root 0 Apr 2 22:52 \-4 -rw-r--r-- 1 root root 0 Apr 2 22:52 -5 -rw-r--r-- 1 root root 0 Apr 2 22:52 --5 -rw-r--r-- 1 root root 0 Apr 2 22:52 \-5
我们试着用普通的rm删除时会提示:
[root@huntdb aa]# rm -f --0 rm: unrecognized option `--0‘ Try `rm --help‘ for more information.
查看rm man手册有如下描述:
To remove a file whose name starts with a ‘-’, for example ‘-foo’, use one of these commands: rm -- -foo rm ./-foo
使用这个办法删除带\的文件进应注意进行二次转义,否则无法删除。
[root@huntdb aa]# rm -f -- \-5 [root@huntdb aa]# ls -0 --0 \-0 -1 --1 \-1 -2 --2 \-2 -3 --3 \-3 -4 --4 \-4 --5 \-5 [root@huntdb aa]# rm -f ./\-5 [root@huntdb aa]# ls -0 --0 \-0 -1 --1 \-1 -2 --2 \-2 -3 --3 \-3 -4 --4 \-4 --5 \-5
正确的做法如下:
[root@huntdb aa]# rm -f -- \\-5 [root@huntdb aa]# ls -0 --0 \-0 -1 --1 \-1 -2 --2 \-2 -3 --3 \-3 -4 --4 \-4 --5 [root@huntdb aa]# rm -f ./\\-4 [root@huntdb aa]# ls -0 --0 \-0 -1 --1 \-1 -2 --2 \-2 -3 --3 \-3 -4 --4 --5
文件夹的删除与此相同。
还可以通过inode号进行删除:
[root@huntdb aa]# ls -li | grep -- -2 2752777 -rw-r--r-- 1 root root 0 Apr 2 22:52 -2 2752783 -rw-r--r-- 1 root root 0 Apr 2 22:52 --2 [root@huntdb aa]# find . -inum 2752783 -exec rm {} \; [root@huntdb aa]# ls -li | grep -- -2 2752777 -rw-r--r-- 1 root root 0 Apr 2 22:52 -2
本文出自 “HUNT” 博客,请务必保留此出处http://hunt1574.blog.51cto.com/1390776/1629585
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。