Linux script命令实战:从基础录制到高级日志分析

为什么你的终端操作需要被”剧本”记录?

想象一下:你花了三小时调试服务器配置,突然断电导致命令历史全消失。或者同事问你上周某个故障的解决步骤,你却记不清细节。这时候script命令就是救命稻草!它能像摄像机一样完整记录终端会话,从敲入的命令到程序输出,甚至错误信息都不遗漏。系统管理员用它做审计,开发者靠它复现bug,连教学演示也离不开它——毕竟眼见为实嘛。

Linux系统中如何使用script命令

零基础上手:你的第一条终端录像

打开终端,输入script就开启录制:

$ script
Script started, file is typescript

现在所有操作都会被悄悄存到当前目录的typescript文件里。试试执行lsdate,完成后敲exit退出录制。用cat typescript查看录像,你会发现连命令行提示符和光标闪烁都还原了!如果想自定义存档名:

script my_work.log

高手必备的五大参数技巧

  • -a 追加模式:避免覆盖旧记录,适合长期任务分段录制
  • -t 时间戳script -t 2>time.log 记录毫秒级时序,方便回放调试
  • -c 单命令录制script -c "grep -r error /var/log" 抓取单次任务日志
  • -q 静默模式:去掉烦人的开始/结束提示符
  • –flush:实时写入磁盘,防断电丢失数据

实战案例:揪出隐藏的权限错误

某次部署脚本失败,错误信息一闪而过。用组合拳:

script -t 2>timing.log -a deploy_record
./deploy.sh  # 执行问题脚本
exit

scriptreplay timing.log deploy_record像视频回放一样查看全过程,终于发现是sudo密码输入超时。时间戳显示卡顿发生在SSH密钥加载时——原来被防火墙拦截了!

日志分析进阶:从录像带到大银幕

原始录像包含控制字符,直接阅读像看天书。试试这些过滤技巧:

命令 作用 示例输出
cat typescript | col -b 删除退格等控制符 纯净文本
grep ‘^$’ -v typescript 过滤空行 紧凑信息
sed ‘/^Script started/d’ log 删除录制头尾标记 干净日志

搭配awk统计命令使用频率,或者用ansi2txt转换彩色输出,报表瞬间专业度飙升。

避坑指南:这些雷区你别踩

新手常犯的三个错误:
1. 忘记退出:长期运行会撑爆磁盘,设置alias script='script -q -c "$SHELL"'自动关联shell
2. 敏感信息泄露:录制前用unset HISTFILE关闭历史记录,避免密码被存档
3. 权限失控:用chmod 600限制日志访问,重要日志建议加密存储

创意应用:超越想象的玩法

别以为script只能做记录:
自动化教学:配合scriptreplay生成动态教程,学生可调速观看
操作取证:服务器添加script -t /secure/audit_%Y%m%d.log到.bashrc,所有操作自动留痕
跨会话协作:用mkfifo创建命名管道,多人实时共享终端操作流
CI/CD集成:在Jenkins中录制部署过程,失败时自动附完整日志邮件

下次看到终端里闪过”Script started”,别紧张——那是高手在给自己准备”后悔药”。记住:好记性不如烂笔头,烂笔头不如script靠谱!

内容均以整理官方公开资料,价格可能随活动调整,请以购买页面显示为准,如涉侵权,请联系客服处理。

本文由星速云发布。发布者:星速云。禁止采集与转载行为,违者必究。出处:https://www.67wa.com/150148.html

(0)
上一篇 2026年1月20日 上午8:25
下一篇 2026年1月20日 上午8:25
联系我们
关注微信
关注微信
分享本页
返回顶部