Uninote
Uninote
用户根目录
brdr
common
programming
docs
后端试题
问题讨论

Windows 与 macOS 文件系统及常用目录对照

Windows 和 macOS 的文件系统在路径表示和目录组织上有明显差异:Windows 通常以盘符为起点(如 C:\\),使用反斜杠 \;macOS 只有一棵以根目录 / 为起点的目录树,使用正斜杠 /

常用目录

下表中的 <用户名> 需要替换为当前登录用户的名称。

目录用途 Windows 路径(示例) macOS 路径(示例)
用户主目录 C:\Users\<用户名> /Users/<用户名>(即 ~
桌面 C:\Users\<用户名>\Desktop /Users/<用户名>/Desktop(即 ~/Desktop
文稿 C:\Users\<用户名>\Documents /Users/<用户名>/Documents(即 ~/Documents
下载 C:\Users\<用户名>\Downloads /Users/<用户名>/Downloads(即 ~/Downloads
图片 C:\Users\<用户名>\Pictures /Users/<用户名>/Pictures(即 ~/Pictures
音乐 C:\Users\<用户名>\Music /Users/<用户名>/Music(即 ~/Music
影片 C:\Users\<用户名>\Videos /Users/<用户名>/Movies(即 ~/Movies
用户级应用数据或配置 C:\Users\<用户名>\AppData\Roaming /Users/<用户名>/Library/Application Support(即 ~/Library/Application Support
用户级应用缓存 C:\Users\<用户名>\AppData\Local\<应用名>\Cache /Users/<用户名>/Library/Caches(即 ~/Library/Caches); deepseek: /Users/<用户名>/Library/Caches/TemporaryItems
临时文件 通常由 %TEMP%%TMP% 指向,如 C:\Users\<用户名>\AppData\Local\Temp $TMPDIR 指向,通常位于 /var/folders/.../T/

这些是常见默认路径,实际位置可能因系统配置、企业策略、文件夹重定向或应用自身设置而变化。编写脚本时,应优先读取系统环境变量或调用平台 API,不要硬编码用户名和完整路径。

路径表示差异

  • Windows 使用盘符区分卷,如 C:\D:\;macOS 将所有卷挂载到同一棵目录树中,外接磁盘通常位于 /Volumes/<卷名>
  • Windows 路径通常使用反斜杠 \;macOS 和其他 Unix 类系统使用正斜杠 /
  • ~ 在 macOS 的 shell 中表示当前用户主目录。在 Windows PowerShell 中,~ 也可以表示当前用户主目录,但传统 cmd.exe 通常使用 %USERPROFILE%
  • Windows 默认文件系统通常不区分文件名大小写。macOS 的默认文件系统也通常不区分大小写,但可以配置为区分大小写,因此跨平台项目不应依赖大小写不敏感行为。

跨平台开发

许多开发库会自动选择当前平台的标准目录。例如 Python 可以使用 platformdirs 获取配置、缓存和数据目录;Node.js 可以结合 os.homedir()os.tmpdir()path 模块构造路径。

不要只通过字符串替换来转换路径分隔符,因为盘符、挂载点和保留字符等差异无法用 \/ 的简单互换完整处理。C:\Users\me 被表示为 /c/Users/me/mnt/c/Users/me 只存在于特定兼容环境中:

  • Git Bash、MSYS2 等环境常将 C:\ 映射为 /c/
  • WSL 通常将 C:\ 挂载为 /mnt/c/
  • macOS 本身不会自动将 Windows 的 C:\ 转换为 /c/

虚拟机共享文件夹

在 Mac 上通过 Parallels Desktop 等虚拟机软件运行 Windows 时,可以将 macOS 的“桌面”“文稿”等目录共享或映射到 Windows。是否自动共享、映射到哪个路径,取决于虚拟机软件和当前虚拟机的配置;使用前应在共享设置中确认。

scroll

mac-shortcuts

点赞(0) 阅读(5) 举报
目录
标题