shell預習筆記
什麼是shell
命令直譯器,提供使用者和機器之間的互動
支援特定語法,比如邏輯判斷、迴圈
每個使用者都有特定的shell
centos預設的shell版本是bash
命令歷史
history命令
最大儲存一千條 echo $HISTSIZE
history -c 清除當前記憶體中的命令歷史
/etc/profile 修改命令歷史最大數值
HISTTIMEFORMAT="%Y/%m%wd %H%M%S"
永久儲存命令歷史 chattr +a ~/.bash_history
!! 表示執行上一條命令
!n n指數字,表示執行歷史中第n條命令
!字串 例如!pw表示執行命令歷史中最近一次以pw開頭的命令
命令補全和檔案補全
tab命令
連續敲兩次會把所有的命令或者檔名都列出來
yum install -y bash-completion 重啟系統自動補充引數
alias 別名
別名存放地址 .bashrc /etc/profile.d/ colorgrep.sh
取消自定義的別名 unalias restat
萬用字元
- 來匹配零個或多個字元
?匹配一個字元
【】範圍
{}範圍要加逗號
輸入/輸出重定向重定向 2>錯誤重定向
> 追加 2>>錯誤追加
+2> == &>
< 輸入重定向 (檔案到命令)
管道符、作業控制
ctrl z 暫停程序
ctrl c 結束程序
fg 命令恢復 bg 使它到後臺執行
jobs 列出後臺的程序
& 一次性到後臺執行
變數
path,shell預設的一個變數
shell預設的變數都是大寫的
path代替了所有常用命令的絕對路徑的設定
env 列出系統預設的全部變數
set 不僅可以顯示系統預設的變數,也可以顯示使用者的自定義變數(該變數只能在當前shell中生效)
變數名規則:字母、數字(不能在首位)、下劃線
變數值有特殊符號時需要用單引號括起來
全域性變數 export 變數名=等於變數值
unset 取消變數
環境變數配置檔案
bash可以重新開啟一個shell
/etc/profile 這個檔案預設了幾個重要變數
/etc/bashrc 這個檔案主要預設umask以及ps1
\u指使用者,\h指主機名,\w指當前目錄,\$指字元#(如果是普通使用者,則顯示為$)
.bash_profile 該檔案定義了使用者的個人化路徑與環境變數的檔名稱
.bashrc 該檔案包含專屬於自己的shell的bash資訊,當登入或每次開啟新的shell時,該檔案會被讀取
.bash_history 該檔案用於記錄命令歷史
.bash_logout 當退出shell時,會執行該檔案