Windows 和 Linux 系统正斜杠 (斜杠 /) 和反斜杠 (倒斜杠 \)

/ 撇是正斜杠,\ 捺是反斜杠。一撇一捺是 / \,第一笔是正斜杠 /,第二笔是反斜杠 \。Window 单词的第一笔,即字母 W 的第一笔,就是反斜杠 \

1. 单正斜杠 (斜杠 /) 和双正斜杠 (//)

  1. 在 Linux 系统中的路径分隔符

../ 表示上一级路径。
./ 表示当前路径。

(base) yongqiang@yongqiang:~/software$ pwd
/home/yongqiang/software
(base) yongqiang@yongqiang:~/software$
(base) yongqiang@yongqiang:~/software$ ll
total 120964
drwxr-xr-x 1 yongqiang yongqiang      512 Apr 30 21:08 ./
drwxr-xr-x 1 yongqiang yongqiang      512 Jun  1 23:00 ../
-rwxr-xr-x 1 yongqiang yongqiang 66709754 Jul 22  2021 Miniconda3-latest-Linux-x86_64.sh*
-rwxr-xr-x 1 yongqiang yongqiang 47611219 Aug 30  2021 bazel-4.2.1-installer-linux-x86_64.sh*
drwxr-xr-x 1 yongqiang yongqiang      512 Apr 30 21:08 platform-tools/
-rw-r--r-- 1 yongqiang yongqiang  9542280 xieJul 31  2020 platform-tools_r30.0.4-linux.zip
(base) yongqiang@yongqiang:~/software$
(base) yongqiang@yongqiang:~/software$ cd  ./
(base) yongqiang@yongqiang:~/software$
(base) yongqiang@yongqiang:~/software$ pwd
/home/yongqiang/software
(base) yongqiang@yongqiang:~/software$
(base) yongqiang@yongqiang:~/software$ cd ../
(base) yongqiang@yongqiang:~$
(base) yongqiang@yongqiang:~$ pwd
/home/yongqiang
(base) yongqiang@yongqiang:~$
  1. 在 C/C++ 等编程语言中双正斜杠 (//) 作为注释

  2. 正斜杠(/) 作为 URL 路径分隔符

https://blog.csdn.net/chengyq116/category_7460147.html
https://en.wikipedia.org/wiki/Gedit

2. 单反斜杠 (倒斜杠 \) 和双反斜杠 (\\)

  1. 在 Windows 系统中的路径分隔符

Windows 文件浏览器使用反斜杠 \ 作为路径分隔符。

D:\AI_Benchmark_v5.0.1\assets\models

在这里插入图片描述

在 Linux 系统中,路径格式仅支持正斜杠 (/) 分隔,而 Windows 系统中,同时支持正斜杠 (/) 和 反斜杠 (\),建议在进行目录操作时使用反斜杠 (\)。

当 MS DOS 支持目录时,/ 已被占用 (MS DOS 使用正斜杠 / 表示命令行参数),只能使用反斜杠\ 表示路径分隔符。Windows 系统命令行要跟 MS DOS 兼容,沿用 MS DOS 的特性,同时又支持了 / 作为路径分隔符,于是正斜杠 (/) 和反斜杠 (\) 都支持作为路径分隔符。

Microsoft Windows [版本 10.0.19043.2006]
(c) Microsoft Corporation。保留所有权利。

C:\Users\cheng>D:

D:\>
D:\>cd "Program Files"

D:\Program Files>cd "AMD APP SDK"

D:\Program Files\AMD APP SDK>cd 3.0

D:\Program Files\AMD APP SDK\3.0>cd bin\x86_64

D:\Program Files\AMD APP SDK\3.0\bin\x86_64>dir
 驱动器 D 中的卷是 SOFTWARE
 卷的序列号是 72F2-2543

 D:\Program Files\AMD APP SDK\3.0\bin\x86_64 的目录

2022/01/20  22:07    <DIR>          .
2022/01/20  22:07    <DIR>          ..
2015/10/09  10:23           304,640 glew64.dll
2015/10/09  10:23           206,336 glut32.dll
2015/10/09  10:23           272,896 glut64.dll
               3 个文件        783,872 字节
               2 个目录 253,843,566,592 可用字节

D:\Program Files\AMD APP SDK\3.0\bin\x86_64>cd ..

D:\Program Files\AMD APP SDK\3.0\bin>
D:\Program Files\AMD APP SDK\3.0\bin>cd .

D:\Program Files\AMD APP SDK\3.0\bin>
D:\Program Files\AMD APP SDK\3.0\bin>cd ../../

D:\Program Files\AMD APP SDK>cd 3.0/bin/x86_64/

D:\Program Files\AMD APP SDK\3.0\bin\x86_64>
  1. 在编程语言中的转义字符

在编程语言中,反斜杠 \ 是转义前导字符,\n 代表换行,\0 代表 null 字符。当反斜杠 \ 用在字符串中时,要用双反斜杠 \\

路径名在编程语言中是字符串类型,在路径名中不能用 \ 表示路径分割。单个 \ 表示转义字符的含义,所以在字符串中要表示 \ 必须用双斜杠 \\

  1. 在编程语言中的行继续符 (line-continuation character)

The backslash character (\) is a line-continuation character when it’s placed at the end of a line. If you want a backslash character to appear as a character literal, you must type two backslashes in a row (\\).
反斜杠字符 (\) 在位于行末尾时将作为行继续符。如果你希望反斜杠字符显示为字符文本,则必须在一行中键入两个反斜杠 (\\)。

3. Windows

倒斜杠有两个,因为每个倒斜杠需要由另一个倒斜杠字符来转义。

Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:\Users\foreverstrong>python
Python 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 08:06:12) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.path.join("usr", "include", "c++")
'usr\\include\\c++'
>>>
>>> print(os.path.join("usr", "include", "c++"))
usr\include\c++
>>>
>>>
>>> files = ["a.txt", "b.txt", "c.txt"]
>>> for filename in files:
...     print(os.path.join("C:\\Users\\Default", filename))
...
C:\Users\Default\a.txt
C:\Users\Default\b.txt
C:\Users\Default\c.txt
>>>

4. Linux

strong@foreverstrong:~$ python
Python 2.7.12 (default, Nov 19 2016, 06:48:10) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.path.join("usr", "include", "c++")
'usr/include/c++'
>>> 
>>> print(os.path.join("usr", "include", "c++"))
usr/include/c++
>>> 
>>> 
>>> files = ["a.txt", "b.txt", "c.txt"]
>>> for filename in files:
...     print(os.path.join("/Users/Default", filename))
... 
/Users/Default/a.txt
/Users/Default/b.txt
/Users/Default/c.txt
>>> 
>>> 
>>> files = ["a.txt", "b.txt", "c.txt"]
>>> for filename in files:
...     print(os.path.join("/Users/Default/", filename))
... 
/Users/Default/a.txt
/Users/Default/b.txt
/Users/Default/c.txt
>>> 
>>> 
>>> files = ["a.txt", "b.txt", "c.txt"]
>>> for filename in files:
...     print(os.path.join("/Users/Default//", filename))
... 
/Users/Default//a.txt
/Users/Default//b.txt
/Users/Default//c.txt
>>> 
>>> 
>>> files = ["a.txt", "b.txt", "c.txt"]
>>> for filename in files:
...     print(os.path.join("/Users/Default///", filename))
... 
/Users/Default///a.txt
/Users/Default///b.txt
/Users/Default///c.txt
>>>

References

[1] Yongqiang Cheng, https://yongqiang.blog.csdn.net/

  • 7
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Yongqiang Cheng

梦想不是浮躁,而是沉淀和积累。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值