斜杠’/‘和反斜杠’\’ 2019-1-21
引言:从大一进入信息专业,正式接触计算机、代码也有几年了。一开始迷迷糊糊学Ascii码,很多特殊字符都需要转义香港vps,比如换行符\n,自那时起我就拎不清转义符是斜杠还是反斜杠,常常是在代码中先试一遍知道“哦,是反斜杠\。后来接触了Linux系统,常常搞不清文件路径分隔符是\还是/,就变成了随缘使用,哪个没错用哪个。再后来,去知乎搜二者的区别,发现分不清这俩的还真不止我一个人,所以,有了一个想法,尽可能完整的写一篇区分/和\的文章,让自己彻底搞清,以后在这个问题上别再迷迷糊糊,也分享出来和大家一起进步。
1.从名字上区分
我相信很多人都分不清名称和符号的对应关系,“斜杠”、“反斜杠”和“/”、“\”。
用英文名记:
/ : forward slash,向前的斜杠,就像一个人向前倾;
\ : backward slash,向后的斜杠,就像一个人往后倒。中文近似义:
/ : 斜杠- 撇斜杠;
\ : 反斜杠 – 捺斜杠。
2.背景说明
只从计算机编程角度讲,在Unix系统中,使用了斜杠/作为路径分隔符,因为web最早是在Unix上跑的,所以URL也是使用/作为目录分隔符。后来Windows系统由于在Dos中使用\作为命令行参数eg:cd /d xxx_path(Unix中使用 “-”,”–”作为命令行参数),于是使用反斜杠\作为路径分隔符,这也是为很么使得很多人开始混淆两种斜杠的用法。
但是,现在Windows下也可以使用/作为路径分割符了。
微软有一篇博文对于这一点讲的很清楚,可以看一下。
3. 路径
/: 支持linux系统和Windows系统下的路径间隔;\: 仅支持Windows系统下的路径间隔,在linux系统下该符号作为命令行的强制换行符号。
实例:
Linux
Windows: DOS
Windows: Matlab
4. 其他 \: 转义字符 #适用于各种编程语言、Latex、Markdown等。/: 除法运算符
总结
说到这里,我已经尽可能简洁地把斜杠和反斜杠的区别用法给讲出来了。以下是在找资料时在一篇博文中看到的总结图,感觉很不错。
引用:
[1]: https://blogs.msdn.microsoft.com/larryosterman/2005/06/24/why-is-the-dos-path-character/
[2]: https://www.jianshu.com/p/ba5a89b6f9ec
[3]: https://www.zhihu.com/question/20254855