端末自体にコマンドを保存してオンデマンドで使用する方法を説明したガイドをすでに公開しています。 。長くて複雑なLinuxコマンドを覚えたくない人にはとても便利です。今日、このガイドでは、スクリプトを使用してターミナルで行うすべてのことを記録する方法を見ていきます。 コマンド。
コマンドを実行したか、ディレクトリを作成したか、ターミナルにアプリケーションをインストールした可能性があります。スクリプトコマンドは、ターミナルで行ったことをすべて保存するだけです。数時間または数日前に何をしたかを知りたい場合は、それらを表示できます。
上/下矢印キーまたは履歴を使用できることはわかっています。 以前に実行されていたコマンドを表示するコマンド。ただし、これらのコマンドの出力を表示することはできません。ただし、スクリプトコマンドは、完全なターミナルセッションアクティビティを記録および表示します。
scriptコマンドは、ターミナルで行うすべてのタイプスクリプトを作成します。アプリケーションをインストールするか、ディレクトリ/ファイルを作成するか、フォルダを削除するかは関係ありません。コマンドとそれぞれの出力を含め、すべてが記録されます。
スクリプトコマンドは、割り当ての証拠としてインタラクティブセッションのハードコピーレコードが必要な場合に役立ちます。学生であろうと家庭教師であろうと、ターミナルで行うすべてのことをすべての出力とともにコピーすることができます。
Linuxのスクリプトコマンドを使用してターミナルで行うすべてのことを記録する
スクリプトコマンドはutil-linuxの一部です RPMベースのシステムとbsdutilsのパッケージ DEBベースのシステムにパッケージ化されており、最新のLinuxオペレーティングシステムのほとんどにプリインストールされています。ですから、インストールについては気にしないでください。
さあ、リアルタイムでの使い方を見てみましょう。
次のコマンドを実行して、ターミナルセッションの記録を開始します。
$ script -a my_terminal_activities
ここで、 -a フラグは、出力をファイルまたはタイプスクリプトに追加し、以前の内容を保持するために使用されます。上記のコマンドは、ターミナルで行ったすべてのことを記録し、その出力を'my_terminal_activities'というファイルに追加します。 現在の作業ディレクトリに保存します。
サンプル出力は次のようになります:
Script started, file is my_terminal_activities
次に、ターミナルでランダムなLinuxコマンドを実行します。
$ mkdir ostechnix
$ cd ostechnix/
$ touch hello_world.txt
$ cd ..
$ uname -r
すべてのコマンドを実行した後、次のコマンドを使用して「script」コマンドのセッションを終了します。
$ exit
exitと入力すると、次の出力が表示されます。
exit Script done, file is my_terminal_activities
Linuxのスクリプトコマンドを使用してターミナルで行うすべてのことを記録する
ご覧のとおり、ターミナルアクティビティは'my_terminal_activities'というファイルに保存されています。 そしてそれを現在の作業ディレクトリに保存します。
ターミナルアクティビティは、以下のように別の場所にあるファイルに保存することもできます。
$ script -a /home/ostechnix/documents/myscripts.txt
すべてのコマンドは/home/ostechnix/documents/myscripts.txtに保存されます ファイル。
記録されたターミナルアクティビティの表示
ターミナルアクティビティを表示するには、このファイルを任意のテキストエディタで開くか、「猫」を使用して表示します。 コマンド。
$ cat my_terminal_activities
出力例:
Script started on 2019-10-22 12:07:37+0530 [email protected]:~$ mkdir ostechnix [email protected]:~$ cd ostechnix/ [email protected]:~/ostechnix$ touch hello_world.txt [email protected]:~/ostechnix$ cd .. [email protected]:~$ uname -r 5.0.0-31-generic [email protected]:~$ exit exit Script done on 2019-10-22 12:08:10+0530
ターミナルアクティビティの表示
上記の出力にあるように、scriptコマンドは、scriptコマンドの開始時刻と終了時刻を含む、すべてのターミナルアクティビティを記録しています。すごいですね。スクリプトコマンドを使用する理由は、コマンドを記録するだけでなく、コマンドの出力も記録するためです。簡単に言うと、スクリプトコマンドはターミナルで行ったすべてのことを記録します。
記録されたターミナルセッションを再生する
ターミナルセッションを表示するだけでなく、アニメーションGIFのように再生したい場合があります。その場合は、Scriptreplayコマンドを使用して簡単に実行できます。記録されたターミナルセッションの再生方法については、次のガイドを参照してください。
- Scriptreplayコマンドを使用して記録されたターミナルセッションを再生する方法
単一のコマンドを記録する
-c を使用して、単一のコマンドの出力を記録することもできます。 以下のようなフラグ。
$ script -c "lsb_release -a" -a my_terminal_activities
出力例:
Script started, file is my_terminal_activities No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 18.04.3 LTS Release: 18.04 Codename: bionic Script done, file is my_terminal_activities
記録されたコマンドの出力を表示するには、次のコマンドを実行するだけです。
$ cat my_terminal_activities
特定のコマンドの使用法のデモンストレーションを学生に示したり、コマンドの出力を同僚やサポートチームと共有したりするのに非常に役立ちます。
タイムスタンプを使用してターミナルセッションを記録する
読者の一人としてアラステア・モンゴメリー氏 以下のコメントセクションで説明されているように、エイリアスを設定できます 記録されたセッションにタイムスタンプを付けます。
以下のようにスクリプトコマンドのエイリアスを作成します。
$ alias rec=’script -aq ~/term.log-$(date “+%Y%m%d-%H-%M”)’
次のコマンドを入力するだけで、ターミナルの記録を開始できます。
$ rec
これで、すべてのターミナルアクティビティがタイムスタンプ付きのテキストファイルに記録されます(例: term.log-20191022-12-16 )。 。
タイムスタンプを使用してターミナルアクティビティを記録する
推奨される読み物:
- Asciinema –ターミナルセッションを記録し、Web上で共有する
- 繰り返し呼び出しを簡単にするためのLinuxコマンドのブックマーク
- Linuxコマンドにタグを適用して、履歴からタグを簡単に取得する
- Aproposを使用して忘れたLinuxコマンドを簡単に思い出す
- Pet –シンプルなコマンドラインスニペットマネージャー
クワイエットモードでターミナルセッションを記録する
お気づきのとおり、ターミナルセッションを記録するためにscriptコマンドを開始すると、ウェルカムメッセージが表示されます。記録が終了すると、「スクリプトが開始されました。ファイルはmy_terminal_activitiesです」と「スクリプトが完了しました。ファイルはmy_terminal_activitiesです」と表示されます。これらのメッセージを表示したくない場合は、 -qを使用してクワイエットモードでスクリプトコマンドを実行できます。 以下のようなフラグ。
$ script -a -q my_terminal_activities
詳細については、manページを参照してください。
$ man script
結論
私が言ったように、スクリプトコマンドは、学生、教師、およびターミナルアクティビティの記録を保持したいLinuxユーザーにとって便利です。これを行うために利用できるCLIおよびGUIツールは多数ありますが、スクリプトコマンドは、ターミナルセッションアクティビティを記録するための最も簡単で迅速な方法です。