Linux history内建命令原理与实操详解(Xshell实验)
2026/7/7 14:23:18 网站建设 项目流程


一、知识框架体系

  1. 基础概念
    history:bash内建命令,用于查看、操作当前Shell会话的命令历史。
    ~/.bash_history:历史命令持久化存储文件,默认用户家目录下的隐藏文件。
    ⚠️重要机制:
    正常退出Shell时,当前会话的新命令才会自动写入 .bash_history
    会话运行期间,新敲的命令只保存在内存,不会立刻写入文件
  2. history常用命令与参数
    命令用途参数说明history查看内存中当前会话全部历史命令无参数:输出内存历史history -aAppend,把当前会话内存中新的历史命令追加写入 .bash_history-a:append,立即写入文件history -c清空内存中的命令历史-c:clear清空内存history -w覆盖写入整个内存历史到历史文件(会覆盖原有文件)-w:write覆盖history -r把磁盘 .bash_history 的内容读入当前内存-r:read读取二、Xshell实操实验(本次作业两道题目)
    实验1:对比 history 和 cat ~/.bash_history 的输出区别
    操作步骤:
    Xshell连接Linux,随便输入几条新命令:
    pwd
    ls
    whoami
    先执行
    history
    输出:包含本次会话刚刚输入的 pwd、ls、whoami 所有命令(内存中的历史)
    再执行
    cat ~/.bash_history
    输出:看不到刚才新敲的pwd/ls/whoami,只有上一次登录退出前保存的旧历史。
    原理总结:
    history:读取内存里当前Shell会话的全部命令
    cat .bash_history:读取磁盘文件,新命令还没有自动保存进去
    实验2:执行 history -a 后再次查看 cat ~/.bash_history
    操作步骤:
    执行:
    history -a
    再次查看文件
    cat ~/.bash_history
    现象:
    刚才本次会话新敲的 pwd、ls、whoami 已经出现在 .bash_history 文件里了!
    原理:
    history -a 强制把内存中本次会话新增的历史命令追加写入磁盘历史文件,不用等到退出shell。
    三、拓展补充
    其他常用history小技巧:
    !100 #执行历史中编号100的命令
    !ls #执行最近一条以ls开头的命令
    history 10 #只显示最近10条命令
    四、实验总结
    Linux bash会话中,命令历史先存内存,正常退出才自动落地到 .bash_history
    history 操作内存;cat .bash_history 操作磁盘文件
    history -a 手动强制把本次会话新命令写入磁盘历史文件

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询