前言
這篇是給 linux ubuntu mac 終端機 (terminal) 新手使用者的教學總整理,
(最最最基本那種,一定要知道的)
基本上只會寫到「重點中的重點」,如果需要各個指令詳細的內容,
請再去尋找各篇文章閱讀XD
持續更新:個人認為常用,且新手必須知道的
先備 - 基礎路徑知識,簡易理解「相對路徑」與「絕對路徑」(重要)
「相對路徑」與「絕對路徑」的觀念個人認為非常重要!!!
如果這個概念沒搞清楚,輕則找不到檔案而已,似乎還好。
但重則可能會導致刪除整台電腦所有東西!!!這樣還不重要嗎!
以下內容使用此範例:假設有一張圖片的路徑在:「/home/ubuntu/Desktop/test_result/out.jpg」
相對路徑
「.」表示目前我們所在的路徑,以上面的例子,
假設我們目前所在的路徑為桌面(/home/ubuntu/Desktop,可以用「pwd」查看)
以上面為例,圖片路徑就是 「./test_result/out.jpg」
我們從(桌面)這個路徑底下找 test_result 這個資料夾中的 out.jpg。
就會是我們儲存圖片的地方。
絕對路徑
絕對路徑就是檔案完整的路徑,也就是「/home/ubuntu/Desktop/test_result/out.jpg」
這種寫法非常的明確,但相對的缺點就是彈性非常的差,
如果今天將我們的 code 換了一台電腦執行,
甚至只把資料夾移動到另一個地方,絕對路徑馬上就找不到我們要的檔案了。
所以建議大家還是多使用「相對路徑」哦~
雖然我剛學的時候也覺得「絕對路徑」真的很明確很棒XDDD
題外話,但很重要!
在網路笑話(?)當中常常有人提到 rm -rf / 這個指令,
但如果當真實發生在你身上時可能就笑不出來了XDDD,
(可能整個公司的資料都完蛋)
這個指令就是「強制移除(rm -rf)」從「根目錄("/")」底下的所有檔案,
等於把整台電腦都刪了!而且通常「難以救回」
個人認為與其擔心發生這樣的事情,不如搞清楚這指令是怎麼回事,
才是真正有效預防的方法,而不是因噎廢食而不敢使用 rm -rf
檔案路徑相關總整理
| 指令 | 功能簡述 | 補充說明 |
|---|---|---|
| cd | 切換資料夾 | 記法:change directory |
| ls | 查看資料夾內檔案(只有檔名) | |
| ll 或 ls -l | 查看資料夾內檔案(完整資訊) | |
| pwd | 查看目前路徑 |
檔案處理相關總整理
| 指令 | 功能簡述 | 補充說明 |
|---|---|---|
| mv | 移動檔案 | mv a b 將 a 移動到 b / 記法:move |
| mv | 重新命名 | mv a b 將 a 重新命名為 b / 記法:move |
| cp | 複製檔案 | cp a b 將 a 複製到 b / 記法:copy |
| rm | 移除檔案(請謹慎使用) | rm a 移除 a 檔案 / 記法:remove |
| rm -f | 「強制」移除檔案(請謹慎使用) | rm -f a 「強制」移除 a 檔案 / 記法:remove, -f = force |
| rm -r | 移除資料夾(請謹慎使用) | rm -r a 移除 a 資料夾 / 記法:remove recursive |
| rm -rf | 「強制」移除資料夾(請謹慎使用) | rm -rf a 「強制」移除 a 資料夾 / 記法:remove recursive, -f = force |
原本想說只要把 含有 「-f」的指令特別說要謹慎使用就好…,
但後來想想可能大部份剛踏入這個領域的人,都還對電腦有「資源回收筒」的概念!
注意!!!被「rm」處理掉的檔案是「沒有資原回收桶」的概念的!!!
使用「rm」的指令時,請清楚了解自己在下什麼指令。
使用rm移除的檔案「很難救回」,請確定自己真的有理解在下什麼指令
(不是救不回,只是超麻煩。)
系統運行相關總整理
| 指令 | 功能簡述 | 補充說明 |
|---|---|---|
| top | 查看目前系統執行中的所有程式 | |
| ps | 查看目前使用者執行中的程式 | |
| ps -a | 查看目前系統執行中的所有程式 | 記法:-a = all |
| kill id | 強制結束「編號為id」的程式 | 可由上方的指令查詢該程式的 id |
| pkill name | 強制結束「名字包含name」的程式 |
其他整理
| 指令 | 功能簡述 | 補充說明 |
|---|---|---|
| clear | 清空終端機 treminal 畫面 | |
| history | 查看所有執行過的指令 | |
| history -c | 清除所有執行過指令的歷史紀錄 | 記法:-a = clear |
| reboot 或 shutdown -r now | 重新開機 | 記法:-r = reboot |
| shutdown now | 關機 |
出現 permission denied 了? 解決方法
permission denied,照字面上的意思就是「執行這個指令的權限不足」,
這時只需要在指令前加上「sudo」,並輸入密碼即可順利完成。
通常會出現 permission denied ,表示該指令可能有風險,
所以系統才自動先擋掉權限不足的使用者,
加了「sudo」後,執行前可以「再確認自己下的這行指令的意思」,才更安全哦
範例:
例如前面我們所說的網路笑話(?),如果正常執行「rm -rf /」,
照理來說,系統應該會擋掉這個指令,並說 permission denied。
畢竟你都要強制砍掉東西,要你確認再確認!!!
如果想要順利執行,就需要輸入「sudo rm -rf /」,
然後悲劇就會發生了… 所以小孩子千萬不要學!!!
(除了破壞別人電腦外,我還真想不到這指令有什麼用途…)
- 但是 rm -rf 在面對砍難以砍掉的檔案時,是非常有用的!!! (所以一定要注意路徑!!!)
- 對「路徑」觀念還不清楚的,請再去看上面的《基礎路徑知識,簡易理解「相對路徑」與「絕對路徑」》