介紹一些常用的系統指令
cd
cd 是 “change directory” 的縮寫,意思就是改變目前所在的目錄。
簡單來說,我們可以把電腦的文件系統想像成一棵樹,而 cd 指令就像是讓我們在樹的各個節點間移動的工具。
cd <絕對路徑>
: 以根目錄 (/
) 開頭
1 |
|
cd <相對路徑>
:
1 |
|
特殊位置
cd .
: 這個指令則是讓我們留在目前的目錄。cd ..
: 這個指令可以讓我們移動到上一層目錄。cd -
: 這個指令會讓我們回到上一個目錄。換句話說,如果你剛才從目錄 A 移動到目錄 B,那麼 cd - 會帶你回到目錄 A。cd ~
: 這個指令會直接將我們帶回家目錄。在絕大多數的系統裡,家目錄通常是登入使用者的主目錄。
ls
ls 是 “list” 的縮寫,意思是列出資訊。這個指令的主要功能就是列出目前目錄下的所有檔案和子目錄。
你只需要在終端機中輸入 ls,然後按下 Enter,
就會列出你目前目錄下的所有內容。如果你想查看其他目錄的內容,
可以在 ls 後面輸入該目錄的路徑
1 |
|
-l
: (long) 以較詳細的長格式輸出,除了檔名,還會顯示檔案的權限、擁有者、群組、大小、最後修改時間等詳細資訊。-a
: (all) 顯示所有的檔案,包括隱藏檔。在 Unix 和 Linux 系統中,檔名前面有 . 的就是隱藏檔。-h
: (human-readable) 在長格式輸出時,將檔案大小以人類好讀的方式顯示,如 KB、MB 等。-R
: (Recursive) 遞迴列出所有子目錄的內容。-t
: (time) 檔案將會以時間進行排序-r
: (reverse) 將原本的順序反向輸出
rm
rm 是 “remove” 的縮寫,刪除的意思。這個指令的功能就是移除檔案或目錄。
當你需要刪除某個檔案時,你可以使用 rm 指令。
例如,如果你想刪除名為 “file.txt” 的檔案,你可以輸入:
1 |
|
預設情況下 rm 並不能移除資料夾,如果你嘗試使用 rm 刪除一個資料夾,會得到一個錯誤訊息,要使用 rm -d
才能刪除空的資料夾。
如果你想要刪除一個資料夾,並且資料夾裡的所有檔案也一併刪除,你需要使用 -r 或 -R 參數,這表示遞迴刪除
1 |
|
-d
: (recursive) : 刪除空資料夾-r
: (recursive) : 這表示遞迴刪除-f
: (force) : 強制刪除檔案,不會有任何確認提示。請小心使用這個參數,因為一旦檔案被刪除,就無法恢復。-i
: (interactive) : 刪除每個檔案前都詢問使用者是否確定。如果你想要避免意外刪除檔案,這個參數會很有用。
mkdir (Make Directory)
mkdir 用於在檔案系統中 創建新資料夾
一般情況下如果資料夾已經存在,系統就會噴出錯誤訊息,
如果不知道目的地存不存在,可以使用 mkdir -p
,他會幫你確保資料夾存在,如果不存在它就會幫你建立一資料夾,
你也可以同時建立一堆喔,下方的指令輸入下去,它就會直接幫你建立完整路徑,
1 |
|
-p
: 可以確保資料夾存在,如果不存在它就會幫你建立一資料夾
rmdir (Remove Directory)
rmdir 用於刪除空的目錄。它很沒用,要用它還不如用 rm ,rm -d
可以完全取代它。
pwd (Print Working Directory)
它用於顯示目前所在的工作目錄的絕對路徑。當你在命令列中操作時
pwd 可以告訴你你目前所在的目錄位置,只需在命令列中輸入 “pwd”,然後按下 Enter 鍵即可。
1 |
|
使用 pwd 指令有以下幾個優點:
- 確定目前所在的目錄位置:有時候你可能會迷失在不同的目錄之間,pwd 可以幫助你快速定位目前所在的位置,以確保你在正確的目錄中進行操作。
- 構建相對路徑:pwd 提供了你目前所在的絕對路徑。
- 執行其他命令:當你需要在特定目錄中執行其他命令時,pwd 可以幫助你確保你正在使用正確的目錄路徑。
pwd
只是一個顯示目前目錄的指令,它不會更改你的目錄位置或執行其他操作。如果你想要改變目錄,你可以使用 cd (Change Directory)
指令。
mv
mv 是 “move” 的縮寫,這個指令的主要功能是移動或重新命名檔案或目錄。
當你需要將檔案從一個位置移動到另一個位置,或者你想改變檔案或目錄的名稱時,mv 就是你需要的工具。
如果你想將 “file1.txt” 這個檔案移動到 “dir1” 這個目錄下,你可以使用:
1 |
|
-i
: 在覆蓋檔案前提出詢問-n
: 在目標位置已有同名檔案存在時,不進行覆蓋-f
: 強制覆蓋目標位置的同名檔案,不會提出任何詢問
你也可以把它當作改名的工具,如果你想將 “oldname.txt” 重新命名為 “newname.txt”:
1 |
|
echo
echo 指令本身非常簡單,只要打入 echo 然後接你想要輸出的字串,字串就會被輸出到終端機上。
比如 echo “Hello, world!” 就會在終端機上打印出 “Hello, world!”。
-e
: 使用 ANSI Escape Code\n
代表換行、\t
來代表 tab 會幫你對齊。
例如下方指令,
1 |
|
輸出結果則是會先打印 “Hello,”,然後換行,再打印 “world!”
1 |
|
另外
那麼,關於顏色的設定,你可以使用 ANSI Escape Code 來變更 echo 輸出的顏色。在這裡我們就只簡單介紹一下,如果你想要輸出紅色的文字,可以用 \033[31m,然後用 \033[0m 來重設顏色。比如 echo -e “\033[31mHello, world!\033[0m” 就會輸出紅色的 “Hello, world!”。
這就是 echo 指令以及其 “-e” 參數和顏色設定的基本介紹。希望大家在使用 echo 指令時,可以根據你的需求靈活地使用這些功能。
> (redirect)
Linux 系統中的指令結果通常會直接在終端機上顯示,但有時我們可能希望將這些輸出保存下來,或者重定向到其他地方,這時就可以使用重定向。
>
是一種基本的重定向操作符。當我們在一個指令後面加上 >
,再接上一個檔案名稱,該指令的輸出將不再顯示在終端機,而是寫入到我們指定的檔案中。
如果我們輸入:
1 |
|
"Hello, world!"
這句話將會被寫入到 file.txt
這個檔案裡。
如果該檔案已經存在,它的內容會被新的輸出覆蓋。
>> (append)
≫
是另一種重定向操作符,稱為 “append”。
它的作用與 >
相似,但當目標檔案已存在時,它不會覆蓋原有的內容,而是將新的輸出添加到檔案的末尾。
比如,我們可以輸入 :
1 |
|
Hello again!
這句話將會被添加到 file.txt
的檔案尾巴。
使用這些重定向操作符,我們可以靈活地控制我們的指令輸出,讓它們不再只是顯示在終端機,而是保存到檔案中,或者作為其他指令的輸入。
uniq
uniq 的主要功能就是能夠幫你刪除重複行,用法就是 uniq + [檔案名稱]
這樣他就會把檔案中重複的行數都刪除,只保留一行
-c
: 統計出每一行出現的次數,並把結果印出來-u
: 顯示哪些行只出現一次-d
: 這個指令會輸出所有有重複的行
useradd - 新增使用者
若要在系統上新增一個使用者帳號,只要執行 useradd 並指定使用者帳號的名稱即可:
1 |
|
-M
: 不建立家目錄-m
: 建立家目錄-d <path>
: 指定家目錄的路徑 (預設為 /home/username)-u <id>
: 指定 uid-c <使用者姓名>
: 標註真實姓名-g <group_name>
: 指定群組 (預設為同使用者名稱)-s /sbin/nologin
: 指定 shell (nologin 為登入後馬上登出)-k <骨架 path>
: 預設為 /etc/skel
帳號使用期限: 可用 sudo chage -l <username>
查詢
-e <2019-03-17>
帳號使用期限-f <天數>