18.歷史記錄

Bash shell 有支援歷史記錄功能,它會把您過去鍵入的命令,記錄在某一檔案中(~/.bash_history),供您往後再次取用。

歷史記錄的筆數則視環境設定的大小而定(HISTSIZE 這個環境變數定義其大小),預設值是 1000 筆。history 這個指令,可以秀出這 1000 筆記錄,每筆記錄都有編號,按佇列的方式排列,新的記錄會將舊記錄往前擠出。換言之,您看到的記錄可能是 18 ~ 1017 (共 1000 筆),而不一定每次都是由 1 ~ 1000

取用歷史記錄的方法

取用歷史記錄的方法如下:

先用 history | more 來觀看舊指令的記錄,如下所示:

 1301  which uuencode
 1302  rpm -qf /usr/bin/uuencode
 1303  which uuencode
 1304  ls
 1305  ls -la dataf5
 1306  cat dataf5
 1307  uuencode dataf5 dataf5 > e5.txt
 1308  vi e5.txt
 1309  clear
 1310  uuencode dataf5 HELLO > e5.txt
 1311  vi e5.txt
 1312  clear
 1313  cd ..
 1314  cd ..
 1315  cd work
 1316  ls
 1317  clear
 1318  ls -la *.gz | more
 1319  uuencode cjkmix2.tar.gz cjkmix2.tar.gz > m.txt
 1320  vi m.txt
 1321  clear
 1322  uuencode cjkmix2.tar.gz cjkmix2.tar.gz | mail -s "give u a file" ols3@localhost
 1323  mail
 1324  vi m2.txt
 1325  vi m2.txt
 1326  clear
 1327  uudecode m2.txt -o cc.tar.gz
 1328  ls -la c*.gz
 1329  clear

擇定之後(比如:您要的是第 1312 clear 這道指令),只要下 !1312 即可再次執行 clear

! 1322 則可再次執行 uuencode cjkmix2.tar.gz cjkmix2.tar.gz | mail -s "give u a file" ols3@localhost