Linux如何移动复制删除带特殊文字符前缀(-,--,;)的的文件
在linux系统中,许多元字符,如分号(semicolon),空格(space),反斜线(backslash),美元符号(dollar sigh),问号(question mark),星号(asterisk) 通常被解释为命令,-(dashes)或者--被解释为命令的选项,通过以下的方式就可以复制、移动、删除带-或者--的文件,:
1、首先,创建文件,创建前缀带-或--文件不能直接使用touch命令,因为会被解释为命令的选项,所以得用追加的形式创建:
[root@clz tmp]# echo >-foo.txt [root@clz tmp]# echo >-bar.txt
创建文件后,如果使用ls命令尝试通配符的方式列出文件,则会出现以下报错:
[root@clz tmp]# ls -l *.txt ls: invalid option -- ‘.‘ Try ‘ls --help‘ for more information.
需要在命令加入--分界符选项,分隔开选项和参数:
[root@clz tmp]# ls -l -- *.txt -rw-r--r--. 1 root root 2192022 Jan 9 09:03 137k.txt -rw-r--r--. 1 root root 1 Jan 9 16:36 -bar.txt -rw-r--r--. 1 root root 1 Jan 9 16:36 -foo.txt
相对应的,复制与移动文件的命令使用如下:
[root@clz tmp]# cp -- -foo.txt /opt/
[root@clz tmp]# mv -- -bar.txt /opt/
这个分隔符对于rmdir,rm,ls命令同样有效。
本文出自 “平凡之路” 博客,请务必保留此出处http://linjohn.blog.51cto.com/1026193/1601288
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。