学习啦 > 学习电脑 > 操作系统 > Linux教程 > linux shell历史命令详解

linux shell历史命令详解

时间: 佳洲1085 分享

学习啦在线学习网linux shell历史命令详解

  现在大多数的Linux系统都使用bash作为默认的shell吧,下面由学习啦小编为大家整理了bash的history命令管理功能的相关知识,希望能对大家有帮助!

  linux shell历史命令

  1.一些变量说明

学习啦在线学习网   $HISTFILE bash启动的时候会读取~/.bash_history文件并载入到内存中,这个变量就用于设置.bash_history文件,bash退出时也会把内存中的历史回写到.bash_history文件

  $HISTSIZE 设置bash会员期间历史包含的命令数量

  $HISTFILESIZE 设置历史文件中实际存储的命令数量

  2.显示历史命令

学习啦在线学习网   history 显示全部历史

  history 数字 显示之前执行过的若干命令,例:history 2 显示执行过的上两条命令

学习啦在线学习网   使用上下箭头键也可以查看上一条根下一条命令,

  3.运行历史命令

  !! 运行上一条命令

  !88 运行第88条命令

  !88 /test 运行第88条命令并在命令后面加上/test

  !?CF? 运行上一个包含CF字符串的命令

  !ls 运行上一个ls命令

  !ls:s/CF/l 运行上一个ls命令,其中把CF替换成l

学习啦在线学习网   fc 编辑并运行上一个历史命令

  fc 66 编辑并运行第66个历史命令

学习啦在线学习网   fc -e /usr/bin/vim 66 使用vim编辑第66个命令并运行

  4.搜索历史命令

学习啦在线学习网   使用ctrl+r搜索历史中的字符串,重复按ctrl+r可以在历史命令列表中不断的向前搜索包含字符串的命令,回车就会执行查找的命令

  5.清空历史命令

  history -c

  6.写history

  history -w 让bash将历史命令立即从内存写到.bash_history文件

  history -a 将目前新增的 history 历史命令写入.bash_history文件

  7.history历史命令记录删除

  修改/etc/profile将HISTSIZE=1000改成0或1

学习啦在线学习网   清除用户home路径下.bash_history

  8.history配置

  运行 set | grep HISTFILE

  显示:HISTFILE=/root/.bash_history

  HISTFILESIZE=1000

  在.bash_profile文件中添加

学习啦在线学习网   HISTFILE=/root/history

  export HISTFILE

  重新登录后历史命令都会写入到/root/history文件中

  其余的一些设置可以在.bashrc文件中设置

学习啦在线学习网   export HISTCONTROL=ignoredups #忽略重复的命令

学习啦在线学习网   export HISTIGNORE=”[ ]*:&:bg:fg:exit” #忽略由冒号分割的这些命令

学习啦在线学习网   export HISTFILESIZE=1000 #设置保存的历史命令的文件大小

学习啦在线学习网   export HISTSIZE=100 #设置保存的历史命令的条数

  技巧:

  shopt -s histappend 在shell中执行这个命令可以使shell保存历史命令的时候使用追加的方式,因为默认是覆盖,在多终端的清空下,最后退出的终端灰覆盖以前的历史记录

学习啦在线学习网   在history历史记录中显示时间和执行命令的用户 echo ‘export HISTTIMEFORMAT=”%F %T whoami “‘ >> /etc/profile

3575543