history本身就是Linux的一个常用命令,用来显示某用户过去执行过的shell命令的历史记录。
当你使用大量的命令进行测试和调试时,可能会忘记有用的命令。每个 shell 都有一个 history 命令的变体。它可显示曾经使用过的命令的历史记录。可以使用 history 来记录用来排除应用程序故障的命令。history 命令用于显示指定数目的指令命令,读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件。
如果希望执行之前历史记录中的命令,但又不想重新输入,该怎么办?
使用符号 ! 即可,可以使用符号 ! 执行指定序号的历史命令。
例如,要执行第 2 个历史命令,则输入!2,
在需要重新执行的命令的指定编号前添加 ! 即可再次执行。
(前面使用history命令显示历史命令记录,太长了......)
418 curl www.maixj.net
419 curl https://www.maixj.net/pics/nlogo.jpg
420 lsof
421 dig www.maixj.net
422 man dig
423 nslookup www.maixj.net
424 man nslookup
425 man dig
426 shutdown now
427 history
428 whoami
429 who am i
430 history
xinlin@ubuntu:~$!428
whoami
xinlin
xinlin@ubuntu:~$ !422
man dig
xinlin@ubuntu:~$
再次执行之前已经执行过的某个命令,现在除了使用上下箭头,有了新的方法:
xinlin@ubuntu:~$
xinlin@ubuntu:~$ history | tail
424 man nslookup
425 man dig
426 shutdown now
427 history
428 whoami
429 who am i
430 history
431 whoami
432 man dig
433 history | tail
xinlin@ubuntu:~$
然后使用!+编号的方法即可。
tail命令还可以假一个参数:tail -n 50,表示显示出最后50条记录。