Linux 命令历史

简介:

命令历史:shell进程会在其会话中保存此前用户提交执行过的命令;

~]#history

定制history的功能,可通过环境变量实现;

HISTSIZE:shell进程可保留的命令历史的条数;

~]# echo $HISTSIZE

1000

HISTFILE:持久保存命令历史的文件;

.bash_history

~]# cat .bash_history

HISTFILESIZE:命令历史文件的大小;

~]# echo $HISTFILE

/root/.bash_history

~]# echo $HISTFILESIZE

1000

                    

命令用法:

  history [-c] [-d 偏移量] [n]

  或history -anrw [文件名]

  或history -ps 参数 [参数...]

   -a:追加本次会话新执行的命令历史列表至历史文件中

   -c:清空命令历史;

   -d:删除指定命令历史

   -r:从文件读取命令历史至历史列表中

   -w:把历史列表中的命令追加至历史文件中

   history #:显示最近的#条命令

                   

调用命令历史列表中的命令:

  !#:再一次执行历史列表中的第#条命令

  !!:再一次执行上一条命令:

  !STRING:再一次执行命令历史列表中最近一个以STRING开头的命令

      注意:命令的重复执行有时候需要依赖于幂等性;

调用上一条命令的最后一个参数;

快捷键:ESC,.

        字符串:!$

控制命令历史记录的方式:

环境变量:HISTCONTROL

~]# echo $HISTCONTROL

     ignoredups     #忽略重复的命令;

     ignorespace:   忽略以空格开头的命令

     ignoreboth:    以上两者同时生效

修改变量的值:

  NAME='VALUE'

 ~]#HISTCONTROL=ignorespace


命令示例:

可保留命令条数:

1
2
[root@note1 ~] # echo $HISTSIZE            #保留1000条
1000

历史文件位置:

1
2
[root@note1 ~] # echo $HISTFILE            #由于是隐藏文件,可使用ls -a查看
/root/ .bash_history

清空history:

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@note1 ~] # history -c       #清空历史
[root@note1 ~] # history          #没有命令了
     1   history
[root@note1 ~] # cat -n .bash_history         #清除的只是history中记录.bash_history没有清空
      1   history
      2   cat  .bash_history 
      3   history  -r
[root@note1 ~] # history -r       #使用-r参数读书命令历史(.bash_history)到history中
[root@note1 ~] # history          #再次输入history,能查看历史命令了
     1   history
     2   history  -r
     3   history
     4   cat  .bash_history

调用历史命令列表中的命令:

历史命令中第292条命令是curl -I www.baidu.com

1
2
3
4
5
6
7
8
9
10
11
12
13
14
   290   echo  $HISTFILE
   291   echo  $HISTFILESIZE
   292  curl -I www.baidu.com
   293   history
[root@note1 ~] # !292                       #!292表示执行第292条历史命令
curl -I www.baidu.com
HTTP /1 .1 200 OK
Server: bfe /1 .0.8.14
[root@note1 ~] # !curl                      #!curl表示执行最近一次带有curl的命令
curl -I www.baidu.com
HTTP /1 .1 200 OK
Server: bfe /1 .0.8.14

调用上一条命令最后一个参数:

1
2
3
[root@note1 ~] # echo $HISTFILESIZE
1000
[root@note1 ~] # ls $HISTFILESIZE           # $HISTFILESIZE参数是按ESC键再按.回车后显示的

 



      本文转自cix123  51CTO博客,原文链接:http://blog.51cto.com/zhaodongwei/1832758,如需转载请自行联系原作者




相关文章
|
18天前
|
Web App开发 Linux 网络安全
工作中常用到的Linux命令
工作中常用到的Linux命令
|
18天前
|
Web App开发 Java Linux
Linux之Shell基本命令篇
Linux之Shell基本命令篇
Linux之Shell基本命令篇
|
5天前
|
机器学习/深度学习 缓存 监控
linux查看CPU、内存、网络、磁盘IO命令
`Linux`系统中,使用`top`命令查看CPU状态,要查看CPU详细信息,可利用`cat /proc/cpuinfo`相关命令。`free`命令用于查看内存使用情况。网络相关命令包括`ifconfig`(查看网卡状态)、`ifdown/ifup`(禁用/启用网卡)、`netstat`(列出网络连接,如`-tuln`组合)以及`nslookup`、`ping`、`telnet`、`traceroute`等。磁盘IO方面,`iostat`(如`-k -p ALL`)显示磁盘IO统计,`iotop`(如`-o -d 1`)则用于查看磁盘IO瓶颈。
|
15天前
|
NoSQL Linux Shell
常用的 Linux 命令
常用的 Linux 命令
36 9
|
2天前
|
监控 Linux Windows
50个必知的Linux命令技巧,你都掌握了吗?(下)
50个必知的Linux命令技巧,你都掌握了吗?(下)
|
2天前
|
Linux Shell Windows
Linux 常用基本命令
Linux 常用基本命令
|
3天前
|
Ubuntu Linux Shell
linux免交互登陆远程主机并执行命令(密钥对和Expect)
linux免交互登陆远程主机并执行命令(密钥对和Expect)
|
3天前
|
Linux
【Linux】常用命令
【Linux】常用命令
24 0
|
3天前
|
安全 Ubuntu Linux
Linux 网络操作命令Telnet
Linux 网络操作命令Telnet
16 0
Linux 网络操作命令Telnet
|
4天前
|
Linux 数据安全/隐私保护
Linux常用命令实例带注释
Linux常用命令实例带注释
30 0