Linux 指令基本結構
Command 結構: command 名稱 + option + inputs, command 是有分大小寫的
命令是如何被執行的:$PATH 定義了可執行檔的位置,輸入命令後,會在有定義 $PATH 的文件夾中找尋執行檔,如果某個執行某個執行檔的名稱相同,會由最左邊的檔案夾被執行

which: 找到此命令的執行檔位置

command 可以接受多個參數: 找 2017 年 12 月的月曆

長、短 option: -v 是短 option, --version 是長 option, 但是不一定會有長 option
手冊頁 Manual Page
每個 command 都有各自的參數,可以透過查詢手冊頁來知道用法跟參數
手冊頁結構
加粗的是常用命令區塊
| Section | 內容 | 備註 | 
|---|---|---|
| 1 | User Commands | 一般不需要權限的命令 ex: cal, date | 
| 2 | System Calls | 多半使用在應用程式裡,可以向 Linux Kernal 下的命令 | 
| 3 | C Library Functions | 給 C 語言用的 Library functions | 
| 4 | Devices and Sepcial Files | 管理裝置,ex:光碟機、USB Port | 
| 5 | File Formats and Convetions | |
| 6 | Games | |
| 7 | Miscellaneous | Protocals, File systems 相關資訊 | 
| 8 | System Administration | 需要權限的命令, ex: 改密碼、編輯重要文件、設定自動化等… | 
使用 Manual Page
找尋相關命令
語法: man -k {你要找的命令}
ex: 與 which 相關的 command, 我們要找的 which 命令在最後一個,然後括號裡面的 1 代表它在 section 1
查看命令 Man Page
語法: man {section} {你要找的命令},
ex: 下 man 1 which, 找在 section 1 的 which 命令,section 1 的命令因為太常用,所以可以省略 1
Man page 裡符號解釋:
- []表示選則性的選項,
- [-a | -f]表示能使用- -a和- -f其中一個選項,
- ...: 表示可以多個參數
- <>: 代表必填
以下為舉例,非真實 command:
- command [-a] <filename> ...: 有- -a這個選擇性選項,且- fileanme為必填,可多個
- command [-a | -f] <path>: 有- -a和- -f兩個選擇性選項,並需要給一個- path參數
- command [OPTION]... [FILE]...: 可選擇性使用多個 option, 和多個 file 參數, 但因為都是 optional 的,因此可以直接使用- command