首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >LinuxShell命令history

LinuxShell命令history

作者头像
hotarugali
发布2022-02-28 20:18:01
发布2022-02-28 20:18:01
6890
举报

【注】具体详解参见 help 手册。

1. 简介

history 内建命令用于显示或操纵历史命令列表。

2. 格式

代码语言:javascript
复制
history [NUM|-c|-d [offset]]
history [-a|-n|-r|-w] [FILE]
history [-p|-s] ARG [ARG ...]

其中,FILE 用于指定保存历史命令列表的文件,默认是~/.bash_history 文件。若未指定任何选项参数,则默认显示保存的所有历史命令列表。

2.1 注意事项

  • 要设置保存历史命令的条目数,可修改 HISTSIZE 环境变量。
  • 要设置保存历史命令列表的默认文件,可修改 HISTFILE 环境变量。
  • 要设置显示时间戳,可修改 HISTTIMEFORMAT 环境变量(被用于 strftime(3) 的格式字符串来打印时间戳),该环境变量默认为空不打印时间戳。
  • 当登陆 Shell 时,会自动读取历史命令列表文件到内存缓冲区内;当 Shell 退出时,才把内存缓冲区写入历史记录文件中(除非手动运行 history -a 命令强制写入)。
  • 当使用了无效选项或发生错误时返回失败,否则返回成功

2.2 常用功能

  • 开启时间戳

将以下代码添加到 ~/.bashrc 文件中:

代码语言:javascript
复制
export HISTTIMEFORMAT="%F %T  "

然后刷新 ~/.bashrc 文件:

代码语言:javascript
复制
source ~/.bashrc

测试一下,本人终端测试部分结果如下:

代码语言:javascript
复制
...
486  2020-04-29 13:36:56  which
487  2020-04-29 13:36:56  cat -n .bash_history 
488  2020-04-29 13:36:56  exit
489  2020-04-29 13:36:56  history -d -5
490  2020-04-29 13:36:56  cat -n .bash_history 
...

3. 选项

选项参数

说明

NUM

显示最近的 NUM 个命令条目

-c

删除所有命令条目,清空历史命令列表

-d offset

从 offset 指定的区域删除历史命令记录 offset 取值格式为 N[-M]:若未指定 -M 选项,则指定删除第 N 条历史记录;若指定 -M 选项,则指定删除区间 [N,M] 内的所有历史记录【注】N、M 均可以取负数,表示历史命令文件中倒数 N、M

-a

将当前 Shell 会话的命令内存缓冲区强制追加到历史命令文件中

-n

从历史命令文件中读取所有未被当前 Shell 会话读取的行追加到当前 Shell 会话的历史命令内存缓冲区中

-r

读取历史命令文件并将所有内容附加到当前 Shell 会话的历史命令内存缓冲区中

-w

将当前 Shell 会话的历史命令内存缓冲区写入到历史命令文件中

-p

对每个一个 ARG 参数展开历史并显示结果,但不存储到内存缓冲区中

-s

将 ARG 参数列表作为单条记录追加到内存缓冲区内(可用于伪造历史命令记录)

4. 附录

4.1 快捷键

  • 在终端可以使用 Ctrl+p / ▲回滚历史命令;或者 Ctrl+n / ▼下翻历史命令。
  • 在终端还可以使用 Ctrl+r 搜索历史命令,然后输入命令包含的部分关键字,就会显示搜索到的历史命令。

4.2 ! 命令

在终端可用 !{N|string}[:M] 来获取内存缓冲区的历史命令记录:

  • N 代表第 N 条历史命令(N 取正值于 history 显示的命令序号,不在 history 显示命令序号范围内则无效);N 也可以取负数,表示内存缓冲区中倒数第 N 条历史记录;N 还可以取 !(即 !! 命令),表示内存缓冲区中上一条历史命令
  • string 指定搜索最近一条以 string 开头的命令。
  • M 代表指定命令的第 M 个参数(若未给定 N,则默认指定上一条命令),M 取 0 代表命令名本身;M 还可以取 $^*,分别代表第一个参数(即同 M 取 1)、最后一个参数、所有参数。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-05-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 简介
  • 2. 格式
    • 2.1 注意事项
    • 2.2 常用功能
  • 3. 选项
  • 4. 附录
    • 4.1 快捷键
    • 4.2 ! 命令
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档