您的位置:首页 > 运维架构 > Linux

在Linux命令终端中查看和编辑曾执行过的命令

2016-01-30 11:45 671 查看
history

history 命令可以用来显示曾执行过的命令,也可以根据显示的治疗来重新执行需要的命令

n 显示n个最近的记录
-a 添加记录
-r 读取记录,但不会添加内容记录
-w 覆盖原有的history 文件
-c 清除记录
-d<编号>
删除指定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个命令
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux命令 Linux