在命令行中切换目录是最常用的操作,不过很少有比一遍又一遍重复“cd ls cd ls cd ls ……”更令人沮丧的事情了。如果你不是百分百确定你想要进入的下一个目录的名字,那么你不得不使用ls来确认,然后使用cd来进入你想要进的那一个。所幸的是,现在大量的终端和shell语言提供了强大的自动补全功能来处理该问题。但是,你仍然需要一直疯狂地敲击TAB键来干这事。如果你和我一样懒惰,你一定会对autojump感到惊喜。

autojump是一个命令行工具,它允许你可以直接跳转到你喜爱的目录,而不用管你现在身在何处。

在Linux上安装autojump

在Ubuntu或Debian上安装autojump:

$ sudo apt-get install autojump

要在CentOS或Fedora上安装autojump,请使用yum命令。在CentOS上,你需要先启用EPEL仓库才行。

$ sudo yum install autojump

在Archlinux上安装autojump:

$ sudo pacman -S autojump

如果你找不到适合你的版本的包,你可以从GitHub上下载源码包来编译。

autojump的基本用法

autojump的工作方式很简单:它会在你每次启动命令时记录你当前位置,并把它添加进它自身的数据库中。这样,某些目录比其它一些目录添加的次数多,这些目录一般就代表你最重要的目录,而它们的“权重”也会增大。

现在不管你在哪个目录,你都可以使用下面的语法来直接跳转到这些目录:

autojump [目录的名字或名字的一部分]

注意,你不需要输入完整的名称,因为autojump会检索它的数据库,并返回最可能的结果。

例如,假定我们正在下面的目录结构中工作。

那么下面的命令将直接让你跳到/root/home/doc下,不管你当前位置在哪里。

$ autojump do

如果你也很讨厌打字,那么我推荐你为autojump起个别名,或者使用默认的别名。

$ j [目录的名字或名字的一部分]

另外一个引人注目的功能是,autojump支持zsh和自动补完。如果你不确认哪里是不是你要跳转的地方,敲击TAB键就会列出完整路径。

还是同样的例子,输入:

$ autojump d

然后敲击tab键,将会返回/root/home/doc或者/root/home/ddl。

最后,对于高级用户,你可以访问目录数据库,并修改它的内容。可以使用下面的命令来手动添加一个目录:

$ autojump -a [目录]

如果你突然想要把当前目录变成你的最爱和使用最频繁的文件夹,你可以在该目录通过命令的参数 i 来手工增加它的权重

$ autojump -i [权重]

这将使得该目录更可能被选择跳转。相反的例子是在该目录使用参数 d 来减少权重:

$ autojump -d [权重]

要跟踪所有这些改变,输入:

$ autojump -s

这会显示数据库中的统计数据。而以下:

$ autojump --purge

命令将会把不再存在的目录从数据库中移除。

简言之,autojump将会受到所有命令行高级用户的欢迎。不管你是在ssh进一台服务器,还是仅仅想要追随复古潮流,敲更少的键来减少导航时间总是件好事。如果你真的热衷于此类工具,你也肯定也想看看Fasd,它应该会给你一个惊喜——我们下次再介绍它。

你觉得autojump怎么样?你会经常用它么?发表一下你的评论吧。


via: http://xmodulo.com/2014/06/speed-up-directory-navigation-linux-terminal.html

译者:GOLinux 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

已有 27 条评论

  1. @jia-Zz- 这个小羊挺可爱 —— 微博评论 发表。
  2. 强烈推荐autojump,只要一个j,想去哪个地方去哪个地方 —— 微博评论 发表。
  3. 深夜福利 —— 微博评论 发表。
  4. 呵呵。。。。。 —— 7th 发表。
  5. 挺好! —— 零度王爵 发表。
  6. 不错 —— 微博评论 发表。
  7. 用不了啊,回车之后还是在当前目录,用j时候会说j:未找到命令 —— '' 发表。
  8. 你当然得先安装 autojump 啦,这又不是默认带的。 —— linux 发表。
  9. 好腻害的样纸[熊猫] —— 微博评论 发表。
  10. @我的印象笔记 //@西瓜大丸子汤:强烈推荐autojump,只要一个j,想去哪个地方去哪个地方 —— 微博评论 发表。
  11. 卧槽!! —— 微博评论 发表。
  12. autojump 妥妥的 —— 微博评论 发表。
  13. 看着好流弊的样子. —— netb2c 发表。
  14. autojump —— wangchn 发表。
  15. 好方便的说 —— arhool 发表。
  16. fedora 19跳不动呢?有相同遇到的吗? —— Nutall 发表。
  17. 居然你的头像是动态的,我都不知道支持 GIF 动态。。。哈哈 —— linux 发表。
  18. 恩,估计是bug吧。我把用yum安装的卸载了,去git上面下载的最新版本安装就ok了 —— Nutall 发表。
  19. fedora21 也跳不动 —— knowaeap 发表。
  20. 可以了,安装完后,要先source /etc/profile.d/autojump.sh后才行。在~/.bashrc里面添加了[[ -s ~/.autojump/etc/profile.d/autojump.sh]] && . ~/.autojump/etc/profile.d/autojump.sh 然后. .bashrc —— Nutall 发表。

添加新评论