在WSL上,.bashrc文件的位置是什么?

4

我正在使用Windows子系统来运行Linux,并试图找到我的终端的.bashrc文件。

其他线程通常指出两个位置:

C:\Users\USERNAME\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\home\{LINUXUSER}\

或者

C:\Users\USERNAME\AppData\Local\Lxss\home\用户名

在我的机器上,Local文件夹中没有包含Lxss 子目录,因此排除了第二个选项,而home文件夹中没有包含任何内容,因此排除了第一个选项。在哪里可以找到.bashrc?


可能最初并没有 .bashrc 文件存在吗?尝试创建一个并查看是否生效。 - Eliran Malka
我应该在哪里创建它? - quantumbutterfly
我在我的主贴中解释了为什么那两个解决方案对我不起作用。 - quantumbutterfly
尝试了一下,但没有成功。这很有道理,因为“~”被映射到“/mnt/c/Users/USERNAME”,这是Windows文件系统,而bash很可能从Ubuntu文件系统中的某个地方拉取.bashrc文件。 - quantumbutterfly
我已经将Kali Linux安装为WSL,我也遇到了同样的问题,我只是输入了cd ~,然后pwd,我的主目录设置为/home/{USER},接着找到了.bashrc文件,希望这可以帮到你。 - felix at housecat
2个回答

1
@quantumbutterfly的回答是不正确的。GitHub上链接的帖子与人们发现他们移动家目录后未运行.bashrc有关。
WSL确实创建了一个默认用户。这是设置的最后一部分。
您应该能够启动WSL会话并在您的主目录(~)中创建.bashrc
如果您想知道文件在Windows中存在的位置,只需键入以下内容:wslpath -aw ~
如果您在移动主目录后无法让.bashrc被源化,则quantum帖子中提到的usermod可能是您需要的全部内容。
其他解决方法包括:
  • 在您的主目录中创建.bash_profile,并在其末尾包含source ~/.bashrc
  • 编辑“Bash on Ubuntu on Windows”快捷方式,并在命令末尾添加--rcfile ~/.bashrc。例如:C:\Windows\System32\bash.exe ~ --rcfile ~/.bashrc

0

看起来WSL默认不会创建用户。

可以按照以下步骤设置用户

$ sudo adduser newuser # new user to play with, creates in /home/newuser like your default
$ sudo cp -aR /home/newuser /mnt/c/Users/<you>
$ sudo echo "echo 'running bashrc'" >> /mnt/c/Users/<you>/newuser/.bashrc
$ sudo usermod -d /mnt/c/Users/<you>/newuser newuser

完成此操作后,您可以在该用户的主目录中编辑 .bashrc 配置文件

在 Ubuntu 中,该文件位于 /mnt/c/Users/<you>/newuser/.bashrc,在 Windows 中,该文件位于 C:\Users\<you>\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\home\newuser\.bashrc

或者,您也可以在 C:\Users\<you> 目录下放置一个名为 .bash_profile 的文件,而无需创建 Ubuntu 用户。

有关更多信息,请参见此线程:https://github.com/Microsoft/WSL/issues/2612


1
@quantumbutterfly的答案是不正确的。在链接的GitHub主题中提到,人们在移动其家目录后无法运行其.bashrc文件。WSL默认会创建一个用户。如果没有这个用户,什么都无法正常工作。 - SeeJayBee

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