每当我尝试从 Windows WSL 调用以下命令:“notepad /etc/bash.bashrc”时,我都会收到错误

每当我尝试从 Windows WSL 调用以下命令:“notepad /etc/bash.bashrc”时,我都会收到错误

记事本可以打开任何文件,因为该文件位于常见的 Windows 目录中。我不喜欢 Vi 和 Vim 之类的编辑器,所以我想用记事本甚至 notepad++ 打开文件,但似乎当从 WSL 调用记事本或 notepad++ 时,它们无法访问 Linux 根 ('/') 树内的任何文件。有什么办法吗?

答案1

切勿使用 Windows 应用程序更改 WSL 文件。否则会损坏您的数据。

如果你安装了 Windows 更新 1903(2019 年 3 月),你可以使用 Windows 文件资源管理器访问 WSL 文件。但是必须先运行 WSL。

如果您想要使用 GUI 编辑文件,请尝试gedit安装后再试sudo apt install ubuntu-desktop。有关更多信息,请参阅:

答案2

您永远不应尝试通过 AppData 文件夹访问您的 WSL 文件。它隐藏在那里,因为修改它可能会损坏您的 Linux 发行版。

正确的方法是\\wsl$通过 Windows 资源管理器访问,方法是直接在地址栏中输入,或单击资源管理器侧栏中的“Linux”文件夹(例如,我的侧栏中列出了 OneDrive、此 PC、网络和 Linux)。您也可以输入explorer.exe .bash,它将打开 Windows 资源管理器到您的当前目录。

由于 WSL 可以访问 Windows 路径,因此 notepad.exe、explorer.exe、calc.exe 等程序都应该可以直接通过 Linux 命令访问。

echo "Hello, World!" > hello.txt
notepad.exe hello.txt

这将使用 Windows 记事本打开 hello.txt。然后,您可以在记事本中添加文本“Hello, WSL!”并保存。现在,如果您再次查看 bash 中的内容,就会看到它更新了文件。

cat hello.txt
Hello, World!
Hello, WSL!

为了使它们更加方便,您可以为它们创建别名!

alias notepad=notepad.exe
alias explorer=explorer.exe

这些可以保存在您的.bash_aliases文件中。

现在您可以notepad hello.txt使用 Windows 记事本从 bash 打开文本文件。

相关内容