Asciinema - 終端日志記錄神器,開發(fā)者的福音
我們?cè)谧鰴C(jī)器學(xué)習(xí)/深度學(xué)習(xí)開發(fā)的時(shí)候,經(jīng)常會(huì)產(chǎn)生如下所示的大量日志:
這些日志如果不保存,轉(zhuǎn)瞬即逝,當(dāng)我們想要回去翻看某一輪訓(xùn)練日志的時(shí)候,會(huì)很遺憾的發(fā)現(xiàn)找不到了。
現(xiàn)在有了這個(gè) Asciinema 這個(gè)神器,我們不僅能找到并導(dǎo)出當(dāng)時(shí)的終端日志,還能夠“重播日志”并“分享日志”。非常牛逼:
Asciinema 是使用Python開發(fā)的工具,請(qǐng)按下面的流程安裝并使用。
1.準(zhǔn)備
開始之前,你要確保Python和pip已經(jīng)成功安裝在電腦上,如果沒(méi)有,可以訪問(wèn)這篇文章:超詳細(xì)Python安裝指南 進(jìn)行安裝。
(可選1) 如果你用Python的目的是數(shù)據(jù)分析,可以直接安裝Anaconda:Python數(shù)據(jù)分析與挖掘好幫手—Anaconda,它內(nèi)置了Python和pip.
(可選2) 此外,推薦大家用VSCode編輯器,它有許多的優(yōu)點(diǎn):Python 編程的最好搭檔—VSCode 詳細(xì)指南。
請(qǐng)選擇以下任一種方式輸入命令安裝依賴:
1. Windows 環(huán)境 打開 Cmd (開始-運(yùn)行-CMD)。
2. MacOS 環(huán)境 打開 Terminal (command+空格輸入Terminal)。
3. 如果你用的是 VSCode編輯器 或 Pycharm,可以直接使用界面下方的Terminal.
pip install asciinema
2.使用
終端輸入如下命令,記錄你的第一個(gè)終端日志:
asciinema rec first.cast
輸入完成后會(huì)顯示如下的提示:
(gs3_9) zjr@sgd-linux-1:~/cnn_test$ asciinema rec first.cast
asciinema: recording asciicast to first.cast
asciinema: press <ctrl-d> or type "exit" when you're done
意思就是日志會(huì)被保存在當(dāng)前文件夾下的first.cast,如果你想結(jié)束錄制,按 Ctrl + D 即可。
記錄完畢后,以雙倍速度重播該日志:
asciinema play -s 2 first.cast
或以正常速度但空閑時(shí)間限制為 2 秒:
asciinema play -i 2 first.cast
你也可以在啟動(dòng)終端日志錄制時(shí)傳遞 -i 2 給 asciinema rec,將其永久設(shè)置在錄制中:
asciinema rec first.cast -i 2
空閑時(shí)間的限制使錄制更有趣。試試吧。
如果你想在網(wǎng)絡(luò)上觀看和分享,請(qǐng)上傳:
asciinema upload first.cast
這個(gè)命令會(huì)將日志記錄上傳到 asciinema.org,此外,它會(huì)打印一個(gè)秘密鏈接,你可以使用該鏈接在網(wǎng)絡(luò)瀏覽器中觀看你錄制的終端日志:
你可以通過(guò)省略文件名一步錄制和上傳終端的日志:
asciinema rec
錄制完成后,系統(tǒng)會(huì)要求你確認(rèn)上傳。未經(jīng)你的同意,不會(huì)向任何地方發(fā)送任何內(nèi)容。
3.播放日志
查看日志有四種方式,最普通的是通過(guò)本地文件進(jìn)行終端重播:
asciinema play /path/to/asciicast.cast
以下鍵盤快捷鍵可用:
- Space- 暫停,
- .- 按幀步進(jìn)(暫停時(shí)),
- Ctrl+C- 退出
第二種方式是通過(guò)url播放:
asciinema play https://asciinema.org/a/22124.cast
asciinema play http://example.com/demo.cast
這個(gè)方式需要你的日志已經(jīng)上傳到asciinema.org中。
第三種方式是通過(guò)你自己生成的html頁(yè)面訪問(wèn)(需要<link rel="alternate" type="application/x-asciicast" href="/my/ascii.cast">在頁(yè)面的 HTML 中):
asciinema play http://your_html_path/post.html
第四種方式是通過(guò)標(biāo)準(zhǔn)輸入輸出播放:
cat /path/to/asciicast.cast | asciinema play -
# ssh user@host cat asciicast.cast | asciinema play -
可用選項(xiàng):
- -i, --idle-time-limit=<sec>- 將重播的終端空閑不動(dòng)時(shí)間閑置為最大<sec>秒數(shù)
- -s, --speed=<factor>- 播放速度
4.導(dǎo)出日志
導(dǎo)出終端日志到文本文件非常簡(jiǎn)單:
asciinema cat existing.cast > terminal_output.txt
所有的終端日志都會(huì)被導(dǎo)出到 terminal_output.txt 中,非常方便好用。
我們的文章到此就結(jié)束啦。