首页 > 其他分享 >正斜杠“/”与反斜杠”\”

正斜杠“/”与反斜杠”\”

时间:2024-10-26 10:10:30浏览次数:3  
标签:斜线 路径 参数 斜杠 ubuntu DOS

基础知识

正斜杠,又称左斜杠,符号是"/"。反斜杠,也称右斜杠,符号是"\"。 记忆方法:关于这两个的辨别记忆,可以想一想乒乓球的正手与反手打发。有部分中国国内的计算机使用者开始使用【撇斜杠】和【捺斜杠】来对应“正斜杠”和“反斜杠”,以便达到快速交流理解的目的。 补充一个图更容易记住哪个是斜杠,哪个是反斜杠。  使用说明 windows系统: 反斜杠“\“用来表示目录; 正斜杠“/”用来表示网址、Url地址。 正斜杠“/”是表示参数,“\”是表示本地路径。 正斜杠“/”表示除法,分隔。在windows系统中通常用来分隔命令行参数,/ 表示选项等。不能作为文件名isiss/。
正斜杠"/"在某些文档里面表示“或”,如通讯方式GSM/GPRS/3G,表示采用其中一种通讯方式。 DOS路径: C:\WINDOWS\SETTING   ..这是反斜杠的作用后面跟着的是文件名 C:\dir /P        ..这就是正斜杠后面是一个命令的参数,dir 是命令。 unix系统: 正斜杠“/”表示目录。由于web遵循unix命名,所以在网址(URL)中,正斜杠“/”表示目录。 “/”表示路径,“\”表示转义,“-”和“--”表示参数。 反斜线符号“ \ ”在Bash中被解释为转义字符,用于去除一个单个字符的特殊意义,它保留了跟随在之后的字符的字面值,除了换行符。如果在反斜线之后一个换行字符立即出现,转义字符使行得以继续,遇到命令很长时使用反斜线很有效;反斜线从输入流中被移除并有效地忽略。 例一: ubuntu@ubuntu:~echoechoHOME /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的后续版本已经使用其它方法(比如文件名用双引号括住)解决了空格问题。  

标签:斜线,路径,参数,斜杠,ubuntu,DOS
From: https://www.cnblogs.com/bo0214/p/18503699

相关文章

  • vs编译项目失败,提示 要求“SourceRoot”路径以斜杠或反斜杠结尾
    从git上下载部分项目编译时出现错误,提示如下:严重性代码说明项目文件行禁止显示状态详细信息错误(活动) 要求“SourceRoot”路径以斜杠或反斜杠结尾:“E:\dev_tools\.nuget\packages” MahApps.Metro(net462),MahApps.Metro(net6.0-windows),MahApps.Metro(net8.0-wi......
  • Day03--计算机中的斜杠和反斜杠
    计算机中的斜杠和反斜杠在计算机中,斜杠(/)和反斜杠(\)是两个常见的字符,它们在多个领域,特别是计算机科学、编程和文件系统中,扮演着不同的角色。以下是关于这两个字符的详细解释:一、基本定义斜杠(/):是一个向前倾斜的字符,也称为正斜杠或正斜线。撇反斜杠(\):是一个向后倾斜的字符,也称为反......
  • Nginx 中 proxy_pass 末尾斜杠的奥秘
    一、proxy_pass的类型概述Nginx的官网将proxy_pass分为两种类型:不带URI方式和带URI方式。不带URI方式只包含IP和端口号,例如proxy_passhttp://localhost:8080。而带URI方式在端口号之后有其他路径,包括只有单个“/”的,如proxy_passhttp://localhost:8080/,以及其......
  • 扩展分析C语言单双引号、反斜杠与注释
    目录注释奇怪的注释C风格的注释无法嵌套一些特殊的注释注释的规则建议反斜杠'\'反斜杠有续行的作用,但要注意续行后不能添加空格回车也能起到换行的作用,那续行符的意义在哪?反斜杠的转义功能单引号和双引号字面值,字符串,字符,字符变量的大小为什么sizeof('1')的大小是4?char类型一......
  • Nginx:location、proxy_pass中的斜杠/
    学习自:nginxlocation/区别详解_nginx_脚本之家nginx的location与proxy_pass指令超详细讲解及其有无斜杠(/)结尾的区别_nginxlocation斜杠-CSDN博客nginx的location、root、alias指令用法和区别–蓝队云Nginx系列-5root和alias和index和try_files_nginxrootindex-CSD......
  • Nginx部署时反向代理双斜杠问题
    我的Django+Vue前后端分离的项目,当我打包上服务后发现我的接口出现了双斜杠,Django无法识别比如这:种http://host//file_list,双斜杠出现在了中间本带开发环境和服务器的区别是服务器多了一层nginx代理,罪魁祸首应该发生在Nginx上;然后去网上查了一些方法,都不管用,最后还是ChatGP......
  • 如何使用 Python 从 Excel 工作表中读取正斜杠
    我有20多列的Excel工作表,如果我想选择不包含文本n/a的行,是否可以将n/a作为文本传递并找到它?我尝试过的代码是,''''将pandas导入为pd进口重新导入操作系统defextract_data(input_file):#读取输入的Excel文件df=pd.read_excel(input_file)#Checkif'......
  • nginx 配置代理服务地址最后多加反斜杠和不加反斜杠的区别
    在使用Nginx配置代理服务时,地址最后是否添加反斜杠(/)会对代理的URL处理产生影响。1.地址最后不加反斜杠当配置的代理服务地址最后没有反斜杠时,Nginx会将请求的URL路径原封不动地传递给后端服务器。例如:location/backend/{proxy_passhttp://backend-server;}请......
  • Python 中的正反斜杠用法详解
    在Python编程中,字符串是一个常用的数据类型,字符串中的斜杠(反斜杠\和正斜杠/)具有特殊的用法和意义,本文将介绍这两种斜杠的用法。一、反斜杠的转义作用在Python中,反斜杠(\)被称为转义字符,它常用于两个主要目的。1.引入特殊字符反斜杠可以用来引入特殊字符序列,这些序列在Py......
  • python 用单斜杠-反斜杠替换url字符串中的双斜杠
    我的URL包含错误的双斜杠(“//”),我需要将其转换为单斜杠。不用说,我想保持“https:”后面的双斜杠不变。可以在字符串中进行此更改的最短Python代码是什么?我一直在尝试使用re.sub,带有冒号否定的正则表达式(即,[^:](//)),但它想要替换整个匹配项(包括前面......