原文發表於第 11 屆 iT 邦幫忙鐵人賽 (https://ithelp.ithome.com.tw/articles/10216613)
喜歡打字嗎?那你先不要用滑鼠
有一個關於生物資訊的謠言,就是一定要在 Unix-like 作業系統上面分析,而且要用純文字的方式輸入指令操作電腦,像是電影裡的駭客一樣。這實在是會把某些從小用 windows 長大的中產階級小孩嚇壞,其實已經有很多圖形化的生資軟體,甚至越來越多分析平台不用安裝,全部在瀏覽器中執行就可以。但是如果要能夠靈活地運用各種最新套件,還是要學學如何透過終端機輸入指令來操作電腦,所以那個謠言在某種程度上還是真的。
(截圖來自遊戲 Quadrilateral Cowboy)
平常在圖形化介面下,用滑鼠雙擊資料夾以打開該資料夾的行為可以拆解成下列兩個動作
[在當前的頁面] 以鼠標點擊(指令) 資料夾圖示(參數)
+ [在新的當前頁面] 顯示該資料夾內容(指令)
而在終端機中沒有鼠標也沒有圖示,上述的行為只是變成
[由目前所在位置] 要求改變所在位置(指令) 到目標位置(參數)
+ [由新的目前所在位置] 顯示該位置中的所有內容(指令)
只需要小小地轉換想法,以及熟練一點點基本指令,就可以遊刃有餘地拋棄滑鼠,用純指令的方式來操作電腦。
與終端機的首次近身距離作戰 (以 Mac 或 unix-like 電腦為例)
打開終端機,先不要對密密麻麻的文字感到恐慌,把他們想像成你在超市中遇到的橘子、香蕉、蘋果、或番茄,或是平常使用電腦時,人腦自動忽略掉的其他各種軟體 logo 圖示。
找到閃爍的游漂,游標左方出現的大概是電腦名稱、當前位置、使用者名稱。輕輕敲打鍵盤就可以看到你所輸入的文字,切換成英文輸入法之後,依序試試下列的基本指令吧!(Mac 與 Windows 系統的指令略有不同,以下以 Mac 或 Ubuntu 等電腦為例,如果需要 Windows 的指令的話可以看這裡)
顯示完整的當前位置 pwd (Print Working Directory 的縮寫)
游標左方就有當前的位置或資料夾名稱,但是如果想要知道更加完整的路徑的話,請輸入 pwd
,即刻取得絕對路徑。如果是 Windows 系統的話直接輸入 cd
。
顯示資料夾內容:ls (list 的縮寫)
輸入 ls
,不用任何參數,按下確認,終端機就會回傳該資料夾中的所有檔案以及資料夾名稱。
新增資料夾:mkdir (make directory 的縮寫)
這個指令就需要參數囉,輸入mkdir test
,就會新增一個叫做 test 的資料夾。在圖形化介面中直接右鍵新增資料夾之後,新的資料夾會有預設的名稱 “New Folder”,但是 mkdir 沒有這樣預設的服務,沒有搭配後方給予資料夾名稱的參數的話,會收到 usage: mkdir [-pv] [-m mode] directory ...
這樣子的回覆,也就是這個指令的簡單使用說明,代表執行失敗,沒有新的資料夾產生喔。
切換資料夾:cd (change directory 的縮寫)
剛剛新增了 “test” 的資料夾,那就讓我們進入那個資料夾,輸入 cd test
,沒有收到任何回覆,但是看看此時游標左側的當前位置,已經變成 test 囉,可以 ls 看看是否就是新資料夾一塵不染的樣子。讓我們回到上一層資料夾,請輸入 cd ..
,再 ls 一次看看是不是又可以看到 test 這個資料夾啦。
刪除:rm (remove 的縮寫)
足跡留下,垃圾帶走,我們已經回到了原本的目錄,讓我們把剛剛新增的 test 資料夾刪掉,請輸入 rm -r test
,這邊出現了 r 參數,因為我們要移除的 test 是一個資料夾,刪除的時候要強制連其中的內容物也一起刪除,所以必須要加上分別代表遞迴的 r 參數。
請到櫃台預約後續練習時間
這篇的基本內容實在是很尬,這種終端機基本操作網路上早就有一大堆更清楚的教學了,需要更多功能請直接 google。如果要更加熟練地使用這些指令的話,在實作中練習更加有效。
喜歡透過簡單地操作練習,在遊戲化的過程中獲取成就感的朋友,可以考慮 Hacknet 這款遊戲。某個大駭客連絡上你,你在他一步步電子郵件的引導下,透過上述的進出資料夾與抹煞紀錄的終端機純文字操作進展中,抽絲剝繭獲得成就並理解劇情。除了可以在不知不覺間熟練指令以外,操作的介面大部分時候都是文字,沒事就開著還可以讓人誤以為你正在認真工作。
喜歡研究工具本身或是這種純脆靠打字完成工作的獵奇感的朋友,則可以去探索更多終端機專屬的特性與實用工具,或是把圖形化介面搬回終端機的軟體。實用的部分,Windows 上可以透過 Shutdown
指令搭配參數設定自動關機的時間,termdown 則是個極簡計時器。而某些工程師獵奇趣味的部分,則比如在終端機上瀏覽網頁的軟體 Lynx,或是看天氣 wttr.in。
trehn/termdown Lynx Weather report
萬一你成功地用終端機用上癮了,請記得回來告訴我還有什麼好玩的終端機應用吧!