linux學習筆記 shell

2021-06-08 16:11:10 字數 1856 閱讀 2753

shell(bash)

212一般可以將shell理解為乙個命令處理器:乙個讀取並解釋所輸入命令的程式。其次,shell還支援一些shell指令碼。

使用的shell型別,可以檢視環境變數echo $shell

系統可用的shell路徑儲存在 /etc/shells

改變登入shell可以使用chsh(change shell)命令,語法為:

chsh [-s shell] [userid]

區域性變數:程式中只存在於建立它的範圍之內的變數

全域性變數:可以在程式的任何地方使用的變數

一般的,bash中所有變數都是大寫的

顯示環境變數:

env或者

printenv

顯示shell變數

setbash中建立的變數預設是shell變數,例如 harley=cool

可以使用export命令匯出到環境中,例如 export harley,也可以一步完成這一動作

顯示乙個變數的值可以使用echo命令

例如:echo $  $和c語言中的取值運算子*有點類似

也可以省略{}

如果變數值中有空格或其他有特殊意義的元字元,需要引用起來,用\或者''、""

如果要復位或者叫刪除乙個命令,可以使用unset命令

shell選項

shell選項就像on/off開關一樣,當開啟乙個選項時,就說設定了這個選項

設定選項用:set -o option

關閉選項用:set +o option

o代表option的意思

要顯示shell選項,可以使用以下命令:

set -o

set +o

前者以一種容易閱讀的方式顯示所有shell選項的當前狀態;後者的以一種緊湊的方式顯示,這種資訊適合用作shell指令碼或者程式的資料

命令和定製

我們稱那些擁有特殊含義的字元為元字元

有時候,希望按字面上的含義使用元字元,而不使用其特殊的含義,這時需要告訴shell按照字面意**釋字元,這樣做時,稱為引用字元

可以使用 \ 字元引用,或者稱為轉義乙個元字元

弱引用:作用範圍內的大部分字元都被引用 "" ,\、`(反引號)、$ 除外

強引用:作用範圍內任何字元都被引用 ''、和\

用type命令檢視乙個命令是否是shell內建命令

路徑資訊儲存在path環境變數中

shell提示資訊儲存在ps1環境變數中

bashname命令可以抽取任何路徑名的最後一部分

fc -l、history命令檢視使用命令的歷史列表

通過歷史列表中的事件編號可以調取並執行特定的命令:

fc -s   s表示substitude,替換

在重新執行命令之前對命令進行小的修改

fc -s pattern=replacement number

如果不指定number,則認為是上一條命令

改變歷史列表大小,設定histsize環境變數

輸入命令的過程中,按下鍵可以實現自動補全

上面幾個功能實現的原理就是命令列編輯,有vi模式或者emacs模式

建立別名:alias [name commands]

移除別名:unalias name

臨時掛起別名:在命令前鍵入轉義字元\

初始化檔案

登入檔案:存放著所有希望在每次登入時自動執行的命令(.profile,可變)

環境檔案:存放著所有希望在新shell啟動時自動執行的命令(.bashrc,可變)

登出檔案:存放著希望在登出時執行的命令(可選)

登入檔案是設定path、pager等環境變數以及使用umask設定檔案建立掩碼的地方

環境檔案是中,設定不能在環境中儲存的自定義項,特別是shell選項、別名和函式

Linux學習筆記(Shell)

type ls ls is aliased to ls color auto 未加任何引數,列出 ls 的最主要使用情況 type cd cd is a shell builtin如果指令串太長的話,如何使用兩行來輸出?使用 enter cp var spool mail root etc cron...

Linux學習筆記 shell及shell命令

一 基本命令語法 1.快捷鍵 2.同行多命令的排列 3.設定別名 alias 別名 需要定義別名的命令 如 alias ll ls al 注意 4.輸出重定向 如 ls my.txt 瀏覽當前目錄的資訊,但是結果不再輸出到終端顯示,而是儲存到了my.txt檔案中 和 的區別 會覆蓋檔案原內容,則是在...

Linux學習筆記(一) Shell

先介紹幾個概念 cli即command lind inte ce,面向命令列的使用者介面,使用者輸入命令,核心執行,並在螢幕上顯示執行結果,這種互動的全過程是基於文字方式的。那麼誰來充當使用者與核心互動的使者或者橋梁呢?這就是shell了,單從字面意義上理解,shell就是殼,通俗地講就是內部核心與...