在Day 21:模仿遊戲.破解Linux之謎(Linux Enigma: Codebreakers Unleashed)中,你翻開那本《樹莓派的法則》。書中掉出一張便條紙,上面寫著一些奇怪的字:ls、cd、mkdir。你發現這些就是Linux中常用的指令,而且可能還是什麼暗示。
在了解Linux指令之前,你一定很好奇:為什麼Linux叫做Linux?
你可能有聽過Unix,想知道Linux跟Unix的關係?
在聽完Linux的故事之後,你可能就會比較能夠了解Linux指令了。
ls
、cd
、mkdir
ls
ls
是list
的縮寫,意思是列出
。ls
指令可以列出目前所在的資料夾裡有哪些檔案和子資料夾。例如,如果我們在桌面資料夾,就可以用ls
指令來看桌面上有哪些東西。ls -a
可以列出包括隱藏檔案在內的所有東西。ls -l
可以列出詳細的資訊,如檔案大小、修改時間等。cd
cd
是change directory
的縮寫,意思是改變目錄
。目錄就是資料夾的另一種說法。cd
指令可以讓我們切換到不同的資料夾裡去。例如,如果我們想要從桌面資料夾切換到下載資料夾,就可以用cd
下載指令。
cd ..
指令。cd ~
指令。mkdir
mkdir
是make directory
的縮寫,意思是建立目錄
。也就是建立新的資料夾。mkdir
指令可以讓我們在目前所在的資料夾裡建立一個新的子資料夾。例如,如果我們想要在桌面資料夾裡建立一個叫做「作業」的子資料夾,就可以用mkdir
作業指令。
-p
來進行遞迴建立。mkdir -p 作業/英文
。我想要在我的電腦裡整理一些檔案,所以我先用 cd ~
指令回到我的Home目錄,然後用 ls
指令看看我有哪些資料夾和檔案。我發現我有一個叫做「照片」的資料夾,裡面有很多照片,但是沒有分類。所以我用 cd
照片 指令進入到「照片」資料夾,然後用 mkdir 旅遊
指令建立一個叫做「旅遊」的子資料夾,用來存放我的旅遊照片。接著,我用 mv *.jpg 旅遊
指令把所有的jpg格式的照片移動到「旅遊」資料夾裡。這樣就整理好照片了。
ifconfig
指令ifconfig
是一種常用的指令,它可以讓我們查看或設定網路裝置的網路參數。網路裝置就是讓電腦連接到網路的硬體,如網卡、無線網卡等。網路參數就是影響網路連線的一些數值,像是IP位址
。ifconfig
指令可以讓我們查看這些參數,或者修改它們來改變網路裝置的狀態。
IPv4
和IPv6
,它們分別用不同的格式來表示。IPv4
位址的格式是四組0到255之間的數字,用點號隔開,如192.168.0.1
IPv6
位址的格式是八組0到FFFF之間的十六進位數字,用冒號隔開,如2001:db8::1。ifconfig
指令。我看到eth0(有線網卡)的IP位址是192.168.0.3
。sudo
指令簡單說明:
Linux
的 sudo
指令就像是一個讓使用者可以開別人的車的萬能鑰匙(Master Key),通常用來開權限最大的系統管理員(root
)的車子,做一些需要特權的事。。Linux
使用者登入系統之後,還沒有辦法做一些只有系統管理者才能做的任務,為了方便管理者控制一般使用者可以開哪些車,系統管理者可以在 /etc/sudoers
設定(類似一個設定萬能鑰匙(Master Key)的系統),設定誰可以用 sudo
的鑰匙來開系統管理者的車子,做一些需要特權的事。root
)有權用這個設定萬能鑰匙(Master Key)的系統,一般會用 visudo
來寫 /etc/sudoers
,避免寫錯字或是寫出不合規則的內容。相關話題:
root
:就像是系統管理員的車,擁有最高的權限,可以做任何事。/etc/sudoers
:一個用來設定 sudo
這把萬能鑰匙(Master Key)的系統,用 sudo
可以管理哪些使用者、在哪些地方、開哪些車子和做哪些任務的權限。visudo
:一個用來寫 /etc/sudoers
這個萬能鑰匙(Master Key)系統的小工具,可以檢查系統上的內容是否正確,避免造成錯誤。使用範例:如果想要讓 aiot
使用者可以使用 sudo
鑰匙時,權力跟 root
一樣,可以在 /etc/sudoers
加入以下這句話:aiot ALL=(ALL) ALL
。然後,在終端機中輸入以下指令:sudo apt-get update
。就可以用 root
的車子更新。