shell 历史命令

我们在shell下敲击的每一个命令,就和浏览器的浏览历史记录一样,shell也会将这些命令记录下来,使用history命令,会显示当前用户的shell命令记录:

haixue@ubuntu:~$ history 
    1  sudo passwd root
    2  clear
    3  cd /home/
    4  cd /mnt/hgfs/share/
    5  ls
    6  rm linux-5.9.tar.xz 
    7  ls
    8  clear
    9  ls
   10  lsusb 
   11  clear
   12  cd /home/
   13  ls

我们使用命令回滚,就是根据当前的历史命令记录进行回滚的。

zhaixue@ubuntu:~$ cat ~/.bash_history 
sudo passwd root
clear
cd /home/
cd /mnt/hgfs/share/
ls
rm linux-5.9.tar.xz

如果你想进一步地了解每个命令的使用时间、用户,可以在~/.bashrc文件里添加一行配置:

HISTTIMEFORMAT="%F %T `whoami` "

重新生效这个配置文件,然后再次使用history命令,就可以看到每个命令更详细的使用记录了:

zhaixue@ubuntu:~$ source ~/.bashrc 
zhaixue@ubuntu:~$ history 
    1  2020-12-20 17:43:27 zhaixue  sudo passwd root
    2  2020-12-20 17:43:27 zhaixue  clear
    3  2020-12-20 17:43:27 zhaixue  cd /home/
    4  2020-12-20 17:43:27 zhaixue  cd /mnt/hgfs/share/
    5  2020-12-20 17:43:27 zhaixue  ls
    6  2020-12-20 17:43:27 zhaixue  rm linux-5.9.tar.xz

跟history相关的命令参数有:

  • # history:显示历史命令
  • # history -c:清空当前的历史命令
  • # history -w:将本机开机以来的命令写入~/.bash_history文件
《Linux三剑客》视频教程:Linux下开发工具vim、Git、Makefile、autotools、qemu、debug精讲,从零开始一步一步写项目的Makefile,提供企业级Makefile模板,Git操作实战,vim从新手到高手,一步一步打造类似Source Insight的IDE!详情点击:王利涛老师个人淘宝店:Linux三剑客