history 命令详解

| 选择喜欢的代码风格  

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

history 命令安装:


-bash/zsh: history: command not found

# Windows (WSL2)
sudo apt-get update sudo apt-get install bash

# Debian
apt-get install bash

# Ubuntu
apt-get install bash

# Alpine
apk add bash

# Arch Linux
pacman -S bash

# Kali Linux
apt-get install bash

# CentOS
yum install bash

# Fedora
dnf install bash

# OS X
brew install bash

# Raspbian
apt-get install bash

history 命令补充说明:


history 命令用于显示指定数目的指令命令,读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件。

该命令单独使用时,仅显示历史命令,在命令行中,可以使用符号 ! 执行指定序号的历史命令。例如,要执行第 2 个历史命令,则输入 !2

历史命令是被保存在内存中的,当退出或者登录 shell 时,会自动保存或读取。在内存中,历史命令仅能够存储 1000 条历史命令,该数量是由环境变量 HISTSIZE 进行控制。

history 命令语法:


history [-c] [-d offset ] [ n ]
history -anrw [ file name ]
history -ps arg [ arg... ]

history 命令选项:


-c  清空当前历史命令
-d offset 删除偏移量 OFFSET 处的历史记录条目。
-a  将历史命令缓冲区中命令写入历史命令文件中.
-n  Read all history lines not already read from the history file.
-r  将历史命令文件中的命令读入当前历史命令缓冲区.
-w  将当前历史命令缓冲区命令写入历史命令文件中
-p  Perform history expansion on each ARG and display the result without storing it in the history list.
-s  Append the ARGs to the history list as a single entry.

history 命令参数:


n:打印最近的n条历史命令。

history 命令实例


使用history命令显示最近使用的10条历史命令,输入如下命令:

$ history 10
  123  sudo su
  124  mysql -uroot -p
  125  cd /Data/logs/
  126  ll
  127  cd rtb
  128  sudo su
  129  fc -l -10 
  130  ls -la
  131  ls
  132  history 10

# 列出最近3条
$ history 3
  133  cd /
  134  ll
  135  history 3

清空历史记录:

$ history -c

history 其他实例:

!ls #执行最近执行的以字母ls开头的命令。

!! # 将重新执行最近执行的命令。

history -cw

`~/.bash_history`: 保存历史命令
`/etc/profile` -> HISSIZE: 历史命令保存数量
推荐添加 h -> history, hsi -> history|grep 别名
`!n`: 执行第 n 条历史命令
`!xxx`: 执行最后一条 xxx 开头的命令

history 命令扩展阅读:




history 命令评论