1. 程式人生 > >Linux作業系統之shell與shell基本操作

Linux作業系統之shell與shell基本操作

一、shell與shell基本操作

    1.1、shell基本功能與概念

        shell是使用者和Linux核心之間的介面程式,作為人機互動的橋樑。

        功能有6方面:命令解釋執行,檔名及各種替換、I/O重定向、通訊管道建立、系統環境設定和shell程式設計。

        shell的另一個重要特性就是它自身就是一個解釋型的程式設計語言。

    1.2、字元與保留字

           1.2.1、字元

                白空格:在Unix/Linux系統中,空格和Tab鍵稱為白空格,主要用於命令列中命令名、引數以及選項的分隔。在特殊情況下,白空格中也可包含回車字元。

                萬用字元

                萬用字元含義舉例
模式串意義
*當前目錄下所有檔名 , 但不包含以“.”開頭的檔案。eg: abc是,但.abc 不是
*Text*當前目錄下所有檔名中包含有Text的檔案,但不包括“.”開頭的檔案。
[ab-fm]*當前目錄下所有以a,b,c,d,e,f和m開頭的檔案
[ab-fm]?當前目錄下所有以a,b,c,d,e,f和m開頭且後面只跟一個字元的檔名。
[!ab-fm]?或[^ab-fm]?當前目錄下所有不以a,b,c,d,e,f和m開頭且後面只跟一個字元的檔名。
/dev/sd?目錄/dev下所有以sd開頭且只有三個字元的檔名。

            註釋符與註釋

                在所有程式語言中都有註釋,以增加程式的可讀性。在shell命令或shell程式設計中,規定從字元“#”開始以後到末行的部分作為註釋,因此以“#”開頭的行是註釋行。(特例:$#表示命令列引數的個數,而${#name}表示變數name的值作為字串的長度。)

                若在行中需要使用“#”引導註釋,則“#”前至少要有一個空白格。

           轉義字元

                   Linux的部分特殊字元

字元

意義

\a

響鈴符

\b

退格符

\f

換頁

\n

換行

\x??

十六進位制表示

\0???

八進位制表示

\t

Tab鍵

\v

垂直進位制符

\\

\

\'

'

\”

"

\e

ESC

               1.2.2、特殊鍵

               Linux系統部分特殊鍵

特殊鍵意義
Ctrl+D結束當前程式輸入或結束當前程式,或從系統中登出
Ctrl+C終止當前程式的執行
Ctrl+\終止當前程式的執行(系統內部處理時不同於Ctrl+C),可能產生記憶體映像檔案
Ctrl+Z掛起當前程式執行
Ctrl+S/Ctrl+Q暫停/繼續螢幕的輸出滾動,必須配合使用
ScrolLock暫停/繼續螢幕的輸出滾動,開關鍵
Ctrl+Alt+Del預設動作為重啟系統
Alt+F#字元終端切換,如Alt+F2將終端切換至F2
Ctrl+Alt+F#從圖形介面切換終端到字元終端,如Ctrl+Alt+F1從圖形介面切換至F1

             1.2.3、保留字

                    任何程式語言或系統都有一定數量的保留字,bash的部分保留字如下。

                !、[, ]、(, )、{, }、break、continue、cd、echo、eval、exec、exit、export、funtion、getopts、hash、pwd、read、readonly、return、select、set、shift、test、time、trap、type、ulimit、unset、unmask、wait、for、do、done、case、in、esac、if、else、elif、fi、while、until... ...