《鳥哥 Linux 私房菜:基礎篇》Chapter 04 - 首次登入與線上求助


  • 第一篇: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。

  1. whoami 現在 user 為何人
  2. 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 了怎麼辦?

  1. $su root:切換回 root
  2. $yum -y install bc:安裝 bc
  3. $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 軟體)
  • [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 分成以下幾個部分:

  1. NAME:簡短的指令、資料名稱說明
  2. SYNOPSIS:簡短的指令下達語法(syntax)簡介
  3. DESCRIPTION:較為完整的說明(這部分最好仔細看看)
  4. OPTIONS:針對 SYNOPSIS 部分中,有列舉的所有可用的選項說明
  5. COMMANDS:當這個程式(軟體)在執行的時候,可以在此程式(軟體)中下達的指令
  6. FILES:這個程式或資料所使用或參考或連結到的某些檔案
  7. SEE ALSO:可以參考的,跟這個指令或資料有關的其他說明
  8. 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/

#鳥哥的 Linux 私房菜 #linux







你可能感興趣的文章

API 留言板練習-Part 3 : 增加[載入更多]功能

API 留言板練習-Part 3 : 增加[載入更多]功能

美克資訊有限公司 # Java 軟體工程師

美克資訊有限公司 # Java 軟體工程師

Git筆記 - 在本地端和Github傳遞repo

Git筆記 - 在本地端和Github傳遞repo






留言討論