是否可以保存我最近/常用的某些位置(例如/ folder / folder / folder /),这样我就不必手动浏览当前目标和目标目录之间的每个目录? / p>
有点像alt-tab,但是对于路径。我在OS X上,但也许这可以使用基本的Unix技能来完成?
谢谢!
答案 0 :(得分:2)
如果您设置shell以保存命令历史记录,则使用Ctrl + R热键可以节省一些时间,在您键入时执行先前执行的命令的搜索。另一件好事是,如果按Tab键一次/两次,大多数shell都会为你提供文件/目录名称完成,这也很有帮助。
编辑:您还可以在单个(例如家庭)目录中创建一些符号链接,以快速访问目录。使用ln -s <path to target file/directory> <path to link>
命令。目标路径可以是相对路径也可以是绝对路径。
答案 1 :(得分:1)
在大多数shell中工作的一种方法(但对于不同的shell略有不同)是目录堆栈。您可以使用pushd
推送目录,popd
从堆栈弹出顶层目录,dirs
移动目录并切换到堆栈中间的目录。我刚检查过,Mac OS X上pushd
的手册页没用;使用shell的手册页(可能是bash
)并在那里搜索pushd
等。
答案 2 :(得分:1)
在Bash中,您可以向CDPATH
变量添加目录。如果您尝试cd
到不以斜杠开头的目录,则会搜索CDPATH
中列出的目录以查找匹配的目标。
答案 3 :(得分:1)
在zsh
中有几个选项。
如果您使用cd
,那么shell可以保留您setopt AUTO_PUSHD
所编辑的最新几个目录的堆栈。完成设置(autoload -U compinit; compinit
)后,键入cd +
并按标签,您将获得一个编号列表:
~% cd /Library
/Library% cd /System/Library
/System/Library% cd +
1 -- /Library
2 -- /Users/nicholas
所以最近的目录是+1
等。(您可以像我一样使用setopt PUSHD_MINUS
撤消此目录,因此您使用-
代替+
最近的目录是-1
)。
另一种选择是目录散列;你可以创建伪“主目录”(~whatever
)。我的一些人,例如:
hash -d v=/Volumes
hash -d a=/Volumes/BanjoArchive
hash -d pep=/System/Library/Frameworks/Python.framework/Versions/Current
hash -d sp=$(print /Library/Python/*/site-packages(On[1]))
因此,我只需输入cd ~pep
或cd pep
(如果明确无误)或甚至pep
(如果设置了AUTO_CD
)。在cd
以外的情况下,您也可以将目录堆栈与~
一起使用,例如~+1
或~-1
。
zsh
甚至可以在使用~
选项的AUTO_NAME_DIRS
之后替换shell变量,但我不使用它,因为它会使变量列表混乱。不过,这是一个例子:
~%setopt AUTO_NAME_DIRS
~%v=/Volumes
~%cd ~v
~v%pwd
/Volumes
zsh
也支持cdpath
作为提及的其他答案之一。例如,我有:
cdpath=($HOME /Volumes)
所以我可以将我的主目录中已安装的卷或目录的名称用于cd
。
答案 4 :(得分:1)
我偶然发现了Z,它解决了我所有的导航问题。
答案 5 :(得分:0)
要alias
(根据设置,将其放入~/.bashrc
或~/.profile
):
alias godocs='cd /home/me/my_docs`
@Jeremiah建议或pushd/popd
。
答案 6 :(得分:0)
查看“Cd Deluxe”以获得极大改进的“更改目录”命令:http://www.plan10.com/cdd/。