关于挂载的文件系统 /mnt/c
- / mnt / c / Users /与C:\ Users \相比到底是什么?似乎它们是同一个人--- / mnt / c /是什么?
与Windows相反,Linux(以及其他基于Unix的系统)使用单个文件夹结构,而与您拥有的磁盘数量无关。如果您有多个磁盘,则所有这些磁盘都必须在某个时刻安装到文件夹结构中。
- 通常,所有磁盘(不同于用于引导系统的磁盘)都安装在名为
/mnt
或的文件夹中。/media
WSL具有一种称为DrvFS的特殊文件系统类型,可让您访问Windows中使用的磁盘。您不仅可以使用Windows文件系统来安装DrvFS,还可以使用网络磁盘和其他媒体类型来安装DrvFS。
- 在WSL中,默认情况下,
C:
Windows中的磁盘安装在/mnt/c
- 如果您有另一个磁盘,例如
D:
Windows中的磁盘,它将被安装在/mnt/d
您可以看到的文件与中的文件/mnt/c
相同C:
。如果您修改某些文件,您也将在窗口中得到更改。
您可以使用该mount
命令访问其他类型的媒体(例如,可移动驱动器或网络共享)。
关于位置 /home/<username>
- 如何使用Windows文件资源管理器查看/ home /中的文件?并不是我真的想要-我只是想了解Windows如何组织Linux子系统。
在WSL中,所有linux文件系统都位于Windows文件夹下。该文件夹的位置取决于您使用的Windows版本和WSL发行版。
- WSL的初始版本将linux文件系统存储在
%LOCALAPPDATA%\Lxss\rootfs
- 从Windows商店开始安装的WSL发行版(从 Windows Build 16215(2017年中)开始)使用像这样的文件夹
%LOCALAPPDATA%\Packages\...\LocalState\rootfs
。软件包的名称取决于发行版本(例如,Ubuntu和Debian的名称不同)
- 使用其他工具(例如lxRunOffline或WSL-DistroLauncher)安装的Linux发行版可以将linux文件系统存储在任何位置。
您可以检查许多选项以了解WSL文件夹的位置。例如,我认为最简单的选择是使用lxRunOffline来了解安装文件夹。
## You can use lxrunoffline to check which WSL distributions have installed
## using: lxrunoffline list
C:\> lxrunoffline list
backup
Ubuntu-18.04
## And you can use it to get the location of any of these WSL installations
## using: lxrunoffline get-dir -n <name of distribution>
C:\> lxrunoffline get-dir -n backup
c:\wsl\installed\backup
C:\> lxrunoffline get-dir -n Ubuntu
C:\Users\Jaime\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState
知道安装文件夹的位置后,/home/<username>
位于下方<installation folder>\rootfs\home\username
。
- 例如,如果您的安装文件夹是
c:\wsl\ubuntu
- 的
/home/<username>
是c:\wsl\ubuntu\rootfs\home\username
注意: Linux和Windows都以不同的方式存储文件权限。如今,WSL DrvFS将Linux权限存储为流(元数据),附加到您可以在Windows中看到的文件。Microsoft不建议使用Windows程序修改linux文件。某些Windows应用程序可能会在没有通知的情况下破坏linux权限。