history
history 命令可以用來顯示曾執行過的命令,也可以根據顯示的治療來重新執行需要的命令
n 顯示n個最近的記錄
-a 添加記錄
-r 讀取記錄,但不會添加內容記錄
-w 覆蓋原有的history 文件
-c 清除記錄
-d<編號>[n] 刪除指定n條記錄
-n<文件> 讀取指定文件
-r<文件> 讀取文件但不記錄
-w<文件> 覆蓋原有文件
例1
復制代碼代碼如下:
[root@redhat ~]# history #查看所有執行過的命令
1 ls
2 pwd
3 fc -l
4 history
復制代碼代碼如下:
[root@redhat ~]# history 2 #顯示2條
4 history
5 history 2
復制代碼代碼如下:
[root@redhat ~]# !4 #執行編號是4的命令,注意感歎號
history
1 ls
2 pwd
3 fc -l
4 history
5 history 2
6 history
復制代碼代碼如下:
[root@redhat ~]# history -c #清除歷史記錄
!$ 引用前一個命令的最後一個參數
復制代碼代碼如下:
[tank@localhost workspace]$ ls -all
總用量 1060
drwxrwxr-x. 15 tank tank 4096 8月 6 16:26 .
drwx------. 60 tank tank 4096 8月 15 16:13 ..
-rw-r--r-- 1 root root 2466 7月 23 18:02 1.html
drwxr-xr-x 7 tank tank 4096 7月 17 03:02 ckeditor
drwxr-xr-x. 2 tank tank 4096 5月 29 00:08 database
復制代碼代碼如下:
[tank@localhost workspace]$ !$ #取得-all
-all
bash: -all: command not found
例2
復制代碼代碼如下:
[root@redhat ~]# ! -N #執行倒數第N條命令
[root@redhat ~]# !! #執行上一條命令
fc
fc 命令可以編輯曾今執行過的命令,並以批處理的形式讓這些命令重新執行
-1 列出第一個指令和最後一個指令之間額度所有指令
-n 不顯示編號
-r 反向排序
-e<文本編輯器> 指定文本編輯器編輯,默認Vi
-s<指令> 選擇指令執行
例1
復制代碼代碼如下:
[root@redhat ~]# fc -l #查看執行過的命令,根history,很相似
348 eval echo "aaa" ls
349 eval echo "aaa";ls
350 exec ls
351 apt-get install mysql
352 apt-get install mysql-server
353 exit
354 expr 4%6
355 expr 4 % 6
356 expr 4<6
357 expr 4'<'6
358 expr 6 '+' 5
359 expr 6 '*' 5
360 expr 6 '>' 5
361 fc -l
362 man fc
363 fc --help
復制代碼代碼如下:
[root@redhat ~]# fc -s 358 #執行第358個命令
expr 6 '+' 5
11
復制代碼代碼如下:
[root@redhat ~]# fc 358 #編輯第358個命令