歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Autojump:一個可以在 Linux 文件系統快速導航的高級 cd 命令

Autojump:一個可以在 Linux 文件系統快速導航的高級 cd 命令

日期:2017/2/28 13:59:11   编辑:Linux教程

對於那些主要通過控制台或終端使用 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, RedHat 和 Fedora。
  • 也能在其他平台中使用,例如 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中國 榮譽推出

Copyright © Linux教程網 All Rights Reserved