Skip to content

[Linux] 透過高頻率自動推測你想前往的資料夾:z 指令

Last Updated on 2024-09-16 by Clay

簡介

z 指令我想寫很久了!只是手邊一直在忙 AI 的訓練(公司業務)跟模型架構的加速推理(個人興趣),所以一直沒能騰出手來寫。這樣說好了,如果有人讓我推薦 Linux 系統必裝的工具,我會毫不猶豫地選擇 z 在我前十大推薦清單中。

在 Linux 系統上我們勢必得經常開終端機(Terminal)來工作、來操作系統,而 cd 的移動又是我們最常使用的指令之一。那麼,如果今天有一個工具,可以快速導航到我們經常訪問的目錄,讓我們可以不用拼出完整的路徑只需要打幾個資料夾名稱的開頭,就可以抵達我們的目的地,豈不甚好?

這就是 z 指令的功用了:它通過收集我們經常訪問的目錄並計算『權重』(weights),使我們能夠快速切換到經常使用的目錄。這點上跟 cd 很像,可是更加智能跟高效。


下載安裝

首先我們可以只把想要的 z.sh 腳本下載下來,這不是執行用的,而是要使用 source 讓其生效使用的。

$ wget https://raw.githubusercontent.com/rupa/z/master/z.sh -O ~/z.sh
$ echo "source ~/z.sh" >> ~/.bashrc
$ source ~/.bashrc


這樣一來,我們就會在每次打開終端機時,自動啟用 z 指令。


使用方式

z 指令的使用方式非常簡單。

z <部份資料夾名稱>


比方說我們經常訪問 ~/projects/my_project 資料牙,我們可能只需要打:

z my


我們就會自動抵達這個資料夾了。

放一個我的使用範例:


我們也可以使用以下指令列出被紀錄的資料夾和其權重分數:

z -l


Output:

28314      /usr
28318 /media/clay
56608 /tmp
56895 /home/clay/Projects
227634 /home/clay/Scripts
299019 /home/clay/Projects/Any-Test


而當然我們用的日子越久,越有可能在 z 的資料庫中儲存一些早就不存在的資料夾名稱,等於追蹤了個寂寞,所以我們也可以使用:

z -c


來清除不存在的資料夾。

最後,如果你有什麼想要了解的指令,可以隨時透過 z -h 來查看哦。


進階操作:設定黑名單

嘿嘿,這可是個珍藏的功能:畢竟人的電腦上總有一些不小心放進去的隱私資料嘛,隨著去的頻率增加,z 不小心把他們的權重計算得太大了,在跟客戶 demo 時不小心 z 跑進去了怎麼辦?

別擔心,我們可以使用:

z -x /path/to/remove


來移除追蹤的資料夾。

也可以在 ~/.bashrc 中設定環境變數來排除 z 的追蹤計算:

export _Z_EXCLUDE_DIRS=("/path/to/exclude1" "/path/to/exclude2")

References


Read More

Tags:

Leave a Reply