如何在Windows中访问Ubuntu Bash文件(以及在Bash中访问Windows系统驱动器)

您从应用商店安装的Linux环境(如Ubuntu和openSUSE)将它们的文件保存在一个隐藏的文件夹中。您可以访问此文件夹以备份和查看文件。您还可以从Bash shell访问您的Windows文件。

更新:从Windows10的2019年5月更新开始,现在有了一种官方的、安全的方式来从Windows应用程序访问您的Linux文件。

不要使用Windows工具修改Linux文件

微软强烈警告不要使用Windows软件添加或修改Linux文件。这可能会导致元数据问题或文件损坏,并可能迫使您卸载并重新安装Linux发行版来修复它。但是,您仍然可以使用Windows软件查看和备份您的Linux文件,这不会造成任何问题。

换句话说,将Linux文件夹视为Windows中的只读文件夹。不要使用任何Windows工具(包括图形应用程序或命令行工具)来修改它们。也不要使用Windows工具在这些文件夹中创建新文件。

如果确实要使用Linux和Windows环境中的文件,则应在Windows文件系统中创建该文件。例如,如果在Windows中有一个位于C:\project的文件夹,则在Linux环境中也可以在/mnt/c/project访问该文件夹。因为它存储在Windows文件系统中,并且可以在/mnt/c下访问,所以使用Windows或Linux工具修改该文件是安全的。

Windows存储Linux文件的位置

您的Linux文件系统存储在隐藏文件夹中是有原因的,因为Microsoft不希望您篡改它。但是,如果你需要查看或备份一些文件,你会发现它们存储在一个隐藏的文件夹中。要访问它,请打开文件资源管理器,并将以下地址插入地址栏:

%userprofile%\AppData\Local\Packages

(这会将您带到C:\Users\Name\AppData\Local\Packages。如果愿意,您还可以在文件资源管理器中显示隐藏文件夹并手动导航到此处。

在此文件夹中,双击要查看其文件的Linux分发版本的文件夹:

Ubuntu:CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc。 openSUSE Leap 42:46932 SUSE.openSUSELeap42.2_022rs5jcyhyac。 SUSE Linux Enterprise Server12:46932SUSE.SUSELinuxEnterpriseServer12SP2_022rs5jcyhyac

这些文件夹的名称将来可能会稍有更改。只需查找一个以Linux发行版命名的文件夹。

在Linux发行版的文件夹中,双击“LocalState”文件夹,然后双击“rootfs”文件夹以查看其文件。

换言之,文件存储在以下位置:

C:\Users\NAME\AppData\Local\Packages\DISTRO_FOLDER\LocalState\rootfs

注意:在旧版本的Windows 10中,这些文件存储在C:\Users\Name\AppData\Local\lxss下。从秋季创建者更新开始,这一点发生了变化。

要查看存储在主文件夹中的文件,请双击“主”文件夹,然后双击您的UNIX用户名。

请记住,不要从文件资源管理器修改这些文件中的任何文件或将文件添加到这些文件夹中!

您的Windows系统驱动器在Linux中的显示位置

Windows Subsystem for Linux使您的整个Windows系统驱动器可用,因此您可以在两个环境中使用相同的文件。然而,Bash环境并不只是将您转储到C:\驱动器中。相反,它会将您放在Linux环境文件系统内的UNIX帐户的主目录中。

您的Windows系统驱动器和其他连接的驱动器显示在那里的/mnt/目录中,其他驱动器通常在Linux目录结构中可用。具体地说,您将在Bash环境中的以下位置找到C:驱动器:

/mnt/c

要使用cd命令切换到此目录,只需键入:

cd /mnt/c

如果您有一个D:驱动器,您会发现它位于/mnt/d,依此类推。

例如,要访问存储在C:\Users\Chris\Downloads\File.txt中的文件,可以在Bash环境中使用路径/mnt/c/Users/Chris/Downloads/File.txt。是的,它区分大小写,所以您需要“下载”而不是“下载”。

相关:如何在Linux的Windows子系统中挂载可移动驱动器和网络位置

您还可以挂载外部驱动器和网络位置,以便从Linux环境中访问更多文件。

请注意,在访问Windows系统文件时,您的Bash shell环境具有启动时所使用的权限。如果您正常从快捷方式启动它,它将具有与您的Windows用户帐户相同的文件访问权限。

例如,如果要访问您的用户帐户无权访问的系统文件夹,则需要右键单击Bash shell快捷方式,然后选择“以管理员身份运行”以使用Windows管理员权限启动Bash shell。

此命令的工作方式与命令提示符相同,如果您需要对仅限管理员的文件的写入权限或对系统文件的写入权限,则需要以管理员身份启动该提示符。在Bash环境中不能只使用sudo。

相关文章