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