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

Linux 下如果我們進入到了一個比較長的路徑,比如:

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

如果我們想要回退到一個特定的父目錄,那麼我們通常的做法是這樣敲:

$ cd ../../../

如果層級比較少,那這樣勉強還可以接受,但如果層級很深,那可能就會 cd 到你懷疑人生了。

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

更重要的是,它甚至還支持 tab 鍵,而且在不重複的情況下,你也可以指定目標目錄的前幾個字母即可,大大增加了工作效率。

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

up 腳本的安裝

這個腳本是第三方人員開發的,所以需要我們人爲安裝到我們的系統。

首先,我們需要先將 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

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

$ source ~/.bashrc

如果你使用的是 zsh shell ,那麼需要使用下列步驟去操作:

$ 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

也希望有小夥伴能加入我,把這份電子書做得更完美!

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

推薦閱讀:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章