今天在检查root目录时发现有一个名为“\”的文件,觉得很奇怪,从来没见过,就准备用Vim打开看看,很自然地输入命令查看一下,结果居然打不开。
[root@localhost ~]# ll
总用量 48
-rw-r--r--. 1 root root 0 7月 9 2015 \
-rw-------. 1 root root 1414 6月 30 22:51 anaconda-ks.cfg
-rw-r--r--. 1 root root 30147 6月 30 22:51 install.log
-rw-r--r--. 1 root root 7800 6月 30 22:50 install.log.syslog
[root@localhost ~]# vim \
>
稍微思考了一下就明白了,不是打不开,问题出在这个文件名“ \ ”上面。
反斜线符号“ \ ”在Bash中被解释为转义字符,用于去除一个单个字符的特殊意义,它保留了跟随在之后的字符的字面值,除了换行符。如果在反斜线之后一个换行字符立即出现,转义字符使行得以继续,遇到命令很长时使用反斜线很有效;反斜线从输入流中被移除并有效地忽略。
例一:
[root@localhost ~]# echo $HOME
/root
[root@localhost ~]# echo \$HOME
$HOME
本文探讨了Linux下正斜杠"/"和反斜杠"\"的区别。反斜线在Bash中作为转义字符,保留后续字符的字面值,而正斜线用于路径分隔。在Windows系统中,反斜线表示路径,正斜线表示参数。历史原因导致这一差异,如DOS和UNIX的传统。现代Windows内核同时支持两种斜杠,但在不同应用中可能有不同解析规则。
订阅专栏 解锁全文

12万+

被折叠的 条评论
为什么被折叠?



