使用script命令可录制终端会话,保存为文本文件,适合简单日志记录;但其无法完美还原颜色与交互效果,且存在隐私风险,需注意权限管理与敏感信息泄露;更优方案是使用asciinema,支持彩色回放、浏览器分享及嵌入网页,适合教学与演示,配合命名规范、文件压缩与格式转换(如GIF/MP4)可提升管理与传播效率。

在Linux中记录终端会话,最直接且常用的方法就是使用
script
要开始录制一个终端会话,你只需在终端中输入
script
script my_terminal_session.log
执行这个命令后,你的终端会话就开始被记录了。所有你输入的命令、命令的输出,甚至包括一些控制字符,都会被写入到
my_terminal_session.log
当你想要结束录制时,可以输入
exit
Ctrl+D
script
要回放录制的内容,可以使用
script -r
script -r my_terminal_session.log
这样,你就能看到之前录制下来的终端操作过程,就像有人在你的终端上重新执行了一遍一样。如果录制时使用了
-t
script -t my_session.timing my_session.log
script -r
-t
script
script
htop
vim
script -r
所以,当我对会话的视觉效果、交互性和分享便利性有更高要求时,我会转向一些更现代的工具。
首推的是
asciinema
asciinema
asciinema.org
除了
asciinema
tmux
screen
tmux
screen
script
asciinema
tee
tee
ls -l | tee ls_output.txt
总的来说,
script
asciinema
script
asciinema
管理和分享录制的终端会话,尤其是当你录制了很多个会话时,确实需要一些策略。毕竟,那些
.log
asciinema
.cast
对于
script
my_project_debug_20231027.log
~/terminal_logs/
gzip
但说实话,
script
script -r
这时候
asciinema
.cast
.cast
asciinema play
asciinema.org
有时候,为了兼容性或者在演示文稿中使用,我甚至会把录制的会话转换成GIF动图或者MP4视频。虽然
asciinema
asciicast2gif
ttyrec
ffmpeg
我的经验是,对于内部团队成员,如果他们也用Linux,分享
asciinema
.cast
录制终端会话,虽然方便,但绝对不能忽视安全和隐私问题。这是个大坑,一不小心就可能泄露敏感信息。
首先也是最重要的一点:你输入的所有内容,以及终端输出的所有内容,都会被记录下来。 这包括但不限于:
script
mysql -u root -pMySecretPassword
cat /etc/passwd
cat ~/.ssh/id_rsa
所以,在录制会话之前,一定要想清楚,这个会话中会不会涉及到任何敏感信息。如果会,那么最好避免录制,或者采取措施规避。比如,在输入密码时,尽量使用交互式提示符,而不是命令行参数。
其次,是录制文件的权限问题。
script
rw-r--r--
rw-------
我的习惯是,如果我知道接下来会处理敏感信息,我会先暂停录制,或者干脆不开录制。如果实在需要录制,那么在分享之前,我一定会仔细审查整个日志文件。我甚至会用
grep
password
key
token
secret
passwd
id_rsa
最后,要警惕命令历史。虽然
script
.bash_history
.zsh_history
以上就是如何在Linux中记录终端会话 Linux script录制回放方法的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号