linux shell提供了历史命令记录功能,通过对历史命令的调用,我们可以在shell提示符下节约大量的时间和命令输入。
linux系统Shell历史命令默认保存在用户主目录下的".bash_history"文件中。当然,我们也可以通过修改坏境变量"HISTFILE"来设置Linux Shell历史命令记录文件的路径,如在用户目录下的".bashrc"文件中的添加行"export HISTFILE=~/history/history.file",重新登录bash即生效。要查看Linux shell历史命令,我们可以直接在命令提升符下输入:
# history
如果只是查看最近的10条历史命令,可以在命令提升符下输入:
# history 10
在linux系统的默认配置下,重复的历史命令都会存入".bash_history"文件。如果不希望在输入history命令查看历史命令时,看到连续重复的历史命令,我们可以在".bashrc"中加入下面两行:
export HISTCONTROL=ignoreboth
shopt -s histappend
其中第一行的命令的作用为“移除Linux shell命令历史记录中连续重复的文件”,第二行的作用为“shell 退出时,将shell 的历史记录附加到您的记录文件”。
更灵活的Linux Shell历史命令调用方法:
除了使用history命令查看历史命令外,Linux系统还提供了非常灵活的Shell历史命令调用方法,我们可以在Shell命令提示符或者Shell脚本中使用它们:
!! 前一条命令;
!:0 不带参数的前一条命令名;
!^ 前一条命令的第一个参数;
!:n 前一条命令的第n个参数;
!$ 前一条命令的最后一个参数;
!* 前一条命令的所有参数,命令名除外;
!n 第n条命令;
!-n 倒数第n条命令;
!str 最近一条以str开头的命令;
!?str 最近一条包含str的命令;
^a^b 将上一条命令名中的a替换为b;
!:gs/a/b 将上一条命令的所有a替换为b(包含命令名和参数)。
linux系统Shell历史命令默认保存在用户主目录下的".bash_history"文件中。当然,我们也可以通过修改坏境变量"HISTFILE"来设置Linux Shell历史命令记录文件的路径,如在用户目录下的".bashrc"文件中的添加行"export HISTFILE=~/history/history.file",重新登录bash即生效。要查看Linux shell历史命令,我们可以直接在命令提升符下输入:
# history
如果只是查看最近的10条历史命令,可以在命令提升符下输入:
# history 10
在linux系统的默认配置下,重复的历史命令都会存入".bash_history"文件。如果不希望在输入history命令查看历史命令时,看到连续重复的历史命令,我们可以在".bashrc"中加入下面两行:
export HISTCONTROL=ignoreboth
shopt -s histappend
其中第一行的命令的作用为“移除Linux shell命令历史记录中连续重复的文件”,第二行的作用为“shell 退出时,将shell 的历史记录附加到您的记录文件”。
更灵活的Linux Shell历史命令调用方法:
除了使用history命令查看历史命令外,Linux系统还提供了非常灵活的Shell历史命令调用方法,我们可以在Shell命令提示符或者Shell脚本中使用它们:
!! 前一条命令;
!:0 不带参数的前一条命令名;
!^ 前一条命令的第一个参数;
!:n 前一条命令的第n个参数;
!$ 前一条命令的最后一个参数;
!* 前一条命令的所有参数,命令名除外;
!n 第n条命令;
!-n 倒数第n条命令;
!str 最近一条以str开头的命令;
!?str 最近一条包含str的命令;
^a^b 将上一条命令名中的a替换为b;
!:gs/a/b 将上一条命令的所有a替换为b(包含命令名和参数)。