➣ Reading Time: 9 minutes

前言

這篇是給 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 在面對砍難以砍掉的檔案時,是非常有用的!!! (所以一定要注意路徑!!!)
  • 對「路徑」觀念還不清楚的,請再去看上面的《基礎路徑知識,簡易理解「相對路徑」與「絕對路徑」》
⭐Linux 指令 相關文章整理⭐:
⭐終端機 (terminal) 常用 總整理⭐:
1.(terminal指令 常用總整理)【Linux】linux/ubuntu/mac 基礎終端機 (terminal) 指令 & 基礎知識總整理,初學者/新手 必須知道的基礎指令 & 基礎知識大全(持續更新)
2.(terminal快速鍵 常用總整理)【Linux】linux/ubuntu/mac 基礎終端機 (terminal) 快速鍵/小技巧,初學者/新手 必須知道的一些實用功能!(持續更新)
3.(vim指令 常用總整理)【Linux】linux/ubuntu/mac vim 的 新手/初學者 的基礎使用指令 與 個人常用功能總整理 (持續更新)
4.【MobaXterm】在 Windows 中使用 MobaXterm VPN 連線至遠端系統 (linux, ubuntu) 遠端 ssh 顯示畫面
⭐Linux 基礎指令篇⭐:
1.【Linux】(作業系統基礎知識) 簡單理解「相對路徑」與「絕對路徑」,程式設計 初學者/新手 必須知道的路徑知識總整理
2.【Linux】linux ubuntu 中利用 mkdir 建立資料夾 相關參數總整理 (必定建立資料夾、修改資料夾權限 777)
3.【Linux】linux ubuntu 使用 terminal (終端機) 關機 shutdown、重新開機 reboot 的方法
⭐Linux 網路相關指令篇⭐:
1.【Linux】利用 ifconfig 查詢 ip 並用 scp 傳送資料 – linux, ubuntu 基礎終端機指令學習 sample code (內含範例程式碼)
2.【Linux】使用 sshfs 連線 將遠方磁碟當作像是在自己電腦的硬碟 mount disk on other computer
3.【Linux】使用 curl 將網路上的檔案 透過終端機 terminal 的方式下載 download
⭐Linux 進階指令篇 (檔案處理相關)⭐:
1.【Linux】linux, ubuntu 壓縮檔案常用指令 tar gzip zip 7z 壓縮檔案切割、壓縮檔案加密 與 解壓縮套件安裝方法 (內附圖文說明)
2.【Linux】Linux 查詢資料夾內的檔案數目 ls -1 | wc -l
3.【Linux】linux ubuntu 中利用 tail -f 可以查看 log 並不斷更新
4.【Linux】在終端機 terminal 使用 ln -s 建立如 windows, mac, ubuntu 檔案系統上的捷徑 – 軟連結 (Symbolic Link)
5.【Linux】linux, ubuntu 使用 split 指令檔案切割、檔案合併
6.【Linux】Linux 運用 sed 進行檔案內容的取代 instead 用法
7.【Linux】mac/ubuntu 如何利用 terminal 打開 GUI 資料夾總整理
⭐Linux 進階指令篇 (搜尋相關)⭐:
1.【Linux】linux, ubuntu 使用 ps, grep, pgrep 找到程式碼的 相關資訊 與 pid (ps aux, ps -ef)
2.【Linux】linux ubuntu 使用 grep, awk, xargs 尋找需要的資料,快速濾出/篩選 結果欄位 所需要的資訊 (內附圖文說明) filter column
⭐Linux 特殊應用篇⭐:
1.【Linux】Linux 增加 swap 的虛擬記憶體空間
2.【Linux】在 Ubuntu (Linux 系統) 上透過 / etc/fstab 安裝新的硬碟、新增硬碟容量 (SSD, HDD) (內附圖文說明)
3.【Linux】linux / ubuntu 複製硬碟的方法 copy all disk
4.【Linux】(內附圖文說明) ubuntu 停止自動更新的方法 disable auto update
5.【Linux】linux/ubuntu 下執行 anaconda-navigator 的方法
⭐Bash 自動化程式撰寫⭐:
1.【Bash】echo,bash 的 hello world 基本教學,開始自動化程式的第一堂課 / 撰寫腳本,利用 echo 顯示變數
⭐【喜歡我的文章嗎? 歡迎幫我按讚~ 讓基金會請創作者喝一杯咖啡!
如果喜歡我的文章,請幫我在下方【按五下Like】 (Google, Facebook 免註冊),會由 「LikeCoin」 贊助作者鼓勵繼續創作,讀者們「只需幫忙按讚,完全不用出錢」哦!

likecoin-steps