linux查看执行过的命令行
linux查看执行过的命令行详细介绍
在 Linux 中,查看执行过的命令行可以通过以下几种常用方法实现:
一、使用
history 命令(最常用)
history 命令用于显示当前用户的命令历史记录(包括当前会话中执行的命令,以及之前保存的历史记录)。
基本用法:
bash
- 输出格式:每行开头的数字是命令序号,后面是具体命令。
- 特点:
- 数据来自内存中的历史记录和用户的历史文件(默认是
~/.bash_history)。 - 当前会话中执行的命令会临时存储在内存中,退出终端时才会写入历史文件(可通过
history -w强制立即写入)。
- 数据来自内存中的历史记录和用户的历史文件(默认是
二、直接查看历史文件
命令历史默认保存在用户家目录下的 .bash_history 文件中(适用于 bash shell,其他 shell 如 zsh 为 .zsh_history,fish 为 ~/.local/share/fish_history)。
查看方法:
bash
~/.bash_history~/.bash_history
~/.bash_history
- 注意:
- 该文件记录的是 之前会话 的命令,当前会话未退出的命令可能未写入(需手动执行
history -w写入)。 - 管理员用户可通过
cat /root/.bash_history查看 root 用户的历史。
- 该文件记录的是 之前会话 的命令,当前会话未退出的命令可能未写入(需手动执行
三、搜索历史命令
- 交互式搜索(推荐):
- 按
Ctrl + R进入反向搜索模式,输入关键词即可查找最近执行过的命令。 - 找到后按
Enter执行,按Esc退出搜索。
- 按
- 通过
history命令过滤:
bash
四、显示命令执行时间(可选配置)
默认历史记录不包含时间戳,可通过修改配置文件添加:
- 编辑
~/.bashrc(或~/.zshrc):bash~/.bashrc~/.bashrc
- 生效后,
history命令和历史文件会显示命令执行的 日期(% F) 和 时间(% T)。
五、其他实用操作
- 清除当前历史记录:bash
~/.bash_history
- 重复执行历史命令:
!序号:执行指定序号的命令(如!5执行第 5 条命令)。!!:执行上一条命令。
总结
- 临时查看当前会话和历史记录:用
history命令。 - 查看所有历史(包括之前会话):直接读取
~/.bash_history文件。 - 快速搜索:使用
Ctrl + R或grep过滤。 - 个性化需求:通过配置
HISTTIMEFORMAT添加时间戳。
根据你的需求选择合适的方法即可。