Linux history内建命令原理与实操详解(Xshell实验)
一、知识框架体系基础概念historybash内建命令用于查看、操作当前Shell会话的命令历史。~/.bash_history历史命令持久化存储文件默认用户家目录下的隐藏文件。⚠️重要机制正常退出Shell时当前会话的新命令才会自动写入 .bash_history会话运行期间新敲的命令只保存在内存不会立刻写入文件history常用命令与参数命令用途参数说明history查看内存中当前会话全部历史命令无参数输出内存历史history -aAppend把当前会话内存中新的历史命令追加写入 .bash_history-aappend立即写入文件history -c清空内存中的命令历史-cclear清空内存history -w覆盖写入整个内存历史到历史文件会覆盖原有文件-wwrite覆盖history -r把磁盘 .bash_history 的内容读入当前内存-rread读取二、Xshell实操实验本次作业两道题目实验1对比 history 和 cat ~/.bash_history 的输出区别操作步骤Xshell连接Linux随便输入几条新命令pwdlswhoami先执行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_historyhistory 操作内存cat .bash_history 操作磁盘文件history -a 手动强制把本次会话新命令写入磁盘历史文件