在Windows 10中,“Bash on Ubuntu on Windows”的.bashrc文件位置是什么?

41
微软刚刚在Windows 10周年更新版中引入了Linux子系统。安装过程非常简单,但我找不到Windows上的bash文件。 它是如何工作的?在Windows中,波浪符号(~)代表什么?在哪里可以找到.bashrc文件?

1
请注意:在编辑.bashrc时,请确保使用Linux换行符。 - Vadzim
7个回答

60

自Windows 10秋季创作者更新以来,位置已更改为:

C:\Users\USERNAME\AppData\Local\Packages\{DIST}\LocalState\rootfs\home\{LINUXUSER}\

其中:

  • {DIST}等于CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc
  • {LINUXUSER}是您正在寻找.bashrc文件的用户

仅供来自Google的任何人参考。


2
C:\Users\USERNAME\AppData\Local\Packages\{DIST}\LocalState\rootfs\home\ 这个文件夹似乎是空的。 - quantumbutterfly
@quantumbutterfly 如果你在秋季创作者更新之后安装了它,它应该位于那里。如果你在那之前安装了它,它可能仍然在当时的文件夹中。 - micka190
1
即使在“秋季创作者更新”中也没有它,但我通过使用Bash创建一个新的Linux用户来解决了这个问题。 - quantumbutterfly

30

对于误解,我在谷歌上查看后发现它位于C:\Users\USERNAME\AppData\Local\Lxss\home\USERNAME.

我试过了,只需在命令提示符中键入 cd\ && dir *bashrc* /s 它会定位到文件,在我的情况下我看到了这行 C:\Users\USERNAME\AppData\Local\Lxss\home\USERNAME 但是当我想要用窗口浏览器导航时它不起作用,但如果你复制粘贴它,它就可以工作 :-)

我在这里找到了它。


考虑到您需要知道文件的位置,您可以使用find命令。
该命令的语法为find {search-path} {file-names-to-search} {action-to-take}默认情况下执行的操作是打印文件名。
所以如果您正在查找 .bashrc 文件,则可以使用 find / -name .bashrc bash会返回您 /home/yourusername/.bashrc

此外,如果您想访问您的主目录,可以使用cd ~
希望我的回答有所帮助 :-)


抱歉我的評分是負的,我是這個網站的新手。在我的電腦上,路徑是 "C:\ Users \ USERNAME \ AppData \ Local \ lxss \ home \ USERNAME" 而不是 "C:\ Users \ USERNAME \ AppData \ Local \ Lxss \ home \ USERNAME"。 - Meet Taraviya
我的声望太低,无法影响公开显示的分数。也许你的答案被其他人踩了。我已经给了你一个+1。 另外,你给出的命令对我没用。它在搜索一些目录后就卡住了,并显示了很多“权限被拒绝”的错误信息。 - Meet Taraviya
没问题,我会的 :) - BinaryDump
1
@MeetTaraviya:Windows shells(cmd.exe,PowerShell)和Windows API在文件系统方面是不区分大小写的,因此您指出的大小写差异没有实际意义。 - mklement0
因此,无法从bash中访问Windows文件。我意识到这与您的问题背景不相关,但对于以后阅读此内容的任何人来说,您可以在WSL中访问Windows文件。例如,您的C驱动器的内容应该在/mnt/c下找到。 - ZenoArrow

7

~表示用户的家目录,类似于/home/%用户名%/。

您可以像这样使用ls -al列出文件并查看.bashrc文件。


1
请查看我对BinaryDump答案的评论。 - Meet Taraviya

7

只需要输入 vi ~/.bashrc 就可以进入文件了,不管它在哪里。你可以通过执行 cd ~ 直接导航到那里。使用 ls -a 命令列出所有文件,你就能看到它。


如果你曾经使用过git bash,那么你可能会在该shell启动的目录中有一个不同的.bashrc文件。然而,一旦你开始使用wsl,ubuntu的.bashrc文件将位于一个不同的位置,更接近真正的根目录。因此,你需要使用~来进入ubuntu的主目录。 - Jhirschibar

2

现在在WSL 2中,您可以在/home/{user_name}下找到它,该文件是隐藏的。

您可以通过{text_editor} .bashrc从Ubuntu控制台访问它

如果您想在Windows上编辑它,只需在ubuntu控制台中键入explorer.exe .,它会打开当前文件夹并显示所有隐藏的文件。 这很奇怪但运行得很好。


2

其他答案对于我使用WSL 2无效。

LocalState文件夹包含虚拟磁盘,所以rootfs不存在,

AppData\Local文件夹没有Lxss文件夹。

对我来说,解决方案非常简单:

wsl -u root

这将允许您以root身份进入wsl

从这里开始,您可以访问整个Linux系统。 您可以修复.bashrc或者任何您想要的东西。

不要搞砸root用户。 :)


0

我在以下位置找到了我的.bashrc文件:

/home/your_user_name

你可以运行 cd /home/your_user_name 或者 cd ~ 也应该可以工作。

如果你之前在 Windows 上安装了 Git Bash,你可能会在你的 Windows 用户文件夹中找到 .bashrc 文件。在 Linux 子系统中,你可以在 /mnt/c/Users/your_window_user_name/.bashrc 下找到该文件。然而,修改该文件只适用于 Windows 中的 Git Bash,而不适用于 Linux 子系统的 shell 终端。

注意:我安装的 Ubuntu 是从 Windows 商店直接下载的 20.04 LTS 版本。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接