太強(qiáng)了!這款命令行工具可以在 Linux 文件目錄快速自動(dòng)跳轉(zhuǎn)

公眾號(hào):杰哥的IT之旅,后臺(tái)回復(fù):「autojump」,即可獲取本文安裝包及腳本。
在 Linux 終端下,跳轉(zhuǎn)目錄有時(shí)覺得會(huì)很麻煩,需要敲很長(zhǎng)的命令路徑才能進(jìn)入指定的目錄。
autojump 是提供了一種快速進(jìn)行文件目錄自動(dòng)跳轉(zhuǎn)的命令行工具。它會(huì)將命令行最常用的目錄記錄保存到數(shù)據(jù)庫(kù)里,所以在使用它時(shí),必須先訪問(wèn)目錄,然后才能跳轉(zhuǎn)到所要進(jìn)入的目錄。
它會(huì)根據(jù)訪問(wèn)的目錄頻次添加不同的權(quán)重,訪問(wèn)的目錄越頻繁,權(quán)重越高,排名就越靠前,跳轉(zhuǎn)的命令就越簡(jiǎn)潔。
autojump 支持在 Linux、OS X、Windows、BSD 平臺(tái)進(jìn)行安裝,其安裝方式支持源碼、Debian 和衍生工具、ArchLinux / Gentoo / openSUSE / RedHat及其衍生工具、Homebrew / MacPorts 方式安裝。
安裝 autojump
安裝 autojump 的前提,需要準(zhǔn)備 Python v2.6+ 或 Python v3.3+ 的環(huán)境。
我這是 CentOS 7.5 的環(huán)境,默認(rèn)是安裝過(guò) Python2,如果您的操作系統(tǒng)沒有 Python 環(huán)境,我這為大家準(zhǔn)備了一個(gè)安裝 Python3 的腳本,只需將 2 個(gè) tar 包和腳本放置同一個(gè)目錄下,執(zhí)行腳本即可安裝。
從 GitHub 將下載的 autojump 壓縮包進(jìn)行解壓
然后可安裝或卸載
由于 Linux 下 Shell 啟動(dòng)會(huì)自動(dòng)讀取~/.bashrc
文件,執(zhí)行安裝過(guò)程中,出現(xiàn)如下問(wèn)題時(shí),需手動(dòng)添加如下行內(nèi)容至~/.bashrc
文件中。
添加完畢后,執(zhí)行命令:source ~/.bashrc
,生效即可。
安裝完成后,執(zhí)行命令:autojump --version
或j -v
,查看 autojump 版本。
使用 autojump
autojump 的使用方法:
autojump 的可選參數(shù):
-h:顯示幫助信息并退出
-a DIRECTORY:添加路徑
-i [WEIGHT]:增加當(dāng)前目錄權(quán)重
-d [WEIGHT]:降低當(dāng)前目錄權(quán)重
--complete:用于 Tab 補(bǔ)全
--purge:刪除數(shù)據(jù)庫(kù)中不存在的路徑
-s:顯示數(shù)據(jù)庫(kù)條目及其權(quán)重
-v:顯示版本信息
j 是 autojump 命令的縮寫,任何可以用 autojump 的地方都可以以j
命令替代。
用法 1:跳轉(zhuǎn)到包含 autojump 字符串的目錄
用法 2:當(dāng)某一個(gè)字符串的目錄下包含多個(gè)不同名稱的子目錄時(shí),無(wú)需按第一種輸入字符串的方式進(jìn)行跳轉(zhuǎn)目錄,可通過(guò)jc 子目錄名稱
可跳轉(zhuǎn)至子目錄
用法 3:打開包含某個(gè)字符串目錄的文件管理器
用法 4:打開包含某個(gè)字符串目錄的子目錄文件管理器
用法 3 和 用法 4,是可以從命令行打開一個(gè)文件管理器,而不是跳轉(zhuǎn)到一個(gè)目錄。這個(gè)前提必須是安裝有 Linux 桌面環(huán)境,例如:GNOME、KDE 等。若是通過(guò)第三方終端連接工具連的服務(wù)器,使用時(shí)會(huì)為不可用。
用法 5:若有兩個(gè)目錄包含相同字符串
那么j fi
會(huì)跳轉(zhuǎn)到權(quán)重最大的目錄
也可以通過(guò)j o fi
跳轉(zhuǎn)到權(quán)重相對(duì)較小的目錄
當(dāng)如果忘記目錄的全名或手誤輸錯(cuò),可按 Tab 鍵自動(dòng)識(shí)別補(bǔ)全,同時(shí)也會(huì)自動(dòng)添加下劃線。
在跳轉(zhuǎn)過(guò)程中出現(xiàn)不能跳轉(zhuǎn)的情況,需要在安裝好 autojump 之后確認(rèn)是否訪問(wèn)過(guò)指定的目錄或執(zhí)行命令:j -s
查看數(shù)據(jù)庫(kù)中歷史訪問(wèn)過(guò)的目錄。
同時(shí),j -s
也是可以用來(lái)查看權(quán)重。當(dāng)權(quán)重越高,說(shuō)明目錄使用的越頻繁。
查看每個(gè)文件夾的權(quán)重和全部文件夾計(jì)算得出的總權(quán)重的統(tǒng)計(jì)數(shù)據(jù),文件夾的權(quán)重代表在這個(gè)文件夾中所花的總時(shí)間,文件夾權(quán)重為該列表中目錄的數(shù)字。
autojump 存儲(chǔ)運(yùn)行日志及錯(cuò)誤日志存放至~/.local/share/autojump/
,切記不要重寫這些文件,否則將會(huì)失去所有的統(tǒng)計(jì)狀態(tài)結(jié)果。
運(yùn)用了 autojump 上述使用方法之外,目前有發(fā)現(xiàn)如下三點(diǎn):
1、autojump 只能跳轉(zhuǎn)到已經(jīng)用cd
進(jìn)入過(guò)的目錄,無(wú)法跳轉(zhuǎn)到?jīng)]有用cd
進(jìn)入過(guò)的目錄。即使用 cd 進(jìn)入過(guò)一個(gè)特定的目錄才會(huì)被記錄到 autojump 的數(shù)據(jù)庫(kù)中,才可以使用 autojump 進(jìn)行跳轉(zhuǎn)。
2、自動(dòng)跳轉(zhuǎn)不支持-
開頭的目錄。
3、在 BASH Shell 中,autojump 是通過(guò)修改$PROMPT_COMMAND
環(huán)境變量跟蹤目錄的行為,所以建議不要重寫$PROMPT_COMMAND
環(huán)境變量。若需要添加其他的命令到現(xiàn)$PROMPT_COMMAND
環(huán)境變量中,需添加到$PROMPT_COMMAND
環(huán)境變量的最后。
傳送門:https://github.com/wting/autojump