基础知识
正斜杠,又称左斜杠,符号是"/"。反斜杠,也称右斜杠,符号是"\"。
记忆方法:关于这两个的辨别记忆,可以想一想乒乓球的正手与反手打发。
补充一个图更容易记住哪个是斜杠,哪个是反斜杠。
使用说明
windows系统:
反斜杠“\“用来表示目录;正斜杠“/”用来表示网址、Url地址。
“/”是表示参数,“\”是表示本地路径。
DOS路径:
C:\WINDOWS\SETTING   ..这是反斜杠的作用后面跟着的是文件名
C:\dir /P        ..这就是正斜杠后面是一个命令的参数,dir 是命令。
unix系统:
正斜杠“/”表示目录。由于web遵循unix命名,所以在网址(URL)中,正斜杠“/”表示目录。
“/”表示路径,“\”表示转义,“-”和“--”表示参数。
反斜线符号“ \ ”在Bash中被解释为转义字符,用于去除一个单个字符的特殊意义,它保留了跟随在之后的字符的字面值,除了换行符。如果在反斜线之后一个换行字符立即出现,转义字符使行得以继续,遇到命令很长时使用反斜线很有效;反斜线从输入流中被移除并有效地忽略。
例一: ubuntu@ubuntu:~$ echo $HOME
/home/ubuntu
ubuntu@ubuntu:~$ echo \$HOME
$HOME
例子中,反斜线去除了“ $ ”字符的特殊意义,保留字面值,从而不输出home目录路径。
例二:
ubuntu@ubuntu:~$ mv test.c \
> ../Downloads/
例子中,反斜线使行得以继续,命令可以正常输入。
例三:
到这里就明白了怎么查看文件名为“ \ ”的文档了,只要输入命令
ubuntu@ubuntu:~$ vi \\
就可以了,前一个反斜线保留了后一个反斜线的字面意思,即作为文件名输入了。
记忆方法:注意window这个单词的第一笔,也就是字母w的第一笔,是什么?没错,就是反斜杠,这样每次在想windows文件路径中用/还是\的时候,首先要想 到windows的第一笔是什么,答案自然就出来了。作为windows的对立面,linux或unix文件路径中用的自然就是/ 了。
编码注意
C++转义字符
在获取文件路径的时候 很多人喜欢用 "d:\test.txt",然后就会发生所谓的转义字符错误了。原因就是因为在此处“\test”中的“\t“转化为了TAB。从而导致打开文件失败。
在代码中,fp = fopen("D:\\D\\Dtest.log","r+");
fp = fopen("D:/D\\Dtest.log", "r+");
fp = fopen("D:D\\Dtest.log", "r+");
效果相同,都可以打开文件。
在cmd.exe中,如下:
但是,看到这我有两个疑问:
  1. fp = fopen("D:D\\Dtest.log", "r+");
D:后面不带路径符号也可以吗?为什么?
  1. 在CMD中,执行type D:D\test.log,
此处的“D:D\test.log”是不是作为参数传入的?其中的“\test”处的\t,为什么不是作为转义字符传入,为什么仍然能打开文件?
相关知识
相对路径:相对路径就是指由这个文件所在的路径引起的跟其它文件(或文件夹)的路径关系。
从C:\log文件夹进入C:\Users\zhang-xch文件夹,需要输入cd ../Users\zhang-xch
注意:相对路径的文件夹符号是斜杠:/
绝对路径:在www中(广域网),以http开头的链接都是绝对路径。
物理路径:物理路径指的是某一台计算机本地的路径,以盘符开头,例如C:\、D:\temp等等
历史问题
Windows 用反斜杠(“\”)的历史来自 DOS,而 DOS 的另一个传统是用斜杠(“/”)表示命令行参数,比如:
cd %SystemDrive%
dir /s /b shell32.dll
既然 DOS 这边斜杠被占用了,只好找一个最接近的。那就是它了。而在 UNIX 环境中,我们用减号(“-”)和双减号(“--”)表示命令行参数。
用斜杠表示命令行参数是兼容性原因。这个问题最初起源自 IBM。IBM 在最初加入 DOS 开发时贡献了大批工具,它们都是用斜杠处理命令行参数的。而这个传统源自于 DEC/IBM,比如当年的 VMS 就是用斜杠处理命令行参数,它的目录分隔符是美元符(“$”)。顺便说一句,这个传统也被部分地继承进了 DOS 和 Windows 体系,日文版的 Windows 就把反斜杠在屏幕上显示为“¥”,虽然实际上还是反斜杠。
如今的 Windows 内核在处理路径时确实可以同时支持斜杠和反斜杠。很多时候我们看到用斜杠时出错,是因为应用程序层面的原因。比如 cmd.exe 就不支持用斜杠表示路径,而PowerShell.exe 支持,也正因为这个原因,PowerShell 开始转而使用减号作为命令行参数的起始符。
由此也可以看出Windows或者说DOS在设计初期考虑不够 周全,为了和Unix一些特征区别开来,将Unix中的正斜杠"/"分隔路径方式改变成了反斜杠"\"。这样改变导致的一个问题就是在早期DOS命令行 中,正常的文件名是不能包含空格的,如果包含了空格,会导致输入这样的文件名时,命令解析无法将其和参数区分开。例如,想要进入"hutaow yuan"这个目录(在此先忽略8.3命名规则),直接输入"cd hutaow yuan",命令行会将其解析为进入"hutaow"目录,而后面的"yuan"做参数,这显然不是所期望的。【目前在cmd中,将带空格的文件名称做了如下处理】
而在Unix中,文件名如果包含空格,可以直接在空格前加上反 斜杠"\"进行转义,从而很好的和命令参数区别出来(参数之间一般使用空格分隔)。还是上面的例子,在Unix中,只要输入"cd hutaow\ yuan"(在yuan前面的空格前加上"\"),命令行会正确的辨认出"hutaow yuan"并进入这个目录。
当然,现在Windows的后续版本已经使用其它方法(比如文件名用双引号括住)解决了空格问题。

转载于:https://www.cnblogs.com/Corphish/p/7144167.html

正斜杠“/”与反斜杠”\”相关推荐

  1. 正斜杠( / )和反斜杠( \ )的区别

    反斜杠"\"是电脑出现了之后为了表示程序设计里的特殊含义才发明的专用标点.所以除了程序设计领域外,任何地方都不应该使用反斜杠. 如何区分正反斜杠 英语:"/" ...

  2. python右斜杠_Python中的左斜杠、右斜杠(正斜杠和反斜杠)

    首先,"/"左倾斜是正斜杠,"\"右倾斜是反斜杠,可以记为:除号是正斜杠一般来说对于目录分隔符,Unix和Web用正斜杠/,Windows用反斜杠,但是现在Wi ...

  3. python的百分号和斜杠 除_关于python:如何替换除字母,数字,正斜杠和反斜杠之外的所有字符...

    想要解析文本并仅返回字母,数字,正斜杠和反斜杠,并用''替换所有其他斜杠. 是否可以仅使用一种正则表达式模式,而不是随后需要循环的几种正则表达式模式? 无法获取下面的样式,不能替换正斜杠. line1 ...

  4. 正反斜杠的区别_电脑中的正斜杠(/)与反斜杠(\)的区别

    计算机中的正斜杠(/)与反斜杠(\)的区别 正斜杠,符号是"/";反斜杠,符号是"\". 一直很不解正斜杠与反斜杠到底有何区别?经过一段时间的理解,得出 DOS ...

  5. 计算机中正斜杠/与反斜杠\的区别

    正斜杠,符号是"/"; 反斜杠,符号是"". 正斜杠:适用于WINDOWS系统本地路径: 在windows系统中,正斜杠/通常用来分割命令行参数,用\表示目录. ...

  6. 正斜杠 “/” 与反斜杠 “\”辨析

    文章目录 1. 正斜杠 /// 2. 反斜杠 \\backslash\ 3. 正斜杠与反斜杠的区别 4. 注意 注意,/// 为正斜杠(forward slash),而 \\backslash\ 为反 ...

  7. 正反斜杠的区别_正斜杠(/)和反斜杠(\)的区别

    正斜杠,符号是"/"; 反斜杠,符号是"\". 正斜杠/表示除法,分割. 在unix系统中,正斜杠/表示目录.由于web遵循unix命名,所以在网址(URL)中 ...

  8. java 正斜杠与反斜杠之分

    引用说明:有正斜杠与反斜杠之分,正斜杠,一般就叫做斜杠,符号为"/":反斜杠的符号为"\" 引用斜杠(/)在JAVA中没有什么特别的意义,就是代表一个字符'/' ...

  9. 正斜杠(/)和反斜杠(\)的区别

    正斜杠(/)和反斜杠(\)的区别 正斜杠,符号是"/"; 反斜杠,符号是"\". 正斜杠/表示除法,分割. 在unix系统中,正斜杠/表示目录.由于web遵循u ...

  10. 正反斜杠的区别_正斜杠( / )和反斜杠( \ )的区别

    反斜杠"\"是电脑出现了之后为了表示程序设计里的特殊含义才发明的专用标点.所以除了程序设计领域外,任何地方都不应该使用反斜杠. 如何区分正反斜杠 英语:"/" ...

最新文章

  1. ERP_Oracle Fusion Application新一代ERP介绍
  2. 神策数据:春节放假通知
  3. 阿里云ECS——[您的云服务器(xxx.xxx.xxx.xxx)由于被检测到对外攻击,已阻断该服务器对其它服务器端口(TCP:6379)的访问]解决方案
  4. ThinkPHP---rbac权限管理
  5. xmlhttp的状态码收集
  6. DOTA中的设计模式
  7. 对DataList模板中的绑定数据进行再加工
  8. 发现一篇不错的学习隐马尔可夫模型的文章
  9. 在python编译器中调用JAVA程序——JPype使用总结
  10. 退出CrOS Factory,进入正常Chrome OS
  11. Ego-planner安装
  12. mysql默认的锁_mysql默认是悲观锁还是乐观锁
  13. 2019 年第 33 周 DApp 影响力排行榜 | TokenInsight
  14. 强化学习萨顿和巴托部分习题
  15. JESD204B接口调试记录2 - 资料
  16. 折叠屏手机会取代平板么
  17. SSM框架中MVC各层的作用以及运行流程
  18. 汇通汉诺塔益智 3.0
  19. 你该怎么选Offer
  20. Ubuntu 16.04 安装使用最新版QQ 微信 (deepin-wine)

热门文章

  1. Android N代码暗示隐藏的“多窗口”模式
  2. 自己实践的mac安装python3Linux安装python3
  3. nginx创建n个工作子进程
  4. QT编程-----------------窗口部件的使用(QWidget和QDialog)
  5. springBoot集成dubbo的超时时间设置
  6. java ehcache手动关闭_java – 如何为测试目的关闭ehcache
  7. 高16位低16位什么意思_为什么模拟量模块16位要比13位转换精度高,高多少?
  8. 微控制器MCU四大平台你了解多少?(二)
  9. vue 第六天(条件判断)
  10. 【渝粤教育】广东开放大学 形成性考核 (29)