一、歷史命令
bash提供存儲歷史命令的功能,下面來詳細介紹一下。
1、history命令
命令格式:history [options]
options:
不帶參數選項:顯示所有使用過的命令;
#(數字):顯示最近使用過的#條命令;
-c:清除目前shell中所有的歷史命令;
-d #:清除條#條命令;
-r:將歷史命令配置文件(默認~/.bash_history)中的內容讀到目前的shell中;
-a [FILE]:將新增的歷史命令導入到FILE中,不指定則保存到~/.bash_history中;
-w:將目前的所有的歷史命令寫入到歷史命令配置文件中;
(1)查看最近10條歷史命令方法一;
(2)查看最近10條歷史命令方法二;
(3)將歷史命令寫入到~/.bash_history中;
先來查一下文件中的內容;
更新此文件中的內容;
從上面的結果可以看到最后面的命令已被替換成最新的了,而且我們也發現一個問題,~/.bash_history文件最多只能存儲1000條記錄; 其實我們可以根據需要來修改這個值。
2、歷史命令的相關變量
(1)用戶退出時的持久保存位置
從上面的例子可知默認的保存位置為~/.bash_history,可以通過修改環境變量HISTFILE更換;
(2)文件中可以保存的最大條目
環境變量:HISTFILESIZE
(3) 命令保存的最大條目
環境變量:HISTSIZE
(4) 命令顯示控制
環境變量:HISTCONTROL
變量值的含義:
ignoredups:忽略重復的命令,連續的相同命令才會為重復
ignorespace:忽略以空白字符打頭的命令
ignoreboth:以上二者同時生效
3、bash調用歷史命令列表中的命令
!#:執行命令歷史中的第#條命令
!!:執行上一條
!string:執行命令歷史中最近一次以string開頭的命令
!$:調用上一條命令最后一個參數
按ESC松開后按“.” :功能同上
二、命令別名
bash支持為命令設置別名,以達到方便輸入和記憶的目的。
1、設置別名:alias命令
alias命令用法比較簡單,下面直接舉例說明:
使用命令設置的別名并不能永久生效,可以在~/.bashrc文件中設置別名;
2、撤消別名:unalias命令
-a:撤消所有別名
同樣,命令行中并不能真正撤消別名,還需要修改配置文件;
3、當命令別名與命令本身相同,如何才能不使用別名的定義來執行命令:
原創文章,作者:petmaster,如若轉載,請注明出處:http://www.www58058.com/3246
哇哦,提升飛速啊,贊
非常仔細,練習的一些習題也看得出很有心進行。 從業務角度考慮,可以嘗試實現:1. 如何實現history記錄命令執行時間 2. 實在history記錄永久保存
@stanley:好的,回頭我搞一下這兩個實際應用