所有 Linux 系列文章使用環(huán)境均為 Fedora 20 (Heisenbug) 或 RHEL 7.
1. Terminal
打開 Linux Terminal 规哪,一般會看到這樣的顯示:[ybian@m3l3 ~]$
-
ybian
:表示目前登陸的帳號 -
@m3l3
:@ 之后的表示主機名 -
~
:表示當(dāng)前所在目錄蚓再,~
代表當(dāng)前帳號所在的家目錄,在當(dāng)前情況下相當(dāng)于/home/ybian
-
$
:提示符厨喂,普通用戶的提示符為$
曾雕, root 的提示符為#
由于 root 用戶的擁有所有權(quán)限奴烙,所以一般建議使用普通用戶登陸操作,只有需要進行系統(tǒng)功能配置修改時才使用 root 用戶登陸剖张。
2. 在 Terminal 執(zhí)行命令
命令的語法:command [options] parameter1 parameter2 ...
一行命令中輸入的第一部分為 command(命令的名稱)或一個可執(zhí)行文件
包含在
[ ]
中的內(nèi)容是可選的切诀,一般是命令的選項。選項分為兩種搔弄,一種是前邊帶有-
的簡寫形式幅虑,另一種是帶--
的選項的完整名稱在選項后邊為命令或選項需要的參數(shù),可能為 0 個或多個
命令顾犹、選項和參數(shù)之間以空格進行區(qū)分倒庵,無論多少個空格都會被 Shell 解釋為一個空格
可以使用反斜線
\
使命令延續(xù)到下一行,除非 \ 代表轉(zhuǎn)義-
當(dāng)命令輸入結(jié)束后炫刷,直接回車即可執(zhí)行命令
一般情況下文章忽略命令的執(zhí)行結(jié)果擎宝,只關(guān)心命令本身
[ybian@m3l3 ~]$ ls # ls 是 Linux 中的一個命令,在 Terminal 里直接輸入命令即可執(zhí)行
[ybian@m3l3 ~]$ ls -a # 在命令后邊可以添加相應(yīng)的參數(shù)對命令進行補充柬唯,從而得到想要的結(jié)果
[ybian@m3l3 ~]$ ls --all # 選項可以有以 - 開頭的短選項认臊,也有以 -- 開頭的長選項
[ybian@m3l3 ~]$ cd Documents # 有些命令需要參數(shù),參數(shù)和選項的位置并不固定锄奢,但一般參數(shù)在后
[ybian@m3l3 ~]$ cd \
Documents # 可以使用反斜線 \ 延續(xù)命令至下一行
```
-
需要注意的一點:在 Linux 中嚴(yán)格區(qū)分大小寫失晴,不管是文件名或是命令,都需要注意大小寫
$ Ls
bash: Ls: command not found...
Similar command is: 'ls' # 如果輸入一個錯誤的命令拘央,則會出現(xiàn)錯誤提示
```
3. Terminal 下幾個重要的快捷鍵
-
Tab:Tab 是最經(jīng)常使用的快捷鍵之一涂屁,它具有命令補全和文件補全的功能。即當(dāng)我們輸入命令的前幾個字母時灰伟,按下 Tab 鍵可以幫助我們補全命令拆又;如果根據(jù)輸入的字母無法確定命令儒旬,連續(xù)兩次按下 Tab 鍵會將以這幾個字母開始的所有命令都列出來。
$ shu [tab][tab]
shuf shutdown # 連續(xù)兩次按下 tab 可以列出所有以 shu 開始的命令
$ cd Do[tab][tab]
Documents/ Downloands/ # 在命令后邊參數(shù)時帖族,可以實現(xiàn)文件名補全的功能
Tab 的作用不僅僅局限于幫助我們補全命令和文件名栈源,而是可以減少拼寫錯誤
- Ctrl + c:結(jié)束當(dāng)前正在運行的命令或程序
- Ctrl + d:將當(dāng)前正在運行的命令或程序放在后臺執(zhí)行,而不是終止命令
- Crtl +Shift + t:打開一個新的 Terminal 標(biāo)簽
- Alt + 1/2/3/...:在不同的 Terminal 之間進行切換
- Ctrl + Shift + c:復(fù)制
- 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 下所有的命令的詳細(xì)用法竖般,因此經(jīng)常需要查看命令的幫助信息來了解命令的使用方法甚垦。
- 使用 __--help__:在輸入命令時,使用 --help 選項(或 -h)涣雕,可以獲得關(guān)于該命令的使用方法
```
$ 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 后邊直接添加要查找的命令作為參數(shù)即可得到該命令的使用手冊迄埃。
```
$ man ls # 使用 man 后會進入man page,即命令的使用手冊
```
__Man Page__:一個完整的 man page 可能包含以下幾個部分
| 標(biāo)題 | 內(nèi)容 |
| ------ | ------ |
| NAME | 簡短的命令兑障、數(shù)據(jù)名稱說明 |
| SYNOPSIS | 簡短的命令語法 |
| DESCRIPTION | 完整的命令說明 |
| OPTIONS | 列舉出命令所有的選項進行逐個說明 |
| COMMANDS | 程序運行時侄非,可以在程序中使用的命令 |
| FILES | 使用或參考或連結(jié)到的文件 |
| EXAMPLE | 一些參考的范例 |
| BUGS | 是否存在相關(guān)的 Bug |
| SEE ALSO | 相關(guān)的參考資料 |
以上內(nèi)容基本上包含了 Man Page 的所有信息,但這些并非都是必須的流译,不同的命令和軟件可以只包含其中的部分內(nèi)容彩库,或者再添加一些其他部分。其中重要的部分主要是:NAME先蒋、SYNOPSIS骇钦、DESCRIPTION 和 OPTIONS,我們可以根據(jù)這幾部分對命令有一個比較完整的了解竞漾,可以實現(xiàn)大部分場景的應(yīng)用眯搭。
__使用方法__:
| 按鍵 | 所進行的操作 |
| ------ | ------------------ |
| 空格 | 向下翻頁 |
| Page Down | 向下翻頁 |
| Page Up | 向上翻頁 |
| Home | 跳至首頁 |
| End | 跳至尾頁 |
| /string | 以當(dāng)前頁為基準(zhǔn)向下進行搜索 |
| ?string | 以當(dāng)前頁為基準(zhǔn)向上進行搜索 |
| n / N | 搜索時,n 用于繼續(xù)下一個搜索业岁,N 為反方向搜索 |
| q | 推出 man page |
- 關(guān)于搜索:在 man page 中只需要輸入 `/` 或 `鳞仙?`,然后輸入要搜索的關(guān)鍵詞即可進行搜索
- __-k__ 選項:當(dāng)我們需要查找某一命令笔时,但又不知道該命令的完整名稱時可以使用 -k 參數(shù)進行模糊查找
```
$ 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 選項可以將所有包含該關(guān)鍵字的 man page 列出
```
- man page 的級別:在 man page 的首行我們可以看到類似 `CD(1)` 這樣的顯示棍好,其中 `(1)` 中的數(shù)字代表了 man page 的級別,一個命令可能同時包含不同級別的 man page允耿。
| 數(shù)字 | 代表內(nèi)容 |
| ------ | ------------ |
| __1__ | __使用者在 shell 環(huán)境中可以操作的命令或可執(zhí)行文件__ |
| 2 | 系統(tǒng)內(nèi)核可調(diào)用的函數(shù)與工具 |
| 3 | 一些常用的函數(shù)或函數(shù)庫借笙,大部分為 C 的函數(shù)庫 |
| 4 | 配置文件的說明,通常為 /dev 下的文件 |
| __5__ | __配置文件或某些文件的格式__ |
| 6 | 游戲 |
| __7__ | __慣例與協(xié)議__ |
| 8 | 系統(tǒng)管理員可用的命令 |
| 9 | 與內(nèi)核相關(guān)的文件 |
實際中的級別要復(fù)雜的多较锡,但一般可以劃分為以上幾類业稼,其中 1、5蚂蕴、7 是我們經(jīng)常查看的級別低散。
- __-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 默認(rèn)打開的級別順序為:`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` 來獲取更多關(guān)于 man 命令的信息 : -)