从Store安装的Linux环境(如Ubuntu和openSUSE)将其文件保存在隐藏文件夹中。 您可以访问该文件夹来备份和查看文件。 你也可以从Bash shell中访问你的Windows文件。
不要使用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%\应用程序数据\本地\套餐
(这会将您带到C:\Users\NAME\AppData\Local\Packages
。如果您愿意,还可以在文件资源管理器中显示隐藏文件夹并在此处手动导航。
在此文件夹中,双击要查看其文件的Linux发行版的文件夹:
- Ubuntu :CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc
- openSUSE Leap 42 :46932SUSE.openSUSELeap42.2_022rs5jcyhyac
- SUSE Linux Enterprise Server 12 :46932SUSE.SUSELinuxEnterpriseServer12SP2_022rs5jcyhyac
这些文件夹的名称将来可能会稍有变化。 只需查找以Linux发行版命名的文件夹。
在Linux发行版的文件夹中,双击“LocalState”文件夹,然后双击“rootfs”文件夹查看其文件。
换句话说,这些文件存储在:
C:\ Users \用户名\ AppData的\本地\包\ DISTRO_FOLDER \ LocalState \根文件系统
注意 :在较早版本的Windows 10中,这些文件存储在C:\ Users \ Name \ AppData \ Local \ lxss下。 这改变了从秋季创作者更新开始 。
要查看存储在主文件夹中的文件,请双击“home”文件夹,然后双击您的UNIX用户名。
请记住,不要修改这些文件中的任何文件或将文件从文件浏览器添加到这些文件夹!
您的Windows系统驱动器在Linux中的位置
Linux的Windows子系统使您可以使用完整的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系统文件时,您的Bash shell环境具有启动时的权限。 如果您通常从快捷方式启动它,它将具有与Windows用户帐户相同的文件访问权限。
例如,如果您想要访问系统文件夹,则您的用户帐户无权访问,您需要右键单击Bash shell快捷方式并选择“以管理员身份运行”以启动具有Windows管理员权限的Bash shell 。
这就像命令提示符一样,如果您需要对仅限管理员的文件进行写入访问,或者对系统文件进行写入访问,则需要以管理员身份启动 。 你不能在Bash环境中使用sudo
。