大家不知道有没有这种经历:在linux系统中,刚执行了一条命令,输出刷了几百行,想往回翻看前面的内容,结果终端只能往上滚一点点,根本翻不到头。或者,你 cat了一个大文件,结果内容一闪而过,什么都没看清。
再或者,你 tail -f盯着日志,突然想看看刚才闪过的那条报错,但已经滚过去了。
今天给大家介绍的命令,就是专门解决这些问题的,他就是script。
一、script的核心功能
script是linux自带的“终端录像机”。它能把你从执行命令开始到退出为止的所有终端输出,包括你敲的命令、系统的回显、报错信息,全部保存到一个文件里。
简单说:script= 终端的“黑匣子”。
二、安装script的安装
大多数linux发行版默认已安装script,如果没有:
#centOS /rockyyum install -y util-linux#ubuntu /debianapt install -y bsdutils#版本查看script --version
1. 开始录制
从此开始,你所有的操作都被记录到当前目录下的typescript文件中。
2. 结束录制
3. 指定输出文件
script my_session.logscript /var/log/operation_20260624.log
4. 查看录制的记录
cat typescript#或less typescript
四、script实战场景
场景1:记录操作过程,方便复盘
#开始记录script deploy_20260624.log#进行系统操作df -hfree -gsystemctl start nginx#查看日志tail -f /var/log/myapp.log#结束记录exit
这个可以作为系统的部署复盘和总结,主要有以下作用:
•部署失败了,可以回头看哪一步报错
•领导问你刚才干了什么,直接把日志发给他
•自己复盘操作流程,优化步骤
场景2:教学演示,留存操作记录
#开始记录script teaching_session.log#演示操作ls -lacat /etc/passwd | head -5ps aux | grep nginx#结束exit
这个可以作为培训过程的素材使用,主要以下作用:
•培训新人时,把操作过程录下来
•学员可以回看,不用一遍遍问
•作为技术文档的附件
场景3:排查疑难问题,保留现场
#开始记录script debug_20260624.log#执行排查命令dmesg | tail -20journalctl -xetop -bn1free -hdf -h#结束exit
主要作为重大疑难问题的处理记录,及进行技术处理过程分享材料。
五、script使用注意事项
1. 记录文件会越来越大
#长时间 session 可能产生大文件#建议分段记录,不要一个文件录几天script daily_$(date +%Y%m%d).log
2. 包含敏感信息
#script会记录所有输入输出#包括密码、密钥等敏感信息#操作完后记得检查日志,清理敏感内容
3. 配合tee实时查看
#既记录又实时查看script -f session.log#另一个终端tail -f session.log
4. 退出别忘了exit
#如果不退出,script会一直记录#可以通过查看进程找到并结束ps aux | grep scriptkill PID
六、总结
script是一个被严重低估的命令。它不像top、df那样天天用,但关键时刻能救命。
记住三个核心场景:
部署操作:记录每一步,失败了能复盘
问题排查:保留现场,方便追溯
教学演示:录下来,新人可以反复看
运维的最高境界不是不出故障,而是出了故障能快速定位原因。script就是你最好的“后悔药”。如果你觉得文章对你的运维工作有帮助,记得点赞加关注。
#运维#linux运维#linux实战#script