Linuxのscript
コマンドは、ターミナルセッションからtypescriptファイルを作成します。これは、script
を呼び出すと コマンドを実行すると、ASCIIテキストファイルに保存されている「監視および記録された」ターミナルセッションサブシェルに移動します。タイミングファイルを使用して作成すると、出力を含めてセッションを再生できます。 script
の目的 つまり、端末に表示されているとおりに、対話型セッションを介して任意のコマンドからサンプル出力を簡単に取得できます。バックスペースを使用したり、ファイルを編集したり、ファイルを作成したり、単純または複雑なコマンドを実行したりできます。
[読者も気に入っています:Linuxコマンドの基本:プロセス管理用の7つのコマンド]
script
の値 コマンドは、リダイレクトなしでターミナルコマンドのターミナルセッション中に出力をキャプチャする機能を備えていますが、これは常に機能するとは限りません。コマンドからの出力をキャプチャしようとすると何度もイライラしたので、script
を見つけるまでどういうわけかうまくいきませんでした。 。標準のリダイレクト演算子を使用すると、一部の出力をファイルにリダイレクトできますが、他のコマンドはstdoutまたは画面にのみ出力を表示します。ほとんどのシステム管理者はscript
を使用します ソフトウェアのインストール中、トラブルシューティング中、または開発とプログラミングの目的で出力を表示するコマンド。
驚いたことに、script
コマンドはシェルスクリプトの作成には役立ちません。
スクリプトオプション
私が使用するほとんどのコマンドと同様に、使用可能なオプションのサブセットのみを使用します。 script
コマンドには、自分の仕事では役に立たなかったオプションがいくつかあります。私が使用しているのは次のとおりです:
-
-a
以前に使用したファイルに新しいコマンドと出力を追加するため。 -
-q
script
を使用するときに最初の開始ステートメントと終了ステートメントを削除するため 。 -
--t
再生用のタイミング情報を保存します。
script
を使用する場合 、私は常に--t
を使用します タイミングファイルと-q
を作成します クワイエットモードの場合。 -a
のみを使用します 既存のスクリプトファイルにさらに情報を追加する必要がある場合。これはまれです。
スクリプトの使用法
以下は、私がscript
を使用する方法の2つの標準的な例です。 :
$ script --t=<logfile> -q <script file>
そして、script file
に追加する :
$ script --t=<logfile> -q -a <script file>
logfile
およびscript file
選択した名前にすることができます。ファイルを終了して保存する場合は、 Ctrl-Dを使用します キーボードで。スクリプトファイルとログファイルを自由に表示、編集、または削除できます。単純なASCIIテキストファイルです。
次に例を示します:
$ script --t=script_log -q scriptfile
ls
を実行しました コマンド、who
コマンドを押してから、 Ctrl-Dでスクリプトを終了しました 。
$ ls
blah.txt test1 test2 doc.txt
$ who
root tty1 2021-01-18 09:31
khess pts/0 2021-01-20 14:42 (192.168.0.5)
khess pts/1 2021-01-20 14:47
$ exit
Ctrl-Dを押したとき 、スクリプトが終了し、 exitが表示されます 。
cat
を使用する scriptfile
の内容を表示するコマンド 。
$ ls
blah.txt file_time scriptfile script.rec shell_record1 shell_record3 time_log
file_log record.scr script_log scriptrecord shell_record2 snap typescript
$ who
root tty1 2021-01-18 09:31
khess pts/0 2021-01-20 14:42 (192.168.0.5)
khess pts/1 2021-01-20 14:47
$ exit
Script done on 2021-01-20 14:47:28-06:00
必要に応じて、cat
することもできます script_log
ファイル。
$ cat script_log
0.088699 31
3.393729 1
0.246070 1
0.540094 2
0.003060 196
0.000195 31
2.136900 1
0.177266 1
0.179336 1
0.540818 2
0.003883 134
0.000210 31
4.676286 6
これは、script
のトランザクションログと同様に動作するタイミングログファイルです。 コマンドと応答。ファイルを再生するときは重要です。これは、フォローアップ記事「Linuxスクリプトコマンドで記録されたターミナルセッションを再生する方法」で説明します。
[この無料のチートシートでKubernetesの使用の基本を学びます。 ]
まとめ
私にとって、script
の最高のアプリケーション commandは、新しいLinuxユーザーにコマンドの使用方法をトレーニングし、ターミナルセッション自体と対話しているかのように、期待される出力をリアルタイムで表示するためのものです。より経験豊富なユーザーの場合は、新しいソフトウェアのインストールまたは構成を教えるトレーニングセッションを作成できます。トレーニングは、新しいシステム管理者のトレーニングとさまざまな場所でのハウツー記事の作成の歴史から、私が考えるアプリケーションです。また、出力はASCIIテキストファイルであるため、自分のニーズや対象者に合わせて出力を変更できます。