shell訓練計畫30天之第一天

2021-09-26 05:32:59 字數 1328 閱讀 7510

一、什麼是shell

1.是命令直譯器

2.支援特定的語法(邏輯判斷、迴圈)

3.每個使用者可以有自己特定的shell

4.centos7預設shell為bash(bourne agin shell)

5.其他的shell :zsh、ksh

二、命令歷史

1.按向上方向鍵檢視歷史命令

2.歷史命令檔案存在於使用者家目錄下的.bash_history資料夾下(root使用者存放路徑:/root/.bash_history)

3. history命令可以檢視歷史命令;-c 清空歷史命令(記憶體中),但是刪除不了檔案中的歷史命令記錄

4.$histsize變數用於設定歷史命令保留數量

5.只有退出終端時,歷史命令會由記憶體寫入檔案

6.$histsize環境變數在/etc/profile檔案下修改(source 後配置方能生效)

7.通過更改histtimeformat變數可以更改history顯示的格式(histtimeformat="%y/%m/%d %h:%m:%s")

8.永久更改history的方式:修改/etc/profile檔案,在$histsize下面新增histtimeformat="%y/%m/%d %h:%m:%s"(年月日時分秒),然後source一下。

9.永久儲存歷史命令chattr +a ~/.bash_history

10.!n(n為歷史命令的序號)可以執行指定的歷史命令

11.!echo 倒序查以echo開頭的歷史命令

三、命令補全

1.tab鍵,按一下會自動補全命令,如果有多條以該字母開頭的命令按兩下會將其全部顯示出來

2.引數補全。linux預設不支援,需要安裝bash-completion包後重啟系統

3.別名 alias 別名=『實際命令』 直接輸入alias會顯示系統中所有別名

4.alias的配置檔案存在於家目錄的bashrc和/etc/profile.d中,如果想要永久生效需要在這些檔案中修改,修改了家目錄的bashrc檔案只對當前使用者有用,修改了/etc/profile.d檔案則全域性生效。unalias 別名 可以刪除別名

四、萬用字元

1.* 表示通配

2.? 表示乙個任意的字元

3.[0-9] 表示乙個範圍0到9 或者a到z

4. 表示陣列,需要加逗號,或的意思

五、輸入輸出重定向

1. > 正確內容重定向(覆蓋)

2. >>正確內容重定向(追加)

3. 2>錯誤內容重定向(覆蓋)

4. 2>>錯誤內容重定向(追加)

5. &>所有內容重定向(覆蓋)

6. < 輸入重定向 輸入的物件必須是命令

shell訓練計畫30天之第六天

一 什麼是shell 1.shell是一種程式語言 2.shell可以使用邏輯判斷和迴圈等語法 3.shell支援自定義函式 4.shell是系統命令的集合 5.shell指令碼可以實現自動化運維,可以大大增加運維的效率 6.shell其實就是把系統的命令寫進檔案中,有點類似於windows的批處理...

shell訓練計畫30天之第七天

一 if判斷檔案 目錄屬性 f file 判斷是否是普通檔案,且存在 bin bash f tmp aminglinux if f f then echo f exist else touch f fi d file 判斷是否是目錄,且存在 bin bash f tmp aminglinux if ...

shell訓練計畫30天之第十九天

例36 乙個數字的行 要求 用shell實現,把乙個文件中只有乙個數字的行給列印出來 要點 用sed替換所有非數字的字元為空的,剩下的就是數字 bin bash while read line don echo line sed s 0 9 g wc l if n eq 1 then echo li...