Home > System Tutorial > LINUX > body text

too strong! This command line tool can quickly and automatically jump to the Linux file directory

WBOY
Release: 2024-02-13 19:33:03
forward
708 people have browsed it

In the Linux terminal, sometimes it may be troublesome to jump to the directory. You need to enter a long command path to enter the specified directory.

autojump is a command line tool that can quickly and automatically jump to a file directory. It saves records of the most used directories from the command line to the database, so before using it, you must first access the directory and then jump to the desired directory.

太强了!这款命令行工具可以在 Linux 文件目录快速自动跳转

It will add different weights according to the frequency of accessing the directory. The more frequently the directory is accessed, the higher the weight, the higher the ranking, and the simpler the jump command.

autojump can be installed on Linux, OS

Install autojump

To install autojump, you need to prepare a Python v2.6 or Python v3.3 environment.

This is a CentOS 7.5 environment. Python2 is installed by default. If your operating system does not have a Python environment, I have prepared a script for installing Python3. You only need to place the two tar packages and the script in the same one. directory, execute the script to install.

sh python3_install.sh
Copy after login

Decompress the downloaded autojump compressed package from GitHub

unzip autojump-master.zip
Copy after login

Then you can install or uninstall

cd autojump-master
./install.py 或 ./uninstall.py
Copy after login

Since Shell startup under Linux will automatically read the ~/.bashrc file, during the installation process, if the following problems occur, you need to manually add the following lines to ~/.bashrc in the file.

vim ~/.bashrc

[[ -s /root/.autojump/etc/profile.d/autojump.sh ]] && source /root/.autojump/etc/profile.d/autojump.sh
Copy after login

After the addition is completed, execute the command: source ~/.bashrc to take effect.

After the installation is complete, execute the command: autojump --version or j -v to check the autojump version.

# autojump --version
autojump v22.5.3
Copy after login

Use autojump

How to use autojump:

autojump [-h] [-a DIRECTORY] [-i [WEIGHT]] [-d [WEIGHT]] [--complete]
                [--purge] [-s] [-v]
                [DIRECTORY [DIRECTORY ...]]
Copy after login

Optional parameters for autojump:

  • -h: Display help information and exit
  • -a DIRECTORY: add path
  • -i [WEIGHT]: Increase the weight of the current directory
  • -d [WEIGHT]: Reduce the weight of the current directory
  • –complete: for tab completion
  • –purge: Delete paths that do not exist in the database
  • -s: Display database entries and their weights
  • -v: Display version information

j is the abbreviation of the autojump command. Any place where autojump can be used can be replaced by the j command.

Usage 1: Jump to the directory containing the autojump string

# j autojump
/root/autojump-master
Copy after login

Usage 2: When the directory of a certain string contains multiple subdirectories with different names, there is no need to jump to the directory in the first way of inputting the string. You can use jc subdirectory namecan jump to subdirectory

# jc bin
/root/autojump-master/bin
Copy after login

Usage 3:Open the file manager containing a certain string directory

# jo music
Copy after login

Usage 4: Open the subdirectory file manager containing a certain string directory

# jco images
Copy after login

Usage 3 and 4 allow you to open a file manager from the command line instead of jumping to a directory. This prerequisite must be a Linux desktop environment installed, such as GNOME, KDE, etc. If the server is connected through a third-party terminal connection tool, it will be unavailable when used.

Usage 5: If two directories contain the same string

20.0:    /opt/one/first
22.4:    /opt/two/first
Copy after login

那么j fi会跳转到权重最大的目录

# j fi
/opt/two/first
Copy after login

也可以通过j o fi跳转到权重相对较小的目录

# j o fi
/opt/one/first
Copy after login

当如果忘记目录的全名或手误输错,可按 Tab 键自动识别补全,同时也会自动添加下划线。

# j ptython__1__/opt/python 
/opt/python
Copy after login

在跳转过程中出现不能跳转的情况,需要在安装好 autojump 之后确认是否访问过指定的目录或执行命令:j -s查看数据库中历史访问过的目录。

同时,j -s也是可以用来查看权重。当权重越高,说明目录使用的越频繁。

查看每个文件夹的权重和全部文件夹计算得出的总权重的统计数据,文件夹的权重代表在这个文件夹中所花的总时间,文件夹权重为该列表中目录的数字。

# j -s
10.0:    /mnt/Packages
14.1:    /opt/two
14.1:    /opt/one
22.4:    /opt/python
24.5:    /root/.local/share/autojump
24.5:    /opt
24.5:    /opt/two/first
26.5:    /opt/one/first
28.3:    /mnt
41.2:    /root/autojump-master
43.6:    /root/autojump-master/bin
________________________________________

273:     total weight
11:     number of entries
22.36:     current directory weight

data:     /root/.local/share/autojump/autojump.txt
Copy after login

autojump 存储运行日志及错误日志存放至~/.local/share/autojump/,切记不要重写这些文件,否则将会失去所有的统计状态结果。

# ls -l ~/.local/share/autojump/
-rw-------. 1 root root 305 3月  16 16:14 autojump.txt
-rw-------. 1 root root  27 3月  16 11:16 autojump.txt.bak
Copy after login

运用了 autojump 上述使用方法之外,目前有发现如下三点:

1、autojump 只能跳转到已经用cd进入过的目录,无法跳转到没有用cd进入过的目录。即使用 cd 进入过一个特定的目录才会被记录到 autojump 的数据库中,才可以使用 autojump 进行跳转。

2、自动跳转不支持-开头的目录。

3、在 BASH Shell 中,autojump 是通过修改$PROMPT_COMMAND环境变量跟踪目录的行为,所以建议不要重写$PROMPT_COMMAND环境变量。若需要添加其他的命令到现$PROMPT_COMMAND环境变量中,需添加到$PROMPT_COMMAND环境变量的最后。

The above is the detailed content of too strong! This command line tool can quickly and automatically jump to the Linux file directory. For more information, please follow other related articles on the PHP Chinese website!

source:lxlinux.net
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!