Ubuntu history 命令实用教程(设置记录命令行数或永久记录等)
Ubuntu history 命令实用教程简介一、认识 history 是什么二、查看本机当前历史配置1. 查看当前历史条数限制2. 查看历史文件实际已有多少条记录三、手动设置 history 指定记录行数1. 编辑配置文件2. 写入指定行数配置3. 保存退出并生效四、设置 history 永久不删除无限保存1. 编辑配置文件2. 粘贴无限历史配置3. 保存退出并生效4. 验证配置五、解决每次需手动 source 才能生效六、多终端同步效果测试七、隐私用法敏感命令不记录到历史1. 单条命令临时免记录最常用2. 整个会话临时关闭历史记录3. 删除刚执行的上一条历史八、history --help 完整英文文档 逐行中文翻译原版命令语法功能说明原文参数选项详解历史文件规则原文时间戳规则原文退出状态原文九、history 基础常用命令1. 查看全部历史2. 只查看最近10条3. 搜索包含关键词的历史命令十、高效快捷用法提升终端效率1. 重新执行上一条命令2. 按编号执行指定历史命令3. 执行最后一条以某字符开头的命令4. 临时不记录当前命令十一、历史记录删除与清空操作1. 删除指定单条历史按编号2. 清空当前终端会话历史3. 彻底清空全部历史记录十二、常见问题排查问题1配置后不显示时间戳问题2新开终端配置失效问题3想恢复系统默认配置十三、总结简介本文零讲解history命令原理、设置指定记录行数、配置永久无限不删除历史、显示时间戳、多终端历史同步附带history --help完整参数中文翻译详解、常用快捷用法、删除与清空操作所有代码均为多行格式可一键复制零基础跟着就能配置。一、认识 history 是什么history是 Linux 终端自带的命令历史记录工具自动保存你输入过的所有终端命令方便回溯、复用、排查故障。Ubuntu 默认只保存固定条数命令旧命令会自动被清理。本文教你两种配置方式自定义设置指定记录行数设置历史命令永久保存、永不自动删除二、查看本机当前历史配置1. 查看当前历史条数限制echo$HISTSIZEecho$HISTFILESIZEHISTSIZE当前终端会话内存中保留的命令最大条数HISTFILESIZE磁盘文件~/.bash_history永久保存的最大命令条数2. 查看历史文件实际已有多少条记录wc-l~/.bash_history三、手动设置 history 指定记录行数适合不想无限保存只想固定保存5000条、10000条自定义条数的用户。1. 编辑配置文件nano~/.bashrc按CtrlEnd跳到文件末尾。2. 写入指定行数配置示例设置内存保留5000条文件永久保留10000条# 自定义 history 指定记录条数HISTSIZE5000HISTFILESIZE10000# 显示命令执行时间戳 年-月-日 时:分:秒HISTTIMEFORMAT%Y-%m-%d %H:%M:%S # 忽略重复命令、忽略开头带空格的命令不记录HISTCONTROLignoreboth# 多终端实时同步历史记录PROMPT_COMMANDhistory -a; history -c; history -r可自行修改数字想存 8000 条改成HISTSIZE8000、HISTFILESIZE8000想存 20000 条改成HISTSIZE20000、HISTFILESIZE200003. 保存退出并生效CtrlO回车保存 →CtrlX退出执行命令让配置立即生效source~/.bashrc四、设置 history 永久不删除无限保存不需要固定行数所有命令永久保存、永不自动清理。1. 编辑配置文件nano~/.bashrc2. 粘贴无限历史配置# 历史命令全局优化配置# 无限保存历史永不自动删除HISTSIZE-1HISTFILESIZE-1# 历史记录显示时间戳 年-月-日 时:分:秒HISTTIMEFORMAT%Y-%m-%d %H:%M:%S # 忽略重复命令、忽略开头带空格的命令不记录HISTCONTROLignoreboth# 多终端实时同步历史记录PROMPT_COMMANDhistory -a; history -c; history -r3. 保存退出并生效source~/.bashrc4. 验证配置history每条命令前显示编号 时间戳 命令即为配置成功。五、解决每次需手动 source 才能生效问题原因图形终端、普通终端默认不会自动加载.bashrc。编辑登录配置文件nano~/.bash_profile粘贴以下内容无该文件则自动创建# 登录终端自动加载 .bashrc 配置if[-f~/.bashrc];thensource~/.bashrcfi保存退出。测试关闭所有终端重新打开任意终端配置自动生效无需手动source。六、多终端同步效果测试打开两个终端窗口终端A 输入任意命令echo 测试历史同步终端B 直接按键盘↑ 上箭头能立刻看到终端A 的命令所有终端历史完全合并、实时同步互不覆盖。七、隐私用法敏感命令不记录到历史1. 单条命令临时免记录最常用命令前面先敲一个空格再输入命令mysql-uroot-p123456exportAPI_KEY私密密钥特点自动跳过历史记录history查不到历史文件也不保存。2. 整个会话临时关闭历史记录关闭后续所有命令记录setohistory操作完敏感配置后恢复历史记录set-ohistory3. 删除刚执行的上一条历史执行完才发现不想留记录一键删除上一条history-d$((HISTCMD-1))八、history --help 完整英文文档 逐行中文翻译原版命令语法history:history[-c][-d offset][n]orhistory-anrw[filename]orhistory-psarg[arg...]中文翻译history用法格式1. 基础用法history[-c][-d 偏移量][显示条数n]2. 文件同步用法history-anrw[自定义历史文件名]3. 扩展参数用法history-ps参数1[参数2...]功能说明原文Display or manipulate thehistorylist. Display thehistorylist with line numbers, prefixing each modified entry with a *. An argument of N lists only the last N entries.中文翻译显示或操作命令历史列表。带行号展示历史命令被修改过的历史条目前面会标记*后跟数字 N 时仅展示最近 N 条历史记录。参数选项详解Options:-cclearthehistorylist by deleting all of the entries-doffset delete thehistoryentry at position OFFSET. Negative offsets count back from the end of thehistorylist-aappendhistorylines from this session to thehistoryfile-nreadallhistorylines not alreadyreadfrom thehistoryfileand append them to thehistorylist-rreadthehistoryfileand append the contents to thehistorylist-wwritethe currenthistoryto thehistoryfile-pperformhistoryexpansion on each ARG and display the result without storing itinthehistorylist-sappend the ARGs to thehistorylist as a single entry逐参数中文翻译-c清空当前终端所有历史列表条目-d 偏移量删除指定位置的历史记录支持负数负数表示从历史列表末尾倒数计算位置-a把当前终端会话的新命令追加写入到历史文件-n读取历史文件中尚未加载到当前终端的命令追加到本地历史列表-r读取历史文件全部内容追加加载到当前终端历史列表-w把当前终端的所有历史强制写入覆盖到历史文件-p解析并展开历史参数仅展示结果不存入历史记录-s把传入的参数作为一条单独命令手动添加到历史列表历史文件规则原文If FILENAME is given, it is used as thehistoryfile. Otherwise,ifHISTFILEhas a value, that is used,else~/.bash_history.中文翻译如果执行命令时指定了文件名则使用该文件作为历史记录文件若未指定优先读取环境变量HISTFILE设置的文件都没有则默认使用~/.bash_history。时间戳规则原文If the HISTTIMEFORMAT variable issetand not null, its value is used as aformatstringforstrftime(3)to print thetimestamp associated with each displayedhistoryentry. Notimestamps are printed otherwise.中文翻译若配置了HISTTIMEFORMAT变量且不为空会按照时间格式模板为每条历史命令打印时间戳未配置该变量时历史命令不显示时间。退出状态原文Exit Status: Returns success unless an invalid option is given or an error occurs.中文翻译执行状态只要参数合法、无运行错误均返回执行成功传入非法参数或异常时报错。九、history 基础常用命令1. 查看全部历史history2. 只查看最近10条history103. 搜索包含关键词的历史命令替换apt为自己要查找的关键词history|grepapt十、高效快捷用法提升终端效率1. 重新执行上一条命令!!2. 按编号执行指定历史命令替换120为实际 history 编号!1203. 执行最后一条以某字符开头的命令!sudo4. 临时不记录当前命令命令前面加一个空格再回车本条不会存入历史sudo敏感操作命令十一、历史记录删除与清空操作1. 删除指定单条历史按编号替换55为对应历史编号history-d552. 清空当前终端会话历史history-c3. 彻底清空全部历史记录谨慎使用清空后无法恢复history-chistory-w十二、常见问题排查问题1配置后不显示时间戳重新加载配置再查看source~/.bashrchistory问题2新开终端配置失效确保配置代码粘贴在~/.bashrc文件末尾重新执行source~/.bashrc问题3想恢复系统默认配置一键还原所有自定义配置sed-i/HISTSIZE/d~/.bashrcsed-i/HISTFILESIZE/d~/.bashrcsed-i/HISTTIMEFORMAT/d~/.bashrcsed-i/HISTCONTROLignoreboth/d~/.bashrcsed-i/PROMPT_COMMAND/d~/.bashrcsource~/.bashrc十三、总结指定行数配置修改HISTSIZE和HISTFILESIZE自定义保存条数永久无限配置设为-1即可永不删除历史记录配置HISTTIMEFORMAT实现历史命令显示年月日时分秒时间戳附带官方history --help完整中文翻译看懂每一个参数作用掌握搜索、按编号执行、删除单条、清空历史等日常必备用法大幅提升终端操作效率。