首頁 > 軟體

Autojump:一個可以在 Linux 檔案系統快速導航的高階 cd 命令

2020-06-16 17:55:43

對於那些主要通過控制台或終端使用 Linux 命令列來工作的 Linux 使用者來說,他們真切地感受到了 Linux 的強大。 然而在 Linux 的分層檔案系統中進行導航有時或許是一件頭疼的事,尤其是對於那些新手來說。

現在,有一個用 Python 寫的名為 autojump 的 Linux 命令列實用程式,它是 Linux ‘cd’命令的高階版本。

Autojump – Linux 檔案系統導航的最快方式

這個應用原本由 Joël Schaerer 編寫,現在由 +William Ting 維護。

Autojump 應用可以從使用者那裡學習並幫助使用者在 Linux 命令列中進行更輕鬆的目錄導航。與傳統的 cd 命令相比,autojump 能夠更加快速地導航至目的目錄。

autojump 的特色

  • 自由開源的應用,在 GPL V3 協定下發布。
  • 自主學習的應用,從使用者的導航習慣中學習。
  • 更快速地導航。不必包含子目錄的名稱。
  • 對於大多數的標準 Linux 發行版本,能夠在軟體倉庫中下載得到,它們包括 Debian (testing/unstable), Ubuntu, Mint, Arch, Gentoo, Slackware, CentOS, RedHatFedora
  • 也能在其他平台中使用,例如 OS X(使用 Homebrew) 和 Windows (通過 Clink 來實現)
  • 使用 autojump 你可以跳至任何特定的目錄或一個子目錄。你還可以用檔案管理器開啟某個目錄,並檢視你在某個目錄中所待時間的統計資料。

前提

  • 版本號不低於 2.6 的 Python

 

第 1 步: 做一次完整的系統升級

1、 以 root 使用者的身份,做一次系統更新或升級,以此保證你安裝有最新版本的 Python。

  1. # apt-get update && apt-get upgrade && apt-get dist-upgrade [基於 APT 的系統]
  2. # yum update && yum upgrade [基於 YUM 的系統]
  3. # dnf update && dnf upgrade [基於 DNF 的系統]

: 這裡特別提醒,在基於 YUM 或 DNF 的系統中,更新和升級執行相同的行動,大多數時間裡它們是通用的,這點與基於 APT 的系統不同。

 

第 2 步: 下載和安裝 Autojump

2、 正如前面所言,在大多數的 Linux 發行版本的軟體倉庫中, autojump 都可獲取到。通過包管理器你就可以安裝它。但若你想從原始碼開始來安裝它,你需要克隆原始碼並執行 python 指令碼,如下面所示:

 

從原始碼安裝

若沒有安裝 git,請安裝它。我們需要使用它來克隆 git 倉庫。

  1. # apt-get install git [基於 APT 的系統]
  2. # yum install git [基於 YUM 的系統]
  3. # dnf install git [基於 DNF 的系統]

一旦安裝完 git,以普通使用者身份登入,然後像下面那樣來克隆 autojump:

  1. $ git clone git://github.com/joelthelion/autojump.git

接著,使用 cd 命令切換到下載目錄。

  1. $ cd autojump

下載,賦予安裝指令碼檔案可執行許可權,並以 root 使用者身份來執行安裝指令碼。

  1. # chmod 755 install.py
  2. # ./install.py

 

從軟體倉庫中安裝

3、 假如你不想麻煩,你可以以 root 使用者身份從軟體倉庫中直接安裝它:

在 Debian, Ubuntu, Mint 及類似系統中安裝 autojump :

  1. # apt-get install autojump

為了在 Fedora, CentOS, RedHat 及類似系統中安裝 autojump, 你需要啟用 EPEL 軟體倉庫http://www.linuxidc.com/Linux/2013-12/93433.htm

  1. # yum install epel-release
  2. # yum install autojump
  3. # dnf install autojump

 

第 3 步: 安裝後的設定

4、 在 Debian 及其衍生系統 (Ubuntu, Mint,…) 中, 啟用 autojump 應用是非常重要的。

為了暫時啟用 autojump 應用,即直到你關閉當前對談或開啟一個新的對談之前讓 autojump 均有效,你需要以常規使用者身份執行下面的命令:

  1. $ source /usr/share/autojump/autojump.sh on startup

為了使得 autojump 在 BASH shell 中永久有效,你需要執行下面的命令。

  1. $ echo '. /usr/share/autojump/autojump.sh'>>~/.bashrc

 

第 4 步: Autojump 的預測試和使用

5、 如先前所言, autojump 將只跳到先前 cd 命令到過的目錄。所以在我們開始測試之前,我們要使用 cd 切換到一些目錄中去,並建立一些目錄。下面是我所執行的命令。

  1. $ cd
  2. $ cd
  3. $ cd Desktop/
  4. $ cd
  5. $ cd Documents/
  6. $ cd
  7. $ cd Downloads/
  8. $ cd
  9. $ cd Music/
  10. $ cd
  11. $ cd Pictures/
  12. $ cd
  13. $ cd Public/
  14. $ cd
  15. $ cd Templates
  16. $ cd
  17. $ cd /var/www/
  18. $ cd
  19. $ mkdir autojump-test/
  20. $ cd
  21. $ mkdir autojump-test/a/&& cd autojump-test/a/
  22. $ cd
  23. $ mkdir autojump-test/b/&& cd autojump-test/b/
  24. $ cd
  25. $ mkdir autojump-test/c/&& cd autojump-test/c/
  26. $ cd

現在,我們已經切換到過上面所列的目錄,並為了測試建立了一些目錄,一切準備就緒,讓我們開始吧。

需要記住的一點 : j 是 autojump 的一個封裝,你可以使用 j 來代替 autojump, 相反亦可。

6、 使用 -v 選項檢視安裝的 autojump 的版本。

  1. $ j -v
  2. $ autojump -v

檢視 Autojump 的版本

7、 跳到先前到過的目錄 ‘/var/www‘。

  1. $ j www

跳到目錄

8、 跳到先前到過的子目錄‘/home/avi/autojump-test/b‘ 而不鍵入子目錄的全名。

  1. $ jc b

跳到子目錄

9、 使用下面的命令,你就可以從命令列開啟一個檔案管理器,例如 GNOME Nautilus ,而不是跳到一個目錄。

  1. $ jo www

開啟目錄

在檔案管理器中開啟目錄

你也可以在一個檔案管理器中開啟一個子目錄。

  1. $ jco c

開啟子目錄

在檔案管理器中開啟子目錄

10、 檢視每個資料夾的權重和全部資料夾計算得出的總權重的統計資料。資料夾的權重代表在這個資料夾中所花的總時間。 資料夾權重是該列表中目錄的數位。(LCTT 譯注: 在這一句中,我覺得原文中的 if 應該為 is)

  1. $ j --stat

檢視資料夾統計資料

提醒 : autojump 儲存其執行紀錄檔和錯誤紀錄檔的地方是資料夾 ~/.local/share/autojump/。千萬不要重寫這些檔案,否則你將失去你所有的統計狀態結果。

  1. $ ls -l ~/.local/share/autojump/

Autojump 的紀錄檔

11、 假如需要,你只需執行下面的命令就可以檢視幫助 :

  1. $ j --help

Autojump 的幫助和選項

 

功能需求和已知的衝突

  • autojump 只能讓你跳到那些你已經用 cd 到過的目錄。一旦你用 cd 切換到一個特定的目錄,這個行為就會被記錄到 autojump 的資料庫中,這樣 autojump 才能工作。不管怎樣,在你設定了 autojump 後,你不能跳到那些你沒有用 cd 到過的目錄。
  • 你不能跳到名稱以破折號 (-) 開頭的目錄。或許你可以考慮閱讀我的有關操作檔案或目錄 的文章,尤其是有關操作那些以‘-‘ 或其他特殊字元開頭的檔案和目錄的內容。
  • 在 BASH shell 中,autojump 通過修改 $PROMPT_COMMAND 環境變數來跟蹤目錄的行為,所以強烈建議不要去重寫 $PROMPT_COMMAND 這個環境變數。若你需要新增其他的命令到現存的 $PROMPT_COMMAND 環境變數中,請新增到$PROMPT_COMMAND 環境變數的最後。

 

結論:

假如你是一個命令列使用者, autojump 是你必備的實用程式。它可以簡化許多事情。它是一個在命令列中導航 Linux 目錄的絕佳的程式。請自行嘗試它,並在下面的評論框中讓我知曉你寶貴的反饋。保持聯絡,保持分享。喜愛並分享,幫助我們更好地傳播。


via: Autojump - An Advanced 'cd' Command to Quickly Navigate Linux Filesystem

作者:Avishek Kumar 譯者:FSSlc 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出

本文永久更新連結地址http://www.linuxidc.com/Linux/2015-08/121421.htm


IT145.com E-mail:sddin#qq.com