如何高效回退到特定層級目錄?

Linux 下若是咱們進入到了一個比較長的路徑,好比:linux

/home/alvin/projects/blogdemos/linux-system-programming/thread
/home/alvin/projects/blogdemos/diff
/home/harry/study/亞洲文化/日本文化/中日交流/影視業/動做片

若是咱們想要回退到一個特定的父目錄,那麼咱們一般的作法是這樣敲:git

$ cd ../../../

若是層級比較少,那這樣勉強還能夠接受,但若是層級很深,那可能就會 cd 到你懷疑人生了。程序員

本文將介紹一個工具,它能幫你快速進入到某一個特定的父目錄,而無需一路 cd 。你能夠直接指定回退的層級數,或者要回退的目標目錄,很是方便。github

更重要的是,它甚至還支持 tab 鍵,並且在不重複的狀況下,你也能夠指定目標目錄的前幾個字母便可,大大增長了工做效率。面試

這個工具其實就是個 shell 腳本,名字是 up.sh ,除了支持 bash 外,對 zsh 和 fish shell 的支持也很好。shell

up 腳本的安裝

這個腳本是第三方人員開發的,因此須要咱們人爲安裝到咱們的系統。bash

首先,咱們須要先將 up.sh 下載到咱們本地,而後再使能這個腳本:架構

$ curl --create-dirs -o ~/.config/up/up.sh https://raw.githubusercontent.com/shannonmoeller/up/master/up.sh

$ echo 'source ~/.config/up/up.sh' >> ~/.bashrc

以後再使用如下命令使改動生效:curl

$ source ~/.bashrc

若是你使用的是 zsh shell ,那麼須要使用下列步驟去操做:ide

$ curl --create-dirs -o ~/.config/up/up.sh https://raw.githubusercontent.com/shannonmoeller/up/master/up.sh

$ echo 'source ~/.config/up/up.sh' >> ~/.zshrc

$ source ~/.zshrc

若是你使用的是 fish shell ,那你須要這麼操做:

$ curl --create-dirs -o ~/.config/up/up.fish https://raw.githubusercontent.com/shannonmoeller/up/master/up.fish

$ source ~/.config/up/up.fish

up 腳本的使用

按照以上步驟操做,咱們就能將 up 腳本安裝到系統並完成配置。接下來咱們就能夠用它來盡情地玩耍了。

首先,咱們先明確本身所處的路徑:

$ pwd
/home/alvin/projects/atb4g/ecall/src/interface

若是咱們只想回到上級目錄,只需執行 up 便可。

$ up
$ pwd
/home/alvin/projects/atb4g/ecall/src

那若是我想回退到更高層級的目錄呢?我如今是在 src 目錄,若是我想回退到 projects 目錄,要怎麼操做?

咱們只須要 up 命令後跟上你要跳轉的層級數,不加的話就默認是 1 。在這個例子裏,咱們要回退 3 層目錄,即:

$ up 3
$ pwd
/home/alvin/projects

前面已經提到,咱們能夠直接回退到某一個指定的目錄名下。好比我如今仍是在 src 目錄,想要回退到 projects 目錄,咱們能夠這樣操做:

$ pwd
/home/alvin/projects/atb4g/ecall/src
$ up projects
$ pwd
/home/alvin/projects

若是要回退的單詞長度太長寫得太累怎麼辦?你只需指明這個目錄的前幾個字母, up 腳本就會識別並跳轉。

$ pwd
/home/alvin/projects/atb4g/ecall/src
$ up pr     # 這裏只指定了前兩個字母
$ pwd
/home/alvin/projects

同時,它也支持 tab 鍵:

$ pwd
/home/alvin/projects/atb4g/ecall/src
$ up    # 敲 tab 鍵
ecall/  atb4g/  projects/   alvin/  home/

小結

這個腳本在常常須要切換目錄,而且路徑又很長的狀況下,很是有用,可以快速進入到你想要的父目錄。好好使用這個腳本,將會在目錄切換時大大提升你的效率。


最後,最近不少小夥伴找我要Linux學習路線圖,因而我根據本身的經驗,利用業餘時間熬夜肝了一個月,整理了一份電子書。不管你是面試仍是自我提高,相信都會對你有幫助!目錄以下:

如何高效回退到特定層級目錄?

免費送給你們,只求你們金指給我點個贊!

連接:https://pan.baidu.com/s/1_6uniaFV0rdMWIdMwgZjbg
提取碼:9pbc

也但願有小夥伴能加入我,把這份電子書作得更完美!

有收穫?但願老鐵們來個三連擊,給更多的人看到這篇文章

推薦閱讀:

相關文章
相關標籤/搜索