logsaveはコマンドの実行結果をファイルに出力するコマンドだ。
目次
logsaveコマンドの基本
コマンドの基本動作
使い方は、次のとおりだ。
$ logsave コマンド ファイル名
コマンドping -c 1 127.0.0.1の実行結果をファイルlogtext.txtに書き込む場合は、次のコマンドだ。
$ logsave logtext.txt ping -c 1 127.0.0.1
コマンドping -c 1 127.0.0.1の実行結果をファイルlogtext.txtに書き込んだ。
コマンド名に「-」を指定すると、キー入力のすべてを記録する。この場合、Ctrl+Cのショートカットキーでlogsaveコマンドを終了させる。
logsaveコマンドのオプションたち
オプションの一覧
後から詳細を紹介するが、まずは一覧で見てみよう。
オプション -a
ファイルに追記する
オプション -s
不要なヘッダ情報を記録しない
オプション -v
画面上にも詳細を表示する
-aオプション:ファイルに追記する
ファイルに追記するする書式は次のとおりだ。
$ logsave -a コマンド ファイル名
コマンドecho abcの実行結果をファイルlogtext.txtに追記し書き込む場合は、次のコマンドだ。
$ logsave -a logtext.txt echo abc
コマンドping -c 1 127.0.0.1の実行結果をファイルlogtext.txtに追記し書き込んだ。
-sオプション:不要なヘッダ情報を記録しない
不要なヘッダ情報を記録しない書式は次のとおりだ。
$ logsave -s コマンド ファイル名
不要なヘッダ情報を記録せずコマンドping -c 1 127.0.0.1の実行結果をファイルlogtext.txtに書き込む場合は、次のコマンドだ。
$ logsave -s logtext.txt ping -c 1 127.0.0.1
不要なヘッダ情報を記録せずにコマンドping -c 1 127.0.0.1の実行結果をファイルlogtext.txtに書き込んだ。
コンピュータの通信は、ASCIIコード0の制御文字Start Of Header(SOH)でヘッダ情報が始まる。
さらに、ASCIIコード0の制御文字Start Of Text(STX)で本文情報が始まる。
つまりSOHからSTXまでがヘッダ情報となっている。
ここで、一つ実験してみよう。
echoコマンドで、SOH、abc、STX、ABCと出力する。この実行結果を次のコマンドでファイルlogtext.txtに書き込む。
$ logsave -s logtext.txt echo -e $'\001' abc$'\002' ABC
画面上には小文字のabc、大文字のABCと出力されているが、ファイルにはSOHとSTXで囲まれた小文字のabcは記録されていない。
-vオプション:画面上にも詳細を表示するする
画面上にも詳細を表示するする書式は次のとおりだ。
$ logsave -v コマンド ファイル名
画面上にも詳細を表示しながらコマンドping -c 1 127.0.0.1の実行結果をファイルlogtext.txtに書き込む場合は、次のコマンドだ。
$ logsave -v logtext.txt ping -c 1 127.0.0.1
画面上にも詳細を表示しながらコマンドping -c 1 127.0.0.1の実行結果をファイルlogtext.txtに書き込んだ。
logsave関連コマンド
最後にlogsaveコマンドに関連して、基本的なコマンドの実行結果をファイルに出力するコマンドも紹介しておく
teeコマンド
画面とファイルに出力する。
まとめ
コマンドの実行結果をファイルに保存する方法は、「>」を使ったリダイレクトやteeコマンドでも可能だが、logsaveコマンドでは、実行開始時間や終了時間など詳細の情報もログとして記録できる。