linux會預設記錄1000條歷史記錄,可通過#echo $histsize 檢視,如果講histsize更改為2000,那麼會預設儲存2000條。1000條記錄儲存在家目錄的 .bash_history 中,僅當使用者正常退出當前shell時,當前shell中執行的命令才會儲存到 .bash_history 檔案中,如果刪除家目錄下的.bash_history,會吧所有使用者的歷史命令記錄刪除。
#history 【檢視當前歷史命令記錄,記錄會實時跟新】
#history -c 【清除當前使用者在當前終端所有執行的命令】
#!! 【執行上一條指令】
#!n 【n表示命令歷史中第n條指令】
#!字串 【字串大於等於1,!pw表示執行命令歷史中最近一次以「pw」開頭的命令】
#last 【檢視歷史登入資訊,history檢視歷史命令資訊】
tab 會補全檔名、路徑、指令
連續兩次 tab ,會把所有命令或者檔案名列出來
[root@thinkpad ~]# init 連按兩次tab
init initctl
alias 別名
#alias 【列出所有預設alias】
alias cp='cp -i'
alias mv='mv -i'
語法:alias [別名]=['具體命令']
unalias [別名] 【解除別名】
萬用字元
* 萬用字元,匹配乙個或者多個字元
?萬用字元,匹配乙個字元
| 管道符
把前面的命令執行的結果丟給後面的命令
#cat /etc/passwd |wc -l 【wc -l 的意思是顯示當前文件的行數,需要反向重定向wc -l < 1.txt】
#cat /etc/passwd >> 1.txt
作業控制:
ctrl+z 暫停
fg 恢復暫停的命令
bg 切換至後台執行
ctrl+c 終止
示例:# vi 1.txt
輸入內容sadsfdfadfadfafdasdf
按 esc ,使用ctrl+z 暫停
#vi 1.txt
[1]+ stopped vi 1.txt 【vi命令已經停止】
使用 fg 命令恢復,回到bi視窗。
再次暫停,
#jobs 【檢視被暫停或者後台執行的任務】
[1]+ stopped vi 1.txt
#bg 【暫停的命令去後台執行】
[1]+ vi 1.txt &
[1]+ stopped vi 1.txt
vi命令不支援後台執行
#vmstat 1 > /tmp/1.log
^z 【暫停命令】
[2]+ stopped vmstat 1 > /tmp/1.log
#jobs
[1] - stopped vi 1.txt
[2]+ stopped vmstat 1 > /tmp/1.log +表示優先順序更高
#bg 2
[2]+ vmstat 1 > /tmp/1.log &
多個被暫停的任務會有編號,jobs可以檢視所有任務,那麼使用fg,bg的時候就需要有編號。bg2 把第二個被暫停的任務丟到後台跑起來,丟入後台需要使用在命令後加乙個&符號,中間有個空格。
如何關閉後台的命令
1、fg 編號
ctrl + c
2、關閉了當前的shell,開啟其他shell使用jobs不能顯示後台或者暫停的命令。
#ps aux |grep vmstat
root
9433 0.0 0.0 6180....................................... vmstat 1
root
9435 0.0 0.0 103308 ................................. grep vmstat 【紅色為pid號碼】
#kill 9433 【ps aux 可以找到所有程序,並顯示pid號碼,使用kill pid可以殺死程序】
#kill -p [pid] -p 強制終止
注:#vmstat 1 >/tmp/1.log & 【&的作用是放入後台,並且顯示pid號碼】
#vmstat 1 > /tmp/1.log 2>&1 &
檢測到的狀態,正確的資訊輸入到1.log, 錯誤的資訊也輸入到1.log檔案內,&1表示前面的檔案1.log, 最後的 & 表示放到後台執行。
如果不加最後的 &會一直在前台執行,沒辦法輸入其他命令,所以一定要加上。
高階shell特性
如果歷史命令和命令補充等有用的shell特性不能工作,請看一下內容。b 1 環境變數 b bash shell 維護大量已經執行命令 多種配置引數的設定 正在操作的環境等資訊,其中很多資訊儲存在 shell 環境中,因此稱作 環境變數 environment variable 可以通過輸入 prin...
Shell學習之Shell特性 一
這個不說了,我們在輸入命令的時候,按tab鍵補全。history 歷史命令記錄 上下鍵 切換歷史命令 number 執行對應number的歷史命令 string 重新執行一遍含有string的最近的歷史命令 執行上一條命令 alias 檢視臨時別名 alias 別名 命令 定義別名 unalias ...
Shell程式設計 Shell函式
shell函式 1.將命令序列按格寫在一起 2.可方便重複使用命令序列 3.shell函式定義 function 函式名 4.呼叫函式的方法 函式名 引數1 引數2 5.shell函式應用示例 1 兩個數字求和 要求 通過sum 定義函式 兩個數求和 方法一 root localhost vim d...