windows 和 Linux 下的文件路径表示

reference

一、\(Windows\) 下的路径表示

由于 \(DOS\) 原因,过去的 \(windows\) 路径表示采用反斜杠 \,而路径字符串由于反斜杠的转义字符,因此需要用双反斜杠 \\

DOS 是指 磁盘操作系统(Disk Operating System)。它是一种早期的操作系统,最著名的是 MS-DOS(Microsoft Disk Operating System),它在上世纪80年代和90年代初期被广泛使用。

DOS 系统最初使用 反斜杠 \ 作为路径分隔符,原因是正斜杠 / 当时已经被用作命令行参数的标识符(例如:dir /p)。随着 Windows 操作系统的诞生,它继承了 DOS 的许多特性,包括路径分隔符的使用。

虽然现在的 Windows 系统可以理解正斜杠 /,但反斜杠 \ 依然是标准的路径分隔符。

注:在 Windows CMD 下,依然可以使用 dir /p 命令。

\(Windows\) 的根目录为磁盘号(CDE),后面跟 :path
如今的 \(Windows\) 内核在处理路径时同时支持正斜杠和反斜杠。但有时候我们用正斜杠会出错,下面是用 \(python\) 读文件的例子:

# "\"为字符串中的特殊字符,加上r后变为原始字符串,则不会对字符串中的"\t"、"\r" 进行字符串转义
path0 = r"C:\Windows\temp\readme.txt"   

# 大小写不影响windows定位到文件; 
path1 = r"c:\windows\temp\readme.txt"

# 用一个"\"取消第二个"\"的特殊转义作用,即为"\\";
path2 = "c:\\windows\\temp\\readme.txt"

# 正斜杠做目录分隔符也可以转到对应目录,并且在python中path3的方式也省去了反斜杠\转义的烦恼。
path3 = "c:/windows/temp/readme.txt"

二、\(Linux\) 下的路径表示

\(Linux\) 的路径分隔采用正斜杠 /

\(Linux\) 的文件系统是树形结构。在树的最上层是根文件夹,根文件夹由 / 来表示。根系下面有孩子文件夹,孩子的下面有孙子文件夹,以此类推,所有的文件就包含在这些文件夹里面。

绝对路径永远都是相对于根文件夹的,它们的标志是第一个字符永远都是 /;相对路径永远都是相对于当前所处的文件夹位置,它们的第一个字符没有 /

  • . 来表示当前目录
  • .. 来表示上一级目录
  • - 表示上次所在目录
  • ~ 表示当前用户的 \(home\) 目录

使用 pwd 可以获得当前所在路径,注意是绝对路径。

posted @ 2025-05-25 18:00  光風霽月  阅读(154)  评论(0)    收藏  举报