文章目录
三、相对路径和绝对路径
- 严谨的说,文件名是由目录+文件名组成的。
Windows系统
-
绝对路径:
- 绝对路径从盘符开始,例如:
C:\Users\Username\Documents\file.txt
。 - 在Windows中,路径分隔符为反斜杠
\
。 - 绝对路径可以完全定位到文件或目录的位置,无论当前工作目录在哪里。
- 绝对路径从盘符开始,例如:
-
相对路径:
- 相对路径是相对于当前工作目录的路径,不包括盘符部分。
- 在Windows中,
.
表示当前目录,..
表示父级目录。 - 示例:如果当前工作目录是
C:\Users\Username
,则Documents\file.txt
等同于C:\Users\Username\Documents\file.txt
。 - 示例:如果当前工作目录是
C:\Users\Username
,则.\Documents\file.txt
等同于C:\Users\Username\Documents\file.txt
。
Linux系统
-
绝对路径:
- 绝对路径是从根(/)算起,在任何时候都不会有岐义,例如:
/usr/include/stdio.h
。 - 在Linux中,路径分隔符为正斜杠
/
。 - 绝对路径始终从根目录算起,路径唯一确定文件或目录位置。
- 绝对路径是从根(/)算起,在任何时候都不会有岐义,例如:
-
相对路径:
- 相对路径是相对于当前工作目录的路径,不包括根目录部分。
- 在Linux中,
.
表示当前目录,..
表示父级目录。 - 示例:如果当前工作目录是
/usr
,则include/stdio.h
等同于/usr/include/stdio.h
。
两者比较
-
路径分隔符:
- Windows使用反斜杠
\
,Linux使用正斜杠/
。
- Windows使用反斜杠
-
路径解析:
- Windows在处理路径时不区分大小写,但路径分隔符是不同的。
- Linux路径严格区分大小写,对大小写敏感。
-
使用习惯:
- 在程序员编写代码时,通常会使用绝对路径来确保文件或目录的准确性和可移植性。
- 相对路径更常用于命令行操作或简单的脚本中,用于相对于当前工作目录的路径引用。
相对路径中的路径分隔符 —— .\ 或 ./
-
”./user/test.sh“等价于"user/test.sh"
-
在路径中加不加 .\ 的影响通常是没有的,特别是在大多数现代操作系统和命令行环境中。这是因为:
-
默认当前目录: 当你指定一个相对路径时,系统会默认在当前工作目录下寻找文件或目录。所以,Documents\file.txt 和 .\Documents\file.txt 在大多数情况下指向相同的文件位置。
-
显示当前目录: 有时为了明确表示当前目录,或者在复杂的命令中以避免混淆,会显式地使用 .\。这样做可以提高代码的可读性和命令的清晰度。
-
跨平台适应性: 在跨平台的开发或脚本中,显式地使用 .\ 可以确保在不同的操作系统上路径分隔符被正确解释。例如,在 Windows 上使用 \,而在 Unix 或 Linux 上使用 /。
-
总体来说,是否使用 .\ 取决于个人或团队的偏好和代码规范。在大多数情况下,系统会自动处理相对路径,因此 .\ 并不是必须的,但它可以帮助明确路径的起点。