- 第一篇:Linux 的規劃與安裝
- Chapter 00 計算機概論
- Chapter 01 Linux 是什麼與如何學習
- Chapter 02 主機規劃與磁碟分割
- Chapter 03 安裝 CentOS7.x
- Chapter 04 首次登入與線上求助
- 第二篇:Linux 檔案、目錄與磁碟格式
- 第三篇:學習 Shell 與 Shell Scripts
- 第四篇:Linux 使用者管理
- 第五篇:Linux 系統管理員
4.1 首次登入系統
我們走 Terminal 路線,沒有圖行介面,用終端機切換使用者,從 root 切換到 sunny。
whoami
現在 user 為何人su ~username~
切到另一個 user
4.2 文字模式下指令的下達
文字模式登入後所取得的程式,被稱為殼(Shell),Linux 的殼程式就是厲害的 bash!
4.2.1 開始下達指令
$ command [-options] parameter1 parameter2 ...
- 一行指令中第一個輸入:「指令(command)」或「可執行檔案(如 script)」
- 中括號 []:並不存在實際指令中,如 -h / --help
- parameter1 parameter2:吸附在選響後的參數,或者是 command 參數
- 空格:不論空幾格,shell 都視為一格
[sunny@li1676-99 root]$ ls -al ~
[sunny@li1676-99 root]$ ls -al ~
[sunny@li1676-99 root]$ ls -a -l ~
三個的結果是一模一樣的,因為空格視為一格。
4.2.2 基礎指令的操作
- 顯示日期與時間:date
- 顯示日曆:cal(可接的語法為
cal [month] [year]
) - 簡單好用的計算機:bc(
+ 加, - 減, * 乘, / 除, ^ 指數, % 餘數
,quit 離開計算機
)
什麼! bc: command not found 了怎麼辦?
- $su root:切換回 root
- $yum -y install bc:安裝 bc
- $bc:再測試看看應該就有囉
P.S. 記得切回原本的 user 哦!
指令模式下達指令時,有兩種主要情況:
- 該指令直接顯示結果,回到命令提示字元,等待下一個指令的輸入
- 進入到該指令的環境,直到結束該指令,才回到命令提示字元
4.2.3 重要的幾個熱鍵 [tab], [ctrl]-c, [ctrl]-d
- [tab]:命令補全、檔案補齊的功能
- command 後面時,是「命令補全」,如
ca[tab][tab]
- 第二個字之後,是「檔案補齊」,如
ls -al ~/.bash[tab][tab]
- 某些特殊情況,檔案補齊功能可能會變成「參數/選項補齊」,如
date --[tab][tab]
(要安裝 bash-completion 軟體)
- command 後面時,是「命令補全」,如
- [ctrl]-c:中斷目前程式
- [ctrl]-d:鍵盤輸入結束
- [shift] + {[Page Up]} / {[Page Down]}:翻頁
4.2.4 錯誤訊息的查看
[sunny@li1676-99 root]$ DATE
bash: DATE: command not found ### command 找不到
學會讀懂錯誤訊息~
4.3 Linux 系統的線上求助 man page 與 info page
[sunny@li1676-99 root]$ g[tab][tab]
Display all 103 possibilities? (y or n)
g 就有 103 個可能性了,背嗎?洋洋灑灑幾千個指令怎麼背呀!因此,主要在於理解「在什麼情況下,應該要使用哪方面的指令」,那我們怎麼查閱呢?
4.3.1 指令的 --help 求助說明
如果是指令,--help 可以很快速地取得選項、參數的說明。但如果你要使用的是從來沒有用過的指令,或是根本不是指令,而是檔案的「格式」時,那就得透過 man page。
4.3.2 man page
man:manual(操作說明)的簡寫。(空白鍵翻頁,q 離開)
輸入指令 man date
,你會看到如下圖的畫面,稱為 man page,這裡可以找到你大多需要的資料。
其中左上角的 DATE(1)
後面的 (1) 代表什麼呢?有 2, 3, 4... 嗎?有的!
- (1):使用者在 shell 環境中可以操作的指令或可執行檔
- (2):系統核心可呼叫的函數與工具等
- (3):一些常用的函數(function)與函式庫(library),大多為 C 的函式庫(libc)
- (4):裝置檔案的說明,通常在 /dev 下的檔案
- (5):設定檔或是某些檔案的格式
- (6):遊戲
- (7):慣例與協定等,如 Linux 檔案系統、網路協定、ASCII code 等說明
- (8):系統管理員可用的管理指令
- (9):跟 kernel 有關的文件
上述內容可用 man man
來取得更詳細的說明。
基本上 man page 分成以下幾個部分:
- NAME:簡短的指令、資料名稱說明
- SYNOPSIS:簡短的指令下達語法(syntax)簡介
- DESCRIPTION:較為完整的說明(這部分最好仔細看看)
- OPTIONS:針對 SYNOPSIS 部分中,有列舉的所有可用的選項說明
- COMMANDS:當這個程式(軟體)在執行的時候,可以在此程式(軟體)中下達的指令
- FILES:這個程式或資料所使用或參考或連結到的某些檔案
- SEE ALSO:可以參考的,跟這個指令或資料有關的其他說明
- EXAMPLE:一些可以參考的範例
4.3.3 info page
- info 與 man 的用途差不多,輸出格資訊不同
- info page 將文件拆成一個一個段落,每個段落用自己的頁面來撰寫,並且每個頁面種有類似網頁的超連結來跳到不同的頁面中,每個獨立頁面被成為一個節點(node)。
輸入 $info info
指令
4.3.4 其他有用文件
一般而言,指令或軟體製作者,會將說明書做成「線上說明文件」,會放在 /usr/share/doc
目錄。
4.4 超簡單文書編輯器:nano
輸入指令 $nano text.txt
資料來源
鳥哥的 Linux 私房菜: http://linux.vbird.org/linux_basic/