bash的基礎特性之一:
命令歷史:shell進程會在其會話中保存此前用戶提交執行過的命令;
~]# history
????定制history的功能,可通過環境變量實現:
????HISTSIZE:shell進程可保留的命令歷史的條數;
????HISTFILE:持久保存命令歷史的文件;
????.bash_history
????HISTFILESIZE:命令歷史文件的大??;
????命令用法:
????????history [-c] [-d 偏移量] [n]
????????或 history -anrw [文件名]
????????或 history -ps 參數 [參數...]
????-c: 清空命令歷史;
????-d offset:刪除指定命令歷史
????-r: 從文件讀取命令歷史至歷史列表中;
????-w:把歷史列表中的命令追加至歷史文件中;
????history #:顯示最近的#條命令;
????~]#history -d 676 5? 刪除從676條命令起的5條命令
????????調用命令歷史列表中的命令:
????????!#:再一次執行歷史列表中的第#條命令;
????????!!:再一次執行上一條命令;
????????!STRING:再一次執行命令歷史列表中最近一個以STRING開頭的命令;
????????注意:命令的重復執行有時候需要依賴于冪等性;
????????(能重復執行的是之前成功了的命令)
????????調用上一條命令的最后一個參數:
????????快捷鍵:ESC, .
????????字符串:!$
????????控制命令歷史記錄的方式:
????????環境變量:HISTCONTROL
????????ignoredups:忽略重復的命令;
????????ignorespace:忽略以空白字符開頭的命令;
????????ignoreboth:以上兩者同時生效;
????????修改變量的值:
????????????NAME='VALUE'? (只對當前shell有效)