Linux 历史命令巧用

转载出处:http://hi.baidu.com/nicker2010/item/2062bf09dd20ae3ba2332aef

我们知道bash提供了命令历史记录的功能,我们可以使用history命令查询历史命令。history命令的用法如下:

history [n]        <--n为数字,表示列出最近的n条命令,不带参数的history表示列出目前内存内所有的history命令

history -c        <--将目前shell中所有的history命令删除

history -d offset

history -arw [filename]        <--a表示将目前新增加的命令写入到histfiles中,默认写到~、。bash_history文件中;r表示将histfiles中的命令读入目前shell的history记忆中;-w表示将目前shell的history记忆中的内容写入到histfiles中。

history -p arg [arg ...]

history -s arg [arg ...]

具体可以参加man history,在查找一下(输入/history,按n键向下查找)。

[root@mail ~]# history 10
   80  hostname
   81  cat /etc/hosts
   82  ifconfig eth0
   83  cat /etc/sysconfig/network
   84  cat /etc/selinux/config
   85  vi /etc/selinux/config
   86  service iptables stop
   87  service iptables status
   88  yum install bind bind-chroot caching-nameserver -y
   89  history 10

系统注销时候,会将最近的HISTSIZE条记录到文件中。默认的HISTSIZE为1000.

[root@mail ~]# echo $HISTSIZE
1000

其他的关于history的命令有:

!number        <--执行第number条命令

!command        <--由最近的命令向前搜索开头为command的那个命令

!!        <--执行上一条命令

[root@mail ~]#  history 10
   82  ifconfig eth0
   83  cat /etc/sysconfig/network
   84  cat /etc/selinux/config
   85  vi /etc/selinux/config
   86  service iptables stop
   87  service iptables status
   88  yum install bind bind-chroot caching-nameserver -y
   89  history 10
   90  echo $HISTSIZE
   91   history 10
[root@mail ~]# !87
service iptables status
iptables: Firewall is not running.
[root@mail ~]# !ech
echo $HISTSIZE
1000
[root@mail ~]# !!
echo $HISTSIZE
1000
[root@mail ~]# !87
service iptables status
iptables: Firewall is not running.
[root@mail ~]# !!
service iptables status
iptables: Firewall is not running.

通常我们可以利用上下键来查看前一个/后一个命令。

你可能感兴趣的:(linux,history,记录,历史)