Linux下的正斜杠"/"和"\"的区别

今天在检查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


例子中,反斜线去除了“ $ ”字符的特殊意义,保留字面值,从而不输出home目录路径。


例二:
 

 

[root@localhost ~]# mv test.c \
> ..
mv: 无法获取"test.c" 的文件状态

你可能感兴趣的:(Linux学习博客专栏,linux,bash,命令,centos,vim)