如何在 WSL/Ubuntu 中设置 Windows 文件夹的快捷方式?

如何在 WSL/Ubuntu 中设置 Windows 文件夹的快捷方式?

我的学校作业文件位于的 Windows 文件系统上,每次从家里/mnt/c/Users/nyck33/Documents取出很麻烦。cd ../..cd mnt/c/Users/nyck33/Documents

我如何设置快捷方式,以便我可以从家里的 cd 到该 Windows 文件系统(这意味着我可以跳过cd ../..将我带到 root 目录的步骤)。

或者如果这是不可能的,至少从根目录之后我cd ../..

答案1

有几种可能性,但在所有情况下,请记住,从 WSL/Ubuntu 访问 Windows 驱动器上的文件是急剧地比将它们放在虚拟 ext4 文件系统中慢。如果您遇到性能问题,请考虑将文件移动到您的 Ubuntu 主目录 ( ~)。

此外,无需cd ../..从您的主目录开始。只需以 开始路径/,即可cd /mnt/c/Users/nyck33使其成为绝对路径而不是相对路径。至少“手动”执行一次此操作,以便使用下面的一些历史搜索选项使其可重复。

考虑到这一点,这里有几种(可能太多了)方法可以简化从 WSL/Ubuntu 内部访问 Windows 文档目录的过程。我推荐的是选项fzf(下面第二个),符号链接选项(第三个)紧随其后。没有理由不能同时使用两者:


  • 选项 1:反向历史搜索

    您可以使用 Bash(和其他 shell)中的反向历史搜索来快速重复该cd /mnt/...命令。

    优点:无需额外配置。

    首先按Ctrl+R调出反向历史搜索。你会看到:

    (reverse-i-search)`':
    

    开始输入Doc,Bash 将在其中找到最新的命令Doc。如果不是命令cd,然后继续按Ctrl+R在搜索结果中向后循环,直到找到它,然后按Enter重复它。


  • 选项 2:使用反向历史搜索fzf

    fzf,“命令行模糊查找器”是一种流行的“过滤列表”实用程序。在这种情况下,列表是您的 shell 命令历史记录。

    sudo apt install fzf
    source /usr/share/doc/fzf/examples/key-bindings.bash
    # Add the source line above to your ~/.bashrc for future use
    

    Ctrl+键R将弹出搜索/过滤历史记录。输入内容cd Doc将缩小列表范围,可能精确到cd mnt/c/Users/nyck33/Documents您想要的。只需点击即可Enter重复。


  • 选项 3:主目录中的符号链接

    您可以在 Ubuntu 主目录中创建指向 Windows 主目录的符号链接:

    ln -s /mnt/c/Users/nyck33/Documents/ ~/windocs
    

    有了这个,你就可以简单地cd ~/windocs/到达那个位置。不需要任何~/.bashrc修改,因为符号链接会永久存储在你的主目录中。


  • 选项 4:shell 别名:

    您可以创建 Bash(或其他 shell)别名以轻松移动到该目录:

    alias windocs="cd '/mnt/c/Users/nyck33/Documents/'"
    

    从 Bash执行windocs命令将带您到达该位置。

    当然,您可以将其添加alias到您的系统中~/.bashrc,以使其始终可用。


  • 选项 5:shell 变量

    正如评论中提到的,您可以将 Windows 文档目录定义为 shell 变量,然后cd将其定义为:

    windocs="mnt/c/Users/nyck33/Documents"
    cd $windocs
    

    可以通过将变量声明添加到~/.bashrc

相关内容