一、什麼是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...