1. Terminal

所有 Linux 系列文章使用環境均為 Fedora 20 (Heisenbug) 或 RHEL 7.

1. Terminal

打開 Linux Terminal ,一般會看到這樣的顯示:[ybian@m3l3 ~]$

  • ybian :表示目前登陸的帳號
  • @m3l3:@ 之后的表示主機名
  • ~:表示當前所在目錄,~ 代表當前帳號所在的家目錄,在當前情況下相當于 /home/ybian
  • $:提示符,普通用戶的提示符為 $, root 的提示符為 #

由于 root 用戶的擁有所有權限,所以一般建議使用普通用戶登陸操作,只有需要進行系統功能配置修改時才使用 root 用戶登陸。

2. 在 Terminal 執行命令

命令的語法:command [options] parameter1 parameter2 ...

  • 一行命令中輸入的第一部分為 command(命令的名稱)或一個可執行文件

  • 包含在 [ ] 中的內容是可選的,一般是命令的選項。選項分為兩種,一種是前邊帶有 - 的簡寫形式,另一種是帶 -- 的選項的完整名稱

  • 在選項后邊為命令或選項需要的參數,可能為 0 個或多個

  • 命令、選項和參數之間以空格進行區分,無論多少個空格都會被 Shell 解釋為一個空格

  • 可以使用反斜線 \ 使命令延續到下一行,除非 \ 代表轉義

  • 當命令輸入結束后,直接回車即可執行命令

一般情況下文章忽略命令的執行結果,只關心命令本身

[ybian@m3l3 ~]$ ls # ls 是 Linux 中的一個命令,在 Terminal 里直接輸入命令即可執行
[ybian@m3l3 ~]$ ls -a # 在命令后邊可以添加相應的參數對命令進行補充,從而得到想要的結果
[ybian@m3l3 ~]$ ls --all # 選項可以有以 - 開頭的短選項,也有以 -- 開頭的長選項
[ybian@m3l3 ~]$ cd Documents # 有些命令需要參數,參數和選項的位置并不固定,但一般參數在后
[ybian@m3l3 ~]$ cd \

Documents # 可以使用反斜線 \ 延續命令至下一行
```

  • 需要注意的一點:在 Linux 中嚴格區分大小寫,不管是文件名或是命令,都需要注意大小寫

$ Ls
bash: Ls: command not found...
Similar command is: 'ls' # 如果輸入一個錯誤的命令,則會出現錯誤提示
```

3. Terminal 下幾個重要的快捷鍵

  • Tab:Tab 是最經常使用的快捷鍵之一,它具有命令補全和文件補全的功能。即當我們輸入命令的前幾個字母時,按下 Tab 鍵可以幫助我們補全命令;如果根據輸入的字母無法確定命令,連續兩次按下 Tab 鍵會將以這幾個字母開始的所有命令都列出來。

$ shu [tab][tab]
shuf shutdown # 連續兩次按下 tab 可以列出所有以 shu 開始的命令
$ cd Do[tab][tab]
Documents/ Downloands/ # 在命令后邊參數時,可以實現文件名補全的功能


Tab 的作用不僅僅局限于幫助我們補全命令和文件名,而是可以減少拼寫錯誤

- Ctrl + c:結束當前正在運行的命令或程序
- Ctrl + d:將當前正在運行的命令或程序放在后臺執行,而不是終止命令


- Crtl +Shift + t:打開一個新的 Terminal 標簽
- Alt + 1/2/3/...:在不同的 Terminal 之間進行切換


- Ctrl + Shift + c:復制
- Ctrl + Shift + v:粘貼


- Ctrl + l:清屏

更多 Terminal 快捷鍵參考:[Linux Terminal Keyboard Shortcuts](http://www.howtogeek.com/howto/ubuntu/keyboard-shortcuts-for-bash-command-shell-for-ubuntu-debian-suse-redhat-linux-etc/)

### 4. 獲取命令幫助信息

我們很難能記住 Linux 下所有的命令的詳細用法,因此經常需要查看命令的幫助信息來了解命令的使用方法。

- 使用 __--help__:在輸入命令時,使用 --help 選項(或 -h),可以獲得關于該命令的使用方法 

 ```
$ ls --help
Usage: ls [OPTION]... [FILE]...
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.
... ...                                                                               # --help 選項會直接列出命令的幫助信息
 ```

- 使用 man 命令:并不是所有的命令都有 --help 選項,因此有時候我們需要使用 man 命令來進行查找。man 是 manual 的縮寫,在 man 后邊直接添加要查找的命令作為參數即可得到該命令的使用手冊。

 ```
$ man ls                                    # 使用 man 后會進入man page,即命令的使用手冊
 ```

__Man Page__:一個完整的 man page 可能包含以下幾個部分

| 標題 | 內容 |
| ------ | ------ |
| NAME | 簡短的命令、數據名稱說明 |
| SYNOPSIS | 簡短的命令語法 |
| DESCRIPTION | 完整的命令說明 |
| OPTIONS | 列舉出命令所有的選項進行逐個說明 |
| COMMANDS | 程序運行時,可以在程序中使用的命令 |
| FILES | 使用或參考或連結到的文件 |
| EXAMPLE | 一些參考的范例 |
| BUGS | 是否存在相關的 Bug |
| SEE ALSO | 相關的參考資料 | 

以上內容基本上包含了 Man Page 的所有信息,但這些并非都是必須的,不同的命令和軟件可以只包含其中的部分內容,或者再添加一些其他部分。其中重要的部分主要是:NAME、SYNOPSIS、DESCRIPTION 和 OPTIONS,我們可以根據這幾部分對命令有一個比較完整的了解,可以實現大部分場景的應用。

__使用方法__:

| 按鍵 | 所進行的操作 |
| ------ | ------------------ |
| 空格 | 向下翻頁 |
| Page Down | 向下翻頁 |
| Page Up | 向上翻頁 |
| Home | 跳至首頁 |
| End | 跳至尾頁 |
| /string | 以當前頁為基準向下進行搜索 |
| ?string | 以當前頁為基準向上進行搜索 |
| n / N | 搜索時,n 用于繼續下一個搜索,N 為反方向搜索 |
| q | 推出 man page | 

- 關于搜索:在 man page 中只需要輸入 `/` 或 `?`,然后輸入要搜索的關鍵詞即可進行搜索

- __-k__ 選項:當我們需要查找某一命令,但又不知道該命令的完整名稱時可以使用 -k 參數進行模糊查找

 ```
$ man -k cd
nscd.conf (5)        - name service cache daemon configuration file
cd (1)               - bash built-in commands, see bash(1)
cd (1p)              - change the working directory
cd-create-profile (1) - Color Manager Profile Creation Tool
... ....                                                              # 使用 -k 選項可以將所有包含該關鍵字的 man page 列出
 ```

- man page 的級別:在 man page 的首行我們可以看到類似 `CD(1)` 這樣的顯示,其中 `(1)` 中的數字代表了 man page 的級別,一個命令可能同時包含不同級別的 man page。

| 數字 | 代表內容 |
| ------ | ------------ |
| __1__ | __使用者在 shell 環境中可以操作的命令或可執行文件__ |
| 2 | 系統內核可調用的函數與工具 |
| 3 | 一些常用的函數或函數庫,大部分為 C 的函數庫 |
| 4 | 配置文件的說明,通常為 /dev 下的文件 |
| __5__ | __配置文件或某些文件的格式__ |
| 6 | 游戲 |
| __7__ | __慣例與協議__ |
| 8 | 系統管理員可用的命令 |
| 9 | 與內核相關的文件 |

實際中的級別要復雜的多,但一般可以劃分為以上幾類,其中 1、5、7 是我們經常查看的級別。

- __-f__ 選項:通過 -f 選項我們可以查看命令都具有哪些級別的 man page 

$ man -f cd
cd (1p) - change the working directory
cd (1) - bash built-in commands, see bash(1) # 列出所有指定命令的 man page 文件
$ man 1p cd
... ... # 可以指定要打開的 man page 文件級別進行查看


- Tips:
    - man page 一般保存在 /usr/share/man 目錄中
    - man 命令的配置文件為:/etc/man_db.conf
    - man page 默認打開的級別順序為:`SECTION    1 1p 8 2 3 3p 4 5 6 7 9 0p n l p o 1x 2x 3x 4x 5x 6x 7x 8x`
    - man 也是 linux 的命令,所以使用 `man man` 來獲取更多關于 man 命令的信息 : -)





最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Ubuntu的發音 Ubuntu,源于非洲祖魯人和科薩人的語言,發作 oo-boon-too 的音。了解發音是有意...
    螢火蟲de夢閱讀 99,571評論 9 467
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經改了很多 但是錯誤還是無法避免 以后資料會慢慢更新 大...
    數據革命閱讀 12,224評論 2 33
  • 本文筆記源自這里——[實驗樓]歡迎大家在下面交流其中有問題的地方喜歡請點收藏,每日更新(全部已親自實踐). 一. ...
    東皇Amrzs閱讀 4,043評論 7 54
  • 文:無_念 圖:妹妹 發瘋中的女人最不可理喻,就是一個十足野蠻的神經病,又丑又臭! 1、 “你為什么給我媽打電話,...
    無_念閱讀 1,661評論 16 8
  • 時間一匆而去,不曾留給我們一絲后悔的余地,它只管大步向前,無理冒長。 我們總歸是要長大的,不論我們愿意與否,一天天...
    阿俊xi閱讀 179評論 0 0