技术共享

Linux基础: 三. 相对路径和绝对路径

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

三、相对路径和绝对路径

  • 严谨的说,文件名是由目录+文件名组成的。

Windows系统

  • 绝对路径

    • 绝对路径从盘符开始,例如:C:UsersUsernameDocumentsfile.txt
    • 在Windows中,路径分隔符为反斜杠
    • 绝对路径可以完全定位到文件或目录的位置,无论当前工作目录在哪里。
  • 相对路径

    • 相对路径是相对于当前工作目录的路径,不包括盘符部分。
    • 在Windows中,. 表示当前目录,.. 表示父级目录。
    • 示例:如果当前工作目录是 C:UsersUsername,则 Documentsfile.txt 等同于 C:UsersUsernameDocumentsfile.txt
    • 示例:如果当前工作目录是 C:UsersUsername,则 .Documentsfile.txt 等同于 C:UsersUsernameDocumentsfile.txt

Linux系统

  • 绝对路径

    • 绝对路径是从根(/)算起,在任何时候都不会有岐义,例如:/usr/include/stdio.h
    • 在Linux中,路径分隔符为正斜杠 /
    • 绝对路径始终从根目录算起,路径唯一确定文件或目录位置。
  • 相对路径

    • 相对路径是相对于当前工作目录的路径,不包括根目录部分。
    • 在Linux中,. 表示当前目录,.. 表示父级目录。
    • 示例:如果当前工作目录是 /usr,则 include/stdio.h 等同于 /usr/include/stdio.h

两者比较

  • 路径分隔符

    • Windows使用反斜杠 ,Linux使用正斜杠 /
  • 路径解析

    • Windows在处理路径时不区分大小写,但路径分隔符是不同的。
    • Linux路径严格区分大小写,对大小写敏感。
  • 使用习惯

    • 在程序员编写代码时,通常会使用绝对路径来确保文件或目录的准确性和可移植性。
    • 相对路径更常用于命令行操作或简单的脚本中,用于相对于当前工作目录的路径引用。

相对路径中的路径分隔符 —— . 或 ./

  • ”./user/test.sh“等价于"user/test.sh"

  • 在路径中加不加 . 的影响通常是没有的,特别是在大多数现代操作系统和命令行环境中。这是因为:

  • 默认当前目录: 当你指定一个相对路径时,系统会默认在当前工作目录下寻找文件或目录。所以,Documentsfile.txt 和 .Documentsfile.txt 在大多数情况下指向相同的文件位置。

  • 显示当前目录: 有时为了明确表示当前目录,或者在复杂的命令中以避免混淆,会显式地使用 .。这样做可以提高代码的可读性和命令的清晰度。

  • 跨平台适应性: 在跨平台的开发或脚本中,显式地使用 . 可以确保在不同的操作系统上路径分隔符被正确解释。例如,在 Windows 上使用 ,而在 Unix 或 Linux 上使用 /。

  • 总体来说,是否使用 . 取决于个人或团队的偏好和代码规范。在大多数情况下,系统会自动处理相对路径,因此 . 并不是必须的,但它可以帮助明确路径的起点。