Categories: Shell编程

Autojump一个linux目录快速跳转的命令工具

Linux命令行实用程序有一个叫做autojump的工具,它是由Joël Schaerer用Python编写的,现在由+William Ting维护,它是cd命令的高级版本。

Autojump是一个命令行工具,通过维护用户经常访问的目录数据库,为Linux文件系统提供了一种更快的导航方式。它的工作方式是监视用户导航的目录,然后根据用户访问的频率为每个目录分配重要性。

这使得用户可以快速跳转到经常访问的目录。相比于传统的cd命令,Autojump可以更快地导航到所需的目录。

Autojump的特性

  • 免费并开源的应用程序,根据GPL V3分发
  • 自我学习的实用程序,从用户的导航习惯中学习。
  • 更快的导航。无需包含子目录的名称。
  • 可在存储库中下载,适用于大多数标准的Linux发行版,包括Debian、Ubuntu、Mint、Arch、Gentoo、Slackware、CentOS、RedHat和Fedora。
  • 也适用于其他平台,如OS X(使用Homebrew)和Windows(通过Clink启用)
  • 使用autojump,你可以跳转到任何特定的目录或子目录。另外,你可以打开文件管理器查看目录,并查看你在哪个目录花费的时间统计。

如何安装

包更新

1. 作为root用户进行系统更新/升级,以确保你安装了最新版本的Python

$ apt-get update && apt-get upgrade && apt-get dist-upgrade #基于APT的系统
$ yum update && yum upgrade #基于YUM的系统
$ dnf update && dnf upgrade #基于DNF的系统

需要注意的是,在基于YUM基于DNF的系统中,updateupgrade执行相同的操作,大多数时间可以互换,不像基于APT的系统。

下载并安装Autojump

autojump已经在大多数Linux发行版的存储库中可用。你只需使用包管理器进行安装。

在基于RedHat的发行版中,你需要运行yum install epel-release命令来启用EPEL存储库。

从存储库中安装Autojump
$ sudo apt install autojump      #Debian,Ubuntu和Mint
$ sudo yum install autojump     #RHEL/CentOS/Fedora/Rocky/AlmaLinux
$ sudo emerge -a autojump       #Gentoo Linux
$ sudo apk add autojump          #Alpine Linux
$ sudo pacman -S autojump       #Arch Linux
$ sudo zypper install autojump   #OpenSUSE

然而,如果你想从源码安装autojump,你需要克隆源代码并执行Python脚本,如下所示:

从源代码安装Autojump

如果还未安装git,需要安装git,这是克隆autojump git存储库所必需的。

$ sudo apt install git      #Debian,Ubuntu和Mint
$ sudo yum install git      #RHEL/CentOS/Fedora/Rocky/AlmaLinux
$ sudo emerge -a git        #Gentoo Linux
$ sudo apk add git          #Alpine Linux
$ sudo pacman -S git        #Arch Linux
$ sudo zypper install git   #OpenSUSE

一旦git安装好,以普通用户身份登录,然后克隆autojump

$ git clone git://github.com/joelthelion/autojump.git

接着,使用cd命令切换到下载的目录。

$ cd autojump

现在,将脚本文件设置为可执行,并以root用户身份运行安装脚本。

$ chmod 755 install.py
$ ./install.py

Autojump 使用

配置

要激活autojump实用程序,即,只在你关闭当前会话或打开新会话之前有效,你需要以普通用户身份运行以下命令:

$ source /usr/share/autojump/autojump.sh on startup
#or
$ source /usr/share/autojump/autojump.bash on startup

要永久添加到BASH shell的激活,你需要运行以下命令。

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

使用Autojump快速切换Linux目录

如前所述,autojump只会跳转到之前已经cd过的目录。所以在我们开始测试之前,我们要’cd‘一些目录并创建一些。

这就是我所做的。

$ cd
$ cd
$ cd Desktop/
$ cd
$ cd Documents/
$ cd
$ cd Downloads/
$ cd
$ cd Music/
$ cd
$ cd Pictures/
$ cd
$ cd Public/
$ cd
$ cd Templates
$ cd
$ cd /var/www/
$ cd
$ mkdir autojump-test/
$ cd
$ mkdir autojump-test/a/ && cd autojump-test/a/
$ cd
$ mkdir autojump-test/b/ && cd autojump-test/b/
$ cd
$ mkdir autojump-test/c/ && cd autojump-test/c/
$ cd

现在我们已经cd到上述目录并创建了一些目录进行测试,我们已经准备好了。

j的用法是autojump的包装。你可以用j代替autojump命令,反之亦然。

查看版本

使用-v选项检查已安装的autojump版本

$ j -v
或
$ autojump -v

跳转到之前访问过的目录

$ j www

跳转到之前访问过的父/子目录

如’/home/avi/autojump-test/b

$ jc b

从命令行打开一个文件管理器,

比如GNOME Nautilus,而不是使用以下命令跳转到目录。

$ jo www

$ jco c

检查每个文件夹键的权重和总键权重以及总目录权重。

文件夹键权重是在该文件夹中花费的总时间的表示。
目录权重是列表中目录的数量。

$ j --stat

提示autojump在文件夹~/.local/share/autojump/中存储运行日志和错误日志文件。不要覆盖这些文件,否则你可能会丢失所有的统计数据。

$ ls -l ~/.local/share/autojump/

注意事项

  • autojump只让你跳转到那些你已经cd过的目录。一旦你cd到一个特定的目录,它就会被记录到autojump数据库中,然后autojump就可以工作了。你不能跳转到一个你没有cd过的目录,无论你如何设置autojump。
  • 你不能跳转到一个名称以破折号(-)开头的目录。
  • 在BASH Shell中,autojump通过修改$PROMPT_COMMAND来跟踪目录。强烈推荐不要覆盖$PROMPT_COMMAND

autojump是命令行用户必备的实用程序。它简化了很多事情。它是一个神奇的实用程序,会让你在命令行中快速地导航Linux目录。

4.5
02
Golang中如何实现PHP中array_fill函数?
Golang泛型实现PHP中array_walk函数
嘻嘻

嘻嘻IT: 笔者是一个工作七八年的程序猿老鸟,从事涉及的技术栈主要包括PHP、Linux、Devops等,喜欢研究新技术,尝试新技术,提升技术自动化和开发效率,致力于write less,do more! 技术每年都会层出不穷,领域划分的越来越细,不可能学习所有的东西,保持对技术的好奇心,理解技术中核心思想,做一个有深度,有思想的开发!

Recent Posts

CrowdStrike是一个AI云原生平台

CrowdStrike是全球网…

17小时 ago

Tabnine是一款AI编程助手

Tabnine是一款最新的AI…

2天 ago

Adrenaline一个AI开发工具

Adrenaline是一个革命…

2天 ago

Kubeflow一个简化Kubernetes学习工作流程工具

在机器学习(ML)领域,有效地…

2天 ago

CodiumAI一个AI测试工具

CodiumAI不完全依赖于手…

2天 ago

Writesonic一个AI创作助手

Writesonic是一个先进…

2天 ago