嗨!歡迎回到上班族的命令列生存手冊。很久以前講到基礎的指令,知道有三個命令必學:ls
、cd
和 cat
,它們陪伴我們一段時光,雖然基礎但也夠用了。不過網路無奇不有,這三個指令都有打類固醇的版本,用起來更爽,也有更多花招可以,這一個章節就來介紹這些指令。
在 Day04 時請讀者挑選一個字體,其中介紹了 Nerd Font。到了這一章節終於要來揭曉有啥特別之處。有時 $ ls
時就是想知道檔案類型,這時如果有圖示就好了。
eza 就是 ls
打針的版本,請讀者依照自己發行版,或者用 Homebrew 來安裝即可。單純下 $ eza
看不出個所以然,讀者可以改變下法:
$ eza --icons
有圖示!我們期待了 24 天的結果終於印出來了!eza
也可以印出 Long Format,並且預設檔案大小就是一般人看得懂的(human readable)。他的參數和 $ ls
很類似,印出 Long Format 的同時,也可以顯示出圖示:
$ eza --icons -l
基本上在 $ ls
討論的章節,都能套用到這個指令上。不過到這裡還不夠,別忘了設定 Alias 讓指令輸入更方便,分享筆者設定的 eza
alias,讀者可以自行取用:
### ls series
alias l='eza --icons -a --group-directories-first'
# long format
alias ll='eza --icons -l --color=always --group-directories-first'
# print tree structure
alias lt='eza -aT --icons --group-directories-first'
# filter hidden files
alias l.='eza -a | grep -e "^\."'
# show all files and directories in the previous directory
alias l..='eza --icons -a --color=always --group-directories-first ../'
# show all files and directories in 2 levels up
alias l...='eza --icons -a --color=always --group-directories-first ../../'
首先,筆者設定 $ l
就使用 exa 顯示出:
--icons
:圖示,一定要的-a
:包含隱藏檔案--group-directories-first
:把資料夾排在前面其他的 Alias 基本是依樣畫葫蘆調整,像是:
ll
:印出 Long Formatlt
:印出樹形結構,切記檔案很多或很深地方印會很慢l.
:只印出隱藏檔案l..
:這個和 $ cd ..
很類似,是看上層的檔案列表l...
:同上,再更上層介紹完 eza
,接下來就是這個過於強大的 $ cd
,「蛤?cd
還能怎麼強化?」讀者問,zoxide 可以讓你「瞬間移動」,只要是以前曾經去過的資料夾就可以。
除了用套件管理器安裝以外,別忘了整合 Shell 才能發揮作用,請看 Setup zoxide on your shell 的部份,這裡和「設定你的 Shell」篇教的大同小異,請先看看目前使用的 Shell 是什麼,接著再開啟對應的設定檔,加入相關設定即可。以 fish 為例:
$ vim ~/.config/fish/config.fish
接著重新開啟一個 Session,就可以開始體驗 zoxide。
zoxide 用 $ z
當成指令。假設筆者的 side project 在這個位置:
~/sideProjects/TaiwanEbookSearch
一般來說需要知道整串路徑,或是一個一個進去內層才比較好切換。不過如果有 zoxide 又會是另外一個故事了,無論在任何的地方:
$ z TaiwanEbookSearch
就能直接切換!但還有更棒的,zoxide 支援模糊比對,甚至不需要把目標資料夾名子全部打出來,像是上面那個例子,筆者這樣輸入也會到正確的資料夾:
$ z ebook
多下幾次指令即可,zoxide 會在目標資料夾之間循環。像是上面那個例子,如果還有一個資料夾是:
~/Document/hobbyProject/ebookTools
這樣連續下 $ z ebook
就會在 TaiwanEbookSearch
和 ebookTools
之間來回切換囉。
下 $ zi <目的地>
會跳出選單讓你選擇,還會有 Preview 讓使用者方便判斷是不是想去的地方。
寫到這邊,讀者可能想要用 zoxide 取代 cd,別忘了只要設定 alias 就可以輕鬆的辦到。可以在設定檔裡頭加入:
alias cd="z"
即可。
有了貓就要有蝙蝠!在上一篇大補帖提到的 delta 很棒對吧?如果 cat 檔案時也能有光鮮亮麗的樣子就好啦,這個聲音不知道被誰聽到了!bat 就是那個最適合你的新番!
請讀者前往 bat 網站查看自己的發行版或 homebrew 的安裝方法,一起來使用這個指令。Debian 系的系統(還有如 Ubuntu 等使用 apt 作為套件管理器的發行版)使用者安裝後可能會啟動不了。因為某個因素讓 $ bat
在這些系統上需要用 $ batcat
叫出來,讀者自行使用 alias 調整即可。
bat
用法就如同 cat
,請讀取一個文字檔案,例如:
$ bat TwoSum.java
bat
比較接近一般的 pager(也就是 less
),操作的方式也和 less
相同:
j
:向下捲動k
:向上捲動/<搜尋目標>
:搜尋,n
找下一個,N
找上一個q
:退出bat 本身就內建非常多的 theme 可供選擇,可以這樣子查看內建的 theme:
$ bat --list-themes
記下自己喜歡的主題後,請複製主題的名稱,接著下:
$ export BAT_THEME="<主題名稱>"
再啟動 bat
應該就能立刻看到變化囉。
介紹完這三個指令是不是很讚呢?他們的共通點就是都是 Warp 贊助開發的提昇了原版指令的效率以及功能!接下來的章節要與讀者介紹怎麼在 POSIX 系統設定 Java 的 JDK,有什麼方便的工具呢?請期待囉。