我的学校作业文件位于的 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