Git Bash中ls命令无法显示C盘但可导航至该盘的原因及解决方法
Git Bash中无法通过
ls看到C盘但可cd进入的原因与解决办法 终端操作复现
iamth@DESKTOP-TQE8AEJ MINGQ64 ~ (master) $ cd .. iamth@DESKTOP-TQE8AEJ MINGQ64 /c/Users $ cd ../.. iamth@DESKTOP-TQE8AEJ MINGQ64 / $ ls LICENSE.txt cmd/ git-bash.exe* proc/ unins000.exe* ReleaseNotes.html dev/ git-cmd.exe* tmp/ unins000.msg bin/ etc/ mingwt64/ unins000.dat usr/ iamth@DESKTOP-TQE8AEJ MINGQ64 / $ cd c iamth@DESKTOP-TQE8AEJ MINGQ64 /c $
原因分析
Git Bash基于MSYS/MinGW环境,模拟Unix风格文件系统:
- 根目录
/是虚拟Unix根,并非Windows实际根目录 - Windows磁盘分区(如C盘)通过系统挂载映射到
/c路径,这类挂载点是系统层面的路径映射,不属于虚拟根目录内的实体文件/文件夹,因此默认ls不会列出 - 系统内部维护了挂载点映射关系,所以直接执行
cd c或cd /c可跳转至对应磁盘
解决办法
查看所有挂载磁盘
执行mount命令,可列出所有Windows磁盘与Git Bash路径的映射关系,示例输出:C:/Program Files/Git/bin on /bin type ntfs (binary,noacl,auto) C:/Program Files/Git/usr on /usr type ntfs (binary,noacl,auto) C: on /c type ntfs (binary,noacl,posix=0,usertemp,auto)让C盘显示在根目录
ls结果中
在Git Bash根目录创建软链接,将挂载点/c映射为可见条目:cd / ln -s /c c执行后再次
ls,会看到c -> /c的链接条目,可直接通过该条目进入C盘。永久生效的配置方式
编辑MSYS的/etc/fstab文件,添加C盘挂载配置:C: /c ntfs binary,noacl,posix=0,usertemp 0 0保存后重启Git Bash,根目录
ls结果会自动显示c目录。
内容的提问来源于stack exchange,提问作者Some_Software_Dude
相关产品推荐
相关产品推荐

