每次我需要进入一个新目录时,我都会给出命令cd
和目录名称,并ls
查看其中的内容。有没有什么方法或命令可以直接进入我感兴趣的目录而不需要一次又一次地给出命令?
答案1
A可能的解决方案可能是使用CDPATH
shell 变量。它包含一组以:
- 分隔的目录名称,cd
命令将在其中查找目录。
例如,您可以将此变量设置为
CDPATH=".:$HOME/Documents"
一.
开始就确保总是cd somename
尝试cd
在somename
当前的目录(如果当前目录中存在具有该名称的目录)。
这$HOME/Documents
意味着如果cd
在当前目录中找不到您使用的目录名称,则会在$HOME/Documents
(Documents
您的主目录中的目录)中查找它。
这意味着您可以轻松地从任何地方cd
访问homework
的子目录$HOME/Documents
cd homework
...假设那里有这样一个目录而不是在当前目录中。
该CDPATH
变量永远不应该被导出!
答案2
如果您知道完整路径,则可以直接访问:
cd /home/user/Documents/homework/
大多数 shell 都有某种TAB自动完成功能。在 bash 中,TAB如果只有一个选项,您可以开始键入并一次自动完成目录。如果有多个选项,TAB请第二次让您的 shell 显示所有选项。
user ~ $ cd D[TAB][TAB]
Desktop/ Documents/ Downloads/
user ~ $ cd D
答案3
你可以用你的命令历史。有几种简单的方法可以开始使用:
在命令提示符处,点击“向上箭头”键即可获取上一个命令,再次点击该键可返回到之前的两个命令。您可以通过这种方式上下滚动浏览整个命令历史记录。
您可以搜索以前的命令:键入
^r
( controlr)。然后输入您从命令中记住的任何内容的几个字母。历史记录功能将搜索您之前的命令以查找匹配项。如果您得到匹配项,但不是您想要的,请^r
再次键入,它将转到下一个较早的匹配命令。
网上有很多使用指南 -这个还不错。。我认为重要的是不要过于字面地理解这些指南,因为它们之间存在差异。反复试验对我来说效果很好。
答案4
也许有点离题,但是使用恩恩作为命令行式文件管理器,您可以根据需要设置任意数量的快捷方式(shift+b
并输入要用作快捷方式的名称),并且在需要时只需点击b
并输入要导航到的快捷方式。
根据需要从列表中删除和添加快捷方式(实际上只是符号链接)。
比编辑脚本或 shell 变量更容易管理,并且使用 nnn 提供的四个,tabs
我什至大多数时候都不需要快捷方式。