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

从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

如何访问您的Ubuntu Bash文件在Windows(和您的Windows系统驱动器在Bash)

视窗10的“ Bash在Ubuntu在Windows ”环境包含几个不同的组件。 第一次运行bash.exe程序时,它将下载并安装整个Ubuntu用户空间环境。 如果您知道在哪里查看,您可以在文件资源管理器或其他Windows程序中访问这些文件。

您还可以从Ubuntu Bash shell中访问Windows系统驱动器以及计算机上的任何其他驱动器。 这允许您使用Linux命令行实用程序处理正常的Windows文件。

Ubuntu Bash Shell文件存储在Windows中的位置

请注意,使用Bash的每个Windows用户帐户都将在自己的用户目录下有自己单独的Bash环境和文件。

要访问这些文件,你首先需要显示隐藏文件夹中的文件管理器。 打开文件资源管理器窗口,然后单击视图>选项>更改文件夹和搜索选项。

在出现的文件夹选项窗口中,选择视图>显示隐藏的文件,文件夹和驱动器。

导航到以下目录以查找这些文件夹:

  C:\ Users \ USERNAME \ AppData \ Local \ lxss 

Ubuntu系统文件存储在:

  C:\ Users \ USERNAME \ AppData \ Local \ Lxss \ rootfs 

您的Ubuntu用户帐户的主文件夹存储在:

  C:\ Users \ USERNAME \ AppData \ Local \ Lxss \ home \ USERNAME 

根帐户的主文件夹存储在:

  C:\ Users \ USERNAME \ AppData \ Local \ Lxss \ root 

你的Windows系统驱动器出现在Bash

Ubuntu Bash shell环境使您的完整Windows系统驱动器可用,以便您可以在两个环境中使用相同的文件。 但是,Bash环境不只是把你放在你的C:\驱动器。 相反,它将你放在/,或者你在Linux上的根目录。 如果执行ls命令来查看目录的内容,你只会看到Ubuntu的目录提供的Linux环境。

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。

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

例如,如果要访问C:\ Users \ Administrator文件夹,则需要右键单击Bash shell快捷方式并选择“以管理员身份运行”以使用Windows管理员权限启动Bash shell。

这个工程就像命令提示符,它需要被推出,管理员如果需要写访问只有管理员文件,或写入访问系统文件。 你不能只用“ Sudo ”在Bash环境。

赞 (2)
分享到:更多 ()