在Windows 10中的Bash/Linux子系统中打开资源管理器

12

有没有命令可以在Windows文件浏览器中从bash(或zsh)打开当前目录,使用Windows上的Ubuntu上的bash?我想我在某个地方看到过可以使用explorer .,但它告诉我找不到命令'explorer'


不要从Windows资源管理器复制到WSL。不要使用Windows资源管理器在本机Windows程序中打开WSL内的文件并将其保存回原始位置(文件将从WSL中消失,因为Windows没有Unix文件权限的概念)。您可以在WSL中查看文件,但除了在WSL内部之外,请勿修改它们。 - David C. Rankin
哇,什么?我以为WSL访问的是同样的文件。如果我导航到/mnt/d/mydocuments并使用vim或nano编辑一些东西,稍后从资源管理器打开相同的文件,会有问题吗? - Ethan Fischer
1
哦不不不...你可以访问相同的文件,但是Linux文件权限从未成为WSL的一部分。因此,如果您使用任何编辑器或Windows端打开WSL中的文件,然后保存它们——噼里啪啦,它们就会从WSL中消失。现在,您可以从WSL上将文件复制到Windows端,随意进行编辑,然后从WSL中复制回来(例如cp /mnt/c/path/to/file/you/edited destination),但是您不能将其保存从记事本++到例如C:\Users\<username>\AppData\Local\lxss——噼里啪啦! - David C. Rankin
1
vim 真的是编辑器中的瑞士军刀。就像任何事情一样,你必须付出学习的代价。真正学会它...你总是可以在其中四处走动,但要能够真正使用它需要坚持不懈。我承认,我的编辑器是 KDE3/kwrite(或 kate),但我使用 vim 的频率足以熟练掌握。我会花一个星期或更长时间专门使用 vim,填补我的熟练度差距,然后再回到 kwrite -- 6个月后又得重新开始...(其实也没那么糟糕,但“如果你打高尔夫球,你的网球比赛就会受到影响...”)WSL 很好用,只需要花费一点时间。 - David C. Rankin
1
最终的IDE是vim + tmux。您可以生成任何您希望的窗口和面板结构,并通过Vim和Bash命令行访问所有内容。一旦您经历了学习曲线,您将永远不会再成为凡人。有时在巅峰孤独,但这是值得的,当您偶然在旅途中遇到一个朋友时,您将找到一个兄弟,@EthanFischer。 - NeilG
显示剩余7条评论
6个回答

20
自Windows 10周年更新以来,您现在可以直接从Bash / WSL运行Windows可执行文件。尝试通过Windows更新更新Windows,然后在Bash中运行以下命令:
$ explorer.exe .

或者,

$ /mnt/c/Windows/explorer.exe .

(其中c是您的Windows安装驱动器)。这将在当前目录中打开一个新的资源管理器窗口。


11
explorer.exe 打开了 C:\Windows\System32 文件夹,但它并不是当前目录。 - techguy2000
@techguy2000 - 对我来说它有效 - 我为我的 Linux 子系统安装了 Ubuntu。 - Ambrose Leung
在我的 Windows 10 上最新更新的 Ubuntu 18.04 上对我不起作用。每次尝试打开 Ubuntu 中的文件夹时,我要么看到 System32 文件夹,要么是我的文档文件夹。如果它是一个在我的 Windows 驱动器中的文件夹,那么它可以正常工作。 - coredumperror
备选方法对我有效!Ubuntu 18.04和WSL2构建2004 19041。 - jvbs

0

这在我的Windows 10上的GIT bash上运行良好。

$ which explorer
/c/Windows/explorer
$ explorer .

嗯,我并没有使用GIT bash。我正在使用Linux子系统功能(测试版)。 - Ethan Fischer
当然。你可以试试我的建议吗? - asatsi
哈哈,没错。我今天稍后会尝试一下。谢谢。 - Ethan Fischer
当我在WSL中运行which explorer时,它显示explorer not found。但是当我在git bash中运行时,它可以正常工作。 - Ethan Fischer
1
请注意,which 命令只会在 PATH 路径中搜索。除非你的 PATH 中包含 /mnt/c/Windows,否则 which 命令将无法找到它。 - David C. Rankin

0

由于挂载权限的问题,explorer.exe无法工作,但有一种替代方法可能大部分时间都有效。

您可以安装xdg-utils,在安装完成后,只需在终端中输入命令“xdg-open .”,其中“.”表示您希望弹出的目录。

在Ubuntu发行版中:

$ sudo apt install xdg-utils

然后

$ xdg-open .

0
如果你正在使用zsh,你可以尝试:
$ echo 'alias <your alias|open>="/mnt/c/Windows/explorer.exe"' >> ~/.zshrc && source ~/.zshrc

bash:

$ echo 'alias <your alias|open>="/mnt/c/Windows/explorer.exe"' >> ~/.bashrc && source ~/.bashrc

那么你才能做到:

 $ <your alias|open> path

0

我无法让 $ /mnt/c/Windows/explorer.exe 正常工作。对我有效的方法是安装 Search Everything 并使用它在当前目录中搜索文件。然后,您可以右键单击结果中的文件并选择“打开路径”。


0

运行下面的命令,您可以创建一个符号链接,您可以通过/explorer.exe引用它:

sudo ln -s /mnt/c/Windows/explorer.exe explorer.exe

现在运行:

/explorer.exe .


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