Linux中快速回到N級上層目錄


https://mp.weixin.qq.com/s/iOLZpa5hCFR6lC-D4-OGmg

 

在Linux系統中,使用自定義命令,快速回到指定層級的上層目錄。

 

1. 問題

在使用Linux的過程中,經常進入到很深的目錄:

而后又要回到某個上層目錄,有沒有什么好的方法呢?

 

2. 解決方法

回到上層目錄的命令是:

那么最簡單的方法就是不停的上翻執行cd ..命令:

可是一般筆記本向上翻的箭頭比較小,不是很方便。

 

再有一個方法就是使用多個../進行切換:

且不說無名指和小指打這兩個字符不方便容易累,也很容易多打一個點而使速度降下來。

 

要是能有cd .....這樣的命令就好了:

 

3. 自定義命令

既然cd命令沒有那樣的用法,為何不自己定義一個呢?

a. 既然命令與cd和..有關,那就叫c.(可以根據喜好自定義);

b. 使用參數作為回退目錄的級數,一個點代表回退一級;

 

命令實現如下:

其中:

a. 使用第一個參數,將其中的“.”替換為“../”;

b. 調用cd命令實現目錄切換;

 

使用效果如下:

 

4. 提升兼容性

可以看到,命令當中“.”比較多,包括命令中的點和參數中的點。留意打多少個點的時候,也會忘記打空格,記起打空格的時候,可能為時已晚,導致命令錯誤,需要修改。

 

那么就稍微調整一下,提升兼容性:

a. 可以不打空格:

b. 可以晚打空格:

c. 為了統一,約定:命令中緊跟着字符c后面的一個“.”,屬於命令,不用於計算層級數;

 

如何實現呢?

a. 命令“c.”不帶參數,表示留在當前目錄;

b. 命令“c..”“c...”等需要增加新的命令;

 

5. 新的實現

首先,修復命令“c.”不帶參數返回home目錄的問題:

 

然后,把這個函數變為公共函數,並定義新的“c.”命令:

 

定義“c..”命令:

這里在命令參數的基礎上,把命令中的“.”也轉換為“_c.”命令的參數。

 

其他定義類似:

定義到“c.........”(包含9個點),單命令可以回退的8級目錄,層級數目基本上夠用了。

 

使用效果如下:

 

 

z. 附錄

 

​相關源碼(文中都有)附錄如下:

-----------------------------------------------------------------------------
這是一篇付費文章,請移步付費閱讀全文,謝謝!
文章鏈接:https://mp.weixin.qq.com/s/iOLZpa5hCFR6lC-D4-OGmg


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM