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

三、相对路径和绝对路径

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

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在处理路径时不区分大小写,但路径分隔符是不同的。
    • Linux路径严格区分大小写,对大小写敏感。
  • 使用习惯

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

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

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

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

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

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

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

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

相关推荐

  1. Linux基础: . 相对路径绝对路径

    2024-07-11 21:08:04       25 阅读
  2. Linux--绝对路径相对路径

    2024-07-11 21:08:04       55 阅读
  3. LinuxLinux 系统编程——相对路径绝对路径

    2024-07-11 21:08:04       65 阅读
  4. C++/C#/QT 绝对路径相对路径设置

    2024-07-11 21:08:04       42 阅读
  5. Python中的绝对路径相对路径详解

    2024-07-11 21:08:04       31 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-11 21:08:04       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-11 21:08:04       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-11 21:08:04       58 阅读
  4. Python语言-面向对象

    2024-07-11 21:08:04       69 阅读

热门阅读

  1. Lemo 的 AGI 应用实战博文导航

    2024-07-11 21:08:04       18 阅读
  2. 音视频开发——FFmpeg 实现MP4转FLV文件 C语言实现

    2024-07-11 21:08:04       20 阅读
  3. 【C#】遍历文件夹及其子文件夹指定后缀文件

    2024-07-11 21:08:04       19 阅读
  4. C语言从头学33——内存管理(一)

    2024-07-11 21:08:04       23 阅读
  5. Qt 的Q_PROPERTY关键字

    2024-07-11 21:08:04       20 阅读
  6. C++ 入门08:运算符重载

    2024-07-11 21:08:04       24 阅读
  7. [AI 大模型] 百度 文心一言

    2024-07-11 21:08:04       20 阅读
  8. 架构面试-场景题-单点登录(SSO)怎么实现的

    2024-07-11 21:08:04       24 阅读
  9. 深入理解Spring Boot中的事件驱动架构

    2024-07-11 21:08:04       21 阅读
  10. DDD架构面试问题

    2024-07-11 21:08:04       21 阅读
  11. 解析 pdfminer pdfparser.py

    2024-07-11 21:08:04       23 阅读