一个快速导航 Linux 文件系统的神器

高效程序员

共 1681字,需浏览 4分钟

 · 2020-12-31


在 Linux 中,有一个非常强大的神器 - autojump,能够快速地进行文件系统导航。该程序是用 Python 编写的,是 cd 命令的加强版。它的工作原理是维护一个数据库,其中包含了从命令行经常使用的目录。



  • GitHub 地址:https://github.com/wting/autojump


注意:在跳转到某个目录之前,必须先访问该目录。



1

安装配置


在大多数的 Linux 发行版中,软件仓库都包含了 autojump,通过包管理器可以快速地安装:


$ sudo apt install autojump


注意:如果想从源码安装,需要克隆源码并执行 Python 脚本。


查看一下版本号,看是否能够成功,结果尴尬的报错了:


$ autojump -v
Please source the correct autojump file in your shell's
startup file. For more information, please reinstall autojump
and read the post installation instructions.


这时需要配置一下,为使其在 bash 中永久生效,运行以下命令:


$ echo '. /usr/share/autojump/autojump.sh'>>~/.bashrc


并刷新配置文件:


$ source ~/.bashrc



2

基本用法




j 是 autojump 的一个便利包装函数,任何能与 autojump 一起使用的选项都可以与 j 一起使用,反之亦然。




1. 跳转到一个包含 workspace 的目录:


$ j workspace
/home/waleon/workspace


2. 有时候,跳转到先前到过的子目录比键入全名更方便:


$ jc autotest
/home/waleon/workspace/AutoTest


3. 打开一个文件资源管理器窗口到某个目录(而非跳转):


$ jo workspace



同样地,也支持打开文件管理器到子目录(效果图同上):


$ jco autotest


4. 目录的权重


通过 --stat 选项可以查看访问过的目录权重,路径前的数字是该路径的权重值:


$ j --stat
20.0:    /etc
26.5:    /home/waleon/workspace/QTK
26.5:    /home/waleon/working
41.2:    /home/waleon/workspace/AutoTest
51.0:    /usr/share
52.0:    /home/waleon/workspace
________________________________________

217:     total weight
6:     number of entries
26.46:     current directory weight

data:     /home/waleon/.local/share/autojump/autojump.txt


如果在跳转时匹配到了多个目录,优先进入权重值高的那个。


例如,上面有两个目录都包含了 work,如果同时匹配会进入 workspace 而非 working(因为 52.0 > 26.5):


$ j work
/home/waleon/workspace


当然了,也可以像下面这样跳转到权重较小的目录:


$ j w work
/home/waleon/working


友情提示:autojump 的运行日志存储在 ~/.local/share/autojump/ 目录下,千万不要瞎搞里面的文件,否则有可能失去所有的统计结果。


是不是相见恨晚?相信你一定会爱上它的



·END·

浏览 39
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报