如何查看 terminal 的输出历史
本文将介绍如何查看 terminal 的输出历史,包括使用默认工具和第三方工具的方法。适用于 Linux、macOS 和 Windows (WSL) 用户。
使用默认的 history 命令
大多数终端模拟器都内置了 history 功能,可以通过 `history` 命令查看命令历史。
查看当前会话的历史命令
在 terminal 中输入以下命令:
history
这将显示当前会话中执行的命令列表,编号从 0 开始。
过滤历史命令
可以使用 `grep` 或其他工具过滤历史命令。例如,查看包含 “git” 的命令:
history | grep git
还可以使用 `awk` 提取特定编号的命令:
history | awk '{print $2}'
使用 less 或 more 查看历史记录
默认情况下,`history` 命令的输出可能很长,可以使用 `less` 或 `more` 查看。
history | less
使用 `less` 可以进行前后翻页、搜索等操作。
使用 catfish 或 dmenu 搜索历史命令
这些工具提供更友好的历史命令搜索界面。

安装 catfish
在 Debian/Ubuntu 系统上:
sudo apt install catfish
在 Fedora 系统上:
sudo dnf install catfish
使用 catfish 搜索
启动 catfish 并输入关键词进行搜索:
catfish
在搜索框中输入关键词,结果会实时显示。
使用 fzf 或 ripgrep 快速搜索
`fzf` 和 `ripgrep` 是更现代的搜索工具。
安装 fzf
使用以下命令安装:
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install
使用 fzf 搜索历史
在 terminal 中输入:
history | fzf
按下 `/` 可以快速启动搜索模式。
使用 ripgrep
首先安装 ripgrep:
sudo apt install ripgrep # Debian/Ubuntu
sudo dnf install ripgrep # Fedora
然后使用以下命令搜索:
rg --column --line-number 'search_term' | fzf
保存和导出历史记录
历史记录通常保存在 `~/.bash_history` (Bash) 或 `~/.zsh_history` (Zsh) 文件中。
查看历史文件内容
使用 `cat` 或 `less` 查看历史文件:
less ~/.bash_history
导出历史记录
可以将历史记录导出为文件:
cat ~/.bash_history > history_backup.txt
配置 history 命令行为
可以通过修改 shell 配置文件调整 history 行为。
Bash 配置
编辑 `~/.bashrc` 文件,添加以下配置:
export HISTSIZE=10000
export HISTFILESIZE=10000
export HISTTIMEFORMAT='%F %T '
shopt -s histappend
`HISTSIZE` 和 `HISTFILESIZE` 控制历史记录的大小,`HISTTIMEFORMAT` 添加时间戳。
Zsh 配置
编辑 `~/.zshrc` 文件,添加:
setopt EXTENDED_HISTORY
setopt INC_APPEND_HISTORY
setopt HIST_FIND_NO_DUPS
`EXTENDED_HISTORY` 记录命令的时间戳和频率,`INC_APPEND_HISTORY` 实时追加历史,`HIST_FIND_NO_DUPS` 防止重复。