对于那些主要通过控制台或终端使用 linux 命令行来工作的 linux 用户来说,他们真切地感受到了 linux 的强大。 然而在 linux 的分层文件系统中进行导航有时或许是一件头疼的事,尤其是对于那些新手来说。

autojump – linux 文件系统导航的最快方式
这个应用原本由 joël schaerer 编写,现在由 +william ting 维护。
autojump 应用可以从用户那里学习并帮助用户在 linux 命令行中进行更轻松的目录导航。与传统的 <code>cd</code> 命令相比,autojump 能够更加快速地导航至目的目录。
自由开源的应用,在 gpl v3 协议下发布。
自主学习的应用,从用户的导航习惯中学习。
更快速地导航。不必包含子目录的名称。
对于大多数的标准 linux 发行版本,能够在软件仓库中下载得到,它们包括 debian (testing/unstable), ubuntu, mint, arch, gentoo, slackware, centos, redhat 和 fedora。
也能在其他平台中使用,例如 os x(使用 homebrew) 和 windows (通过 clink 来实现)
使用 autojump 你可以跳至任何特定的目录或一个子目录。你还可以用文件管理器打开某个目录,并查看你在某个目录中所待时间的统计数据。
版本号不低于 2.6 的 python
<a target="_blank"></a>
1、 以 root 用户的身份,做一次系统更新或升级,以此保证你安装有最新版本的 python。
<code># apt-get update && apt-get upgrade && apt-get dist-upgrade [基于 apt 的系统]</code>
<code># yum update && yum upgrade [基于 yum 的系统]</code>
<code># dnf update && dnf upgrade [基于 dnf 的系统]</code>
注 : 这里特别提醒,在基于 yum 或 dnf 的系统中,更新和升级执行相同的行动,大多数时间里它们是通用的,这点与基于 apt 的系统不同。
2、 正如前面所言,在大多数的 linux 发行版本的软件仓库中, autojump 都可获取到。通过包管理器你就可以安装它。但若你想从源代码开始来安装它,你需要克隆源代码并执行 python 脚本,如下面所示:
若没有安装 git,请安装它。我们需要使用它来克隆 git 仓库。
<code># apt-get install git [基于 apt 的系统]</code>
<code># yum install git [基于 yum 的系统]</code>
<code># dnf install git [基于 dnf 的系统]</code>
一旦安装完 git,以普通用户身份登录,然后像下面那样来克隆 autojump:
<code>$ git clone git://github.com/joelthelion/autojump.git</code>
接着,使用 <code>cd</code> 命令切换到下载目录。
<code>$ cd autojump</code>
下载,赋予安装脚本文件可执行权限,并以 root 用户身份来运行安装脚本。
<code># chmod 755 install.py</code>
<code># ./install.py</code>
3、 假如你不想麻烦,你可以以 root 用户身份从软件仓库中直接安装它:
在 debian, ubuntu, mint 及类似系统中安装 autojump :
<code># apt-get install autojump</code>
<code># yum install epel-release</code>
<code># yum install autojump</code>
<code>或</code>
<code># dnf install autojump</code>
4、 在 debian 及其衍生系统 (ubuntu, mint,…) 中, 激活 autojump 应用是非常重要的。
为了暂时激活 autojump 应用,即直到你关闭当前会话或打开一个新的会话之前让 autojump 均有效,你需要以常规用户身份运行下面的命令:
<code>$ source /usr/share/autojump/autojump.sh on startup</code>
为了使得 autojump 在 bash shell 中永久有效,你需要运行下面的命令。
<code>$ echo '. /usr/share/autojump/autojump.sh' >> ~/.bashrc</code>
5、 如先前所言, autojump 将只跳到先前 <code>cd</code> 命令到过的目录。所以在我们开始测试之前,我们要使用 <code>cd</code>切换到一些目录中去,并创建一些目录。下面是我所执行的命令。
<code>$ cd</code>
<code>$ cd desktop/</code>
<code>$ cd documents/</code>
<code>$ cd downloads/</code>
<code>$ cd music/</code>
<code>$ cd pictures/</code>
<code>$ cd public/</code>
<code>$ cd templates</code>
<code>$ cd /var/www/</code>
<code>$ mkdir autojump-test/</code>
<code>$ mkdir autojump-test/a/ && cd autojump-test/a/</code>
<code>$ mkdir autojump-test/b/ && cd autojump-test/b/</code>
<code>$ mkdir autojump-test/c/ && cd autojump-test/c/</code>
现在,我们已经切换到过上面所列的目录,并为了测试创建了一些目录,一切准备就绪,让我们开始吧。
需要记住的一点 : <code>j</code> 是 autojump 的一个封装,你可以使用 <code>j</code> 来代替 autojump, 相反亦可。
6、 使用 -v 选项查看安装的 autojump 的版本。
<code>$ j -v</code>
<code>$ autojump -v</code>
查看 autojump 的版本
7、 跳到先前到过的目录 ‘/var/www‘。
<code>$ j www</code>
跳到目录
8、 跳到先前到过的子目录‘/home/avi/autojump-test/b‘ 而不键入子目录的全名。
<code>$ jc b</code>
跳到子目录
9、 使用下面的命令,你就可以从命令行打开一个文件管理器,例如 gnome nautilus ,而不是跳到一个目录。
<code>$ jo www</code>
打开目录
在文件管理器中打开目录
你也可以在一个文件管理器中打开一个子目录。
<code>$ jco c</code>
打开子目录
在文件管理器中打开子目录
10、 查看每个文件夹的权重和全部文件夹计算得出的总权重的统计数据。文件夹的权重代表在这个文件夹中所花的总时间。 文件夹权重是该列表中目录的数字。(lctt 译注: 在这一句中,我觉得原文中的 if 应该为 is)
<code>$ j --stat</code>
查看文件夹统计数据
提醒 : autojump 存储其运行日志和错误日志的地方是文件夹 <code>~/.local/share/autojump/</code>。千万不要重写这些文件,否则你将失去你所有的统计状态结果。
<code>$ ls -l ~/.local/share/autojump/</code>
autojump 的日志
11、 假如需要,你只需运行下面的命令就可以查看帮助 :
<code>$ j --help</code>
autojump 的帮助和选项
autojump 只能让你跳到那些你已经用 <code>cd</code> 到过的目录。一旦你用 <code>cd</code> 切换到一个特定的目录,这个行为就会被记录到 autojump 的数据库中,这样 autojump 才能工作。不管怎样,在你设定了 autojump 后,你不能跳到那些你没有用 <code>cd</code> 到过的目录。
在 bash shell 中,autojump 通过修改 <code>$prompt_command</code> 环境变量来跟踪目录的行为,所以强烈建议不要去重写 <code>$prompt_command</code> 这个环境变量。若你需要添加其他的命令到现存的<code>$prompt_command</code> 环境变量中,请添加到<code>$prompt_command</code> 环境变量的最后。
假如你是一个命令行用户, autojump 是你必备的实用程序。它可以简化许多事情。它是一个在命令行中导航 linux 目录的绝佳的程序。请自行尝试它,并在下面的评论框中让我知晓你宝贵的反馈。保持联系,保持分享。喜爱并分享,帮助我们更好地传播。
本文来自云栖社区合作伙伴“linux中国”,原文发布日期:2015-08-10