在 Linux 終端機中,有時跳轉目錄可能會很麻煩,需要輸入很長的指令路徑才能進入指定目錄。
autojump 是一種命令列工具,它能夠快速自動跳到檔案目錄。它會將命令列中最常用的目錄記錄保存到資料庫中,因此在使用它之前,必須先存取目錄,然後才能跳到所需的目錄。
#它會根據存取目錄的頻率添加不同的權重,存取的目錄越頻繁,權重越高,排名就越靠前,跳躍指令就越簡潔。
autojump 可以在 Linux、OS X、Windows 和 BSD 平台上安裝,支援原始碼、Debian 和衍生工具、ArchLinux / Gentoo / openSUSE / RedHat 及其衍生性工具、Homebrew / MacPorts 方式安裝。
#安裝 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 --version
或j -v
,檢視 autojump 版本。
# autojump --version autojump v22.5.3
#autojump 的使用方法:
autojump [-h] [-a DIRECTORY] [-i [WEIGHT]] [-d [WEIGHT]] [--complete] [--purge] [-s] [-v] [DIRECTORY [DIRECTORY ...]]
autojump 的選用參數:
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中文網其他相關文章!