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

2018-02-28 11:50:23 6498

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

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个命令


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: