對于那些主要通過控制台或終端使用 linux 指令行來工作的 linux 使用者來說,他們真切地感受到了 linux 的強大。 然而在 linux 的分層檔案系統中進行導航有時或許是一件頭疼的事,尤其是對于那些新手來說。
autojump – linux 檔案系統導航的最快方式
這個應用原本由 joël schaerer 編寫,現在由 +william ting 維護。
autojump 應用可以從使用者那裡學習并幫助使用者在 linux 指令行中進行更輕松的目錄導航。與傳統的 <code>cd</code> 指令相比,autojump 能夠更加快速地導航至目的目錄。
自由開源的應用,在 gpl v3 協定下釋出。
自主學習的應用,從使用者的導航習慣中學習。
更快速地導航。不必包含子目錄的名稱。
對于大多數的标準 linux 發行版本,能夠在軟體倉庫中下載下傳得到,它們包括 debian (testing/unstable), ubuntu, mint, arch, gentoo, slackware, centos, redhat 和 fedora。
也能在其他平台中使用,例如 os x(使用 homebrew) 和 windows (通過 clink 來實作)
使用 autojump 你可以跳至任何特定的目錄或一個子目錄。你還可以用檔案管理器打開某個目錄,并檢視你在某個目錄中所待時間的統計資料。
版本号不低于 2.6 的 python
<a target="_blank"></a>
1、 以 root 使用者的身份,做一次系統更新或更新,以此保證你安裝有最新版本的 python。
<code># apt-get update && apt-get upgrade && apt-get dist-upgrade [基于 apt 的系統]</code>
<code># yum update && yum upgrade [基于 yum 的系統]</code>
<code># dnf update && dnf upgrade [基于 dnf 的系統]</code>
注 : 這裡特别提醒,在基于 yum 或 dnf 的系統中,更新和更新執行相同的行動,大多數時間裡它們是通用的,這點與基于 apt 的系統不同。
2、 正如前面所言,在大多數的 linux 發行版本的軟體倉庫中, autojump 都可擷取到。通過包管理器你就可以安裝它。但若你想從源代碼開始來安裝它,你需要克隆源代碼并執行 python 腳本,如下面所示:
若沒有安裝 git,請安裝它。我們需要使用它來克隆 git 倉庫。
<code># apt-get install git [基于 apt 的系統]</code>
<code># yum install git [基于 yum 的系統]</code>
<code># dnf install git [基于 dnf 的系統]</code>
一旦安裝完 git,以普通使用者身份登入,然後像下面那樣來克隆 autojump:
<code>$ git clone git://github.com/joelthelion/autojump.git</code>
接着,使用 <code>cd</code> 指令切換到下載下傳目錄。
<code>$ cd autojump</code>
下載下傳,賦予安裝腳本檔案可執行權限,并以 root 使用者身份來運作安裝腳本。
<code># chmod 755 install.py</code>
<code># ./install.py</code>
3、 假如你不想麻煩,你可以以 root 使用者身份從軟體倉庫中直接安裝它:
在 debian, ubuntu, mint 及類似系統中安裝 autojump :
<code># apt-get install autojump</code>
<code># yum install epel-release</code>
<code># yum install autojump</code>
<code>或</code>
<code># dnf install autojump</code>
4、 在 debian 及其衍生系統 (ubuntu, mint,…) 中, 激活 autojump 應用是非常重要的。
為了暫時激活 autojump 應用,即直到你關閉目前會話或打開一個新的會話之前讓 autojump 均有效,你需要以正常使用者身份運作下面的指令:
<code>$ source /usr/share/autojump/autojump.sh on startup</code>
為了使得 autojump 在 bash shell 中永久有效,你需要運作下面的指令。
<code>$ echo '. /usr/share/autojump/autojump.sh' >> ~/.bashrc</code>
5、 如先前所言, autojump 将隻跳到先前 <code>cd</code> 指令到過的目錄。是以在我們開始測試之前,我們要使用 <code>cd</code>切換到一些目錄中去,并建立一些目錄。下面是我所執行的指令。
<code>$ cd</code>
<code>$ cd desktop/</code>
<code>$ cd documents/</code>
<code>$ cd downloads/</code>
<code>$ cd music/</code>
<code>$ cd pictures/</code>
<code>$ cd public/</code>
<code>$ cd templates</code>
<code>$ cd /var/www/</code>
<code>$ mkdir autojump-test/</code>
<code>$ mkdir autojump-test/a/ && cd autojump-test/a/</code>
<code>$ mkdir autojump-test/b/ && cd autojump-test/b/</code>
<code>$ mkdir autojump-test/c/ && cd autojump-test/c/</code>
現在,我們已經切換到過上面所列的目錄,并為了測試建立了一些目錄,一切準備就緒,讓我們開始吧。
需要記住的一點 : <code>j</code> 是 autojump 的一個封裝,你可以使用 <code>j</code> 來代替 autojump, 相反亦可。
6、 使用 -v 選項檢視安裝的 autojump 的版本。
<code>$ j -v</code>
<code>$ autojump -v</code>
檢視 autojump 的版本
7、 跳到先前到過的目錄 ‘/var/www‘。
<code>$ j www</code>
跳到目錄
8、 跳到先前到過的子目錄‘/home/avi/autojump-test/b‘ 而不鍵入子目錄的全名。
<code>$ jc b</code>
跳到子目錄
9、 使用下面的指令,你就可以從指令行打開一個檔案管理器,例如 gnome nautilus ,而不是跳到一個目錄。
<code>$ jo www</code>
打開目錄
在檔案管理器中打開目錄
你也可以在一個檔案管理器中打開一個子目錄。
<code>$ jco c</code>
打開子目錄
在檔案管理器中打開子目錄
10、 檢視每個檔案夾的權重和全部檔案夾計算得出的總權重的統計資料。檔案夾的權重代表在這個檔案夾中所花的總時間。 檔案夾權重是該清單中目錄的數字。(lctt 譯注: 在這一句中,我覺得原文中的 if 應該為 is)
<code>$ j --stat</code>
檢視檔案夾統計資料
提醒 : autojump 存儲其運作日志和錯誤日志的地方是檔案夾 <code>~/.local/share/autojump/</code>。千萬不要重寫這些檔案,否則你将失去你所有的統計狀态結果。
<code>$ ls -l ~/.local/share/autojump/</code>
autojump 的日志
11、 假如需要,你隻需運作下面的指令就可以檢視幫助 :
<code>$ j --help</code>
autojump 的幫助和選項
autojump 隻能讓你跳到那些你已經用 <code>cd</code> 到過的目錄。一旦你用 <code>cd</code> 切換到一個特定的目錄,這個行為就會被記錄到 autojump 的資料庫中,這樣 autojump 才能工作。不管怎樣,在你設定了 autojump 後,你不能跳到那些你沒有用 <code>cd</code> 到過的目錄。
在 bash shell 中,autojump 通過修改 <code>$prompt_command</code> 環境變量來跟蹤目錄的行為,是以強烈建議不要去重寫 <code>$prompt_command</code> 這個環境變量。若你需要添加其他的指令到現存的<code>$prompt_command</code> 環境變量中,請添加到<code>$prompt_command</code> 環境變量的最後。
假如你是一個指令行使用者, autojump 是你必備的實用程式。它可以簡化許多事情。它是一個在指令行中導航 linux 目錄的絕佳的程式。請自行嘗試它,并在下面的評論框中讓我知曉你寶貴的回報。保持聯系,保持分享。喜愛并分享,幫助我們更好地傳播。
本文來自雲栖社群合作夥伴“linux中國”,原文釋出日期:2015-08-10