首頁 >系統教程 >Linux >太強了!這款命令列工具可以在 Linux 檔案目錄快速自動跳轉

太強了!這款命令列工具可以在 Linux 檔案目錄快速自動跳轉

WBOY
WBOY轉載
2024-02-13 19:33:03754瀏覽

在 Linux 終端機中,有時跳轉目錄可能會很麻煩,需要輸入很長的指令路徑才能進入指定目錄。

autojump 是一種命令列工具,它能夠快速自動跳到檔案目錄。它會將命令列中最常用的目錄記錄保存到資料庫中,因此在使用它之前,必須先存取目錄,然後才能跳到所需的目錄。

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

#它會根據存取目錄的頻率添加不同的權重,存取的目錄越頻繁,權重越高,排名就越靠前,跳躍指令就越簡潔。

autojump 可以在 Linux、OS X、Windows 和 BSD 平台上安裝,支援原始碼、Debian 和衍生工具、ArchLinux / Gentoo / openSUSE / RedHat 及其衍生性工具、Homebrew / MacPorts 方式安裝。

安裝 autojump

#安裝 autojump 的前提,需要準備 Python v2.6 或 Python v3.3 的環境。

我這是CentOS 7.5 的環境,預設是安裝過Python2,如果您的作業系統沒有Python 環境,我這為大家準備了一個安裝Python3 的腳本,只需將2 個tar 套件和腳本放置同一個目錄下,執行腳本即可安裝。

sh python3_install.sh

從 GitHub 將下載的 autojump 壓縮套件進行解壓縮

#
unzip autojump-master.zip

然後可安裝或解除安裝

cd autojump-master
./install.py 或 ./uninstall.py

由於Linux 下Shell 啟動會自動讀取~/.bashrc文件,執行安裝過程中,出現以下問題時,需手動新增如下行內容至~/.bashrc文件中。

vim ~/.bashrc

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

新增完畢後,執行指令:source ~/.bashrc,生效即可。

安裝完成後,執行指令:autojump --versionj -v,檢視 autojump 版本。

# autojump --version
autojump v22.5.3

使用 autojump

#autojump 的使用方法:

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

autojump 的選用參數:

  • -h:顯示幫助資訊並退出
  • -a DIRECTORY:新增路徑
  • # -i [WEIGHT]:增加目前目錄權重
  • -d [WEIGHT]:降低目前目錄權重
  • –complete:用於 Tab 補全
  • # –purge:刪除資料庫中不存在的路徑
  • # -s:顯示資料庫項目及其權重
  • # -v:顯示版本資訊

j 是 autojump 指令的縮寫,任何可以用 autojump 的地方都可以用j指令取代。

用法 1:跳到包含 autojump 字串的目錄

# j autojump
/root/autojump-master

用法2:當某一個字串的目錄下包含多個不同名稱的子目錄時,無需按第一種輸入字串的方式進行跳躍目錄,可透過 jc 子目錄名稱可跳到子目錄

# jc bin
/root/autojump-master/bin

用法 3:開啟包含某個字串目錄的檔案管理器

# jo music

用法 4:開啟包含某個字串目錄的子目錄檔案管理器

# jco images

用法 3 和 用法 4,是可以從命令列開啟一個檔案管理器,而不是跳到一個目錄。這個前提必須是安裝有 Linux 桌面環境,例如:GNOME、KDE ​​等。若是透過第三方終端連接工具連的伺服器,使用時會為不可用。

用法 5:若有兩個目錄包含相同字串

#
20.0:    /opt/one/first
22.4:    /opt/two/first

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

# j fi
/opt/two/first

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

# j o fi
/opt/one/first

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

# j ptython__1__/opt/python 
/opt/python

在跳转过程中出现不能跳转的情况,需要在安装好 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

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

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

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

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

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

以上是太強了!這款命令列工具可以在 Linux 檔案目錄快速自動跳轉的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:lxlinux.net。如有侵權,請聯絡admin@php.cn刪除