自動補全不算什麼,一鍵直達目錄才是終極神器

2021-07-30 22:53:21 字數 2086 閱讀 2850

在命令列中切換目錄是最常用的操作,不過很少有比一遍又一遍重複「cd ls cd ls cd ls ……」更令人沮喪的事情了。如果你不是百分百確定你想要進入的下乙個目錄的名字,那麼你不得不使用ls來確認,然後使用cd來進入你想要進的那乙個。所幸的是,現在大量的終端和shell語言提供了強大的自動補全功能來處理該問題。但是,你仍然需要一直瘋狂地敲擊tab鍵來幹這事。如果你和我一樣懶惰,你一定會對autojump感到驚喜。

autojump是乙個命令列工具,它允許你可以直接跳轉到你喜愛的目錄,而不用管你現在身在何處。

在ubuntu或debian上安裝autojump:

$

sudo 

apt-

get install 

autojump

要在centos或fedora上安裝autojump,請使用yum命令。在centos上,你需要先啟用epel倉庫才行。

$

sudo yum install 

autojump

在archlinux上安裝autojump:

$

sudo 

pacman-s

autojump

autojump的工作方式很簡單:它會在你每次啟動命令時記錄你當前位置,並把它新增進它自身的資料庫中。這樣,某些目錄比其它一些目錄新增的次數多,這些目錄一般就代表你最重要的目錄,而它們的「權重」也會增大。

現在不管你在哪個目錄,你都可以使用下面的語法來直接跳轉到這些目錄:

autojump

[目錄的名字或名字的一部分

]

注意,你不需要輸入完整的名稱,因為autojump會檢索它的資料庫,並返回最可能的結果。

例如,假定我們正在下面的目錄結構中工作。

那麼下面的命令將直接讓你跳到/root/home/doc下,不管你當前位置在**。

$

autojump 

do

如果你也很討厭打字,那麼我推薦你為autojump起個別名,或者使用預設的別名。

$j[

目錄的名字或名字的一部分

]

另外乙個引人注目的功能是,autojump支援zsh和自動補完。如果你不確認**是不是你要跳轉的地方,敲擊tab鍵就會列出完整路徑。

還是同樣的例子,輸入:

$

autojump

d

然後敲擊tab鍵,將會返回/root/home/doc或者/root/home/ddl。

最後,對於高階使用者,你可以訪問目錄資料庫,並修改它的內容。可以使用下面的命令來手動新增乙個目錄:

$

autojump-a

[目錄]

如果你突然想要把當前目錄變成你的最愛和使用最頻繁的資料夾,你可以在該目錄通過命令的引數 i 來手工增加它的權重

$

autojump-i

[權重]

這將使得該目錄更可能被選擇跳轉。相反的例子是在該目錄使用引數 d 來減少權重:

$

autojump-d

[權重]

要跟蹤所有這些改變,輸入:

$

autojump-s

這會顯示資料庫中的統計資料。而以下:

$

autojump

--purge

命令將會把不再存在的目錄從資料庫中移除。

簡言之,autojump將會受到所有命令列高階使用者的歡迎。不管你是在ssh進一台伺服器,還是僅僅想要追隨復古潮流,敲更少的鍵來減少導航時間總是件好事。如果你真的熱衷於此類工具,你也肯定也想看看 fasd,它應該會給你乙個驚喜——我們下次再介紹它。

英文:xmodulo

,譯者:

linux中國 - golinux

Ubuntu終端tab鍵補全不了

ubuntu 在ubuntu系統下useradd乙個新的使用者,切換到該使用者時,發現終端命令列下tab鍵補全不了 useradd tab 新增tab使用者 passwd tab 設定密碼 su tab 切換到tab使用者,發現按鍵盤的tab鍵補全不了谷歌發現是用useradd命令建立使用者時沒有指...

自動補全 Docker 命令自動補全?要的

不知道這個小夥伴有多久沒用過 docker 了,突然對我說 docker 命令怎麼發生變化了 docker run 變成了 docker container run 他說,本來對 docker 命令就不熟悉,這下感覺更加混亂了。其實個人看來,這麼變化還使得命令看著更加規整 當在命令列直接輸入 doc...

自動補全 Docker 命令自動補全?要的

不知道這個小夥伴有多久沒用過 docker 了,突然對我說 docker 命令怎麼發生變化了 docker run 變成了docker container run 他說,本來對 docker 命令就不熟悉,這下感覺更加混亂了。其實個人看來,這麼變化還使得命令看著更加規整 當在命令列直接輸入docke...