コマンドライン操作していると、
「どのコマンドを試して、どんな結果が出たか、一連の作業を簡単に記録したいな〜〜」
と思ったこと、ありませんか?
私がLinuxの勉強を始めたばかりの頃、コマンドラインの画面を見て、その出力結果をA4ノートにせっせと書き写していました。(Linux云々以前に、そもそもデジタル初心者すぎて恥ずかしい...😇)
その後は、コマンドラインの画面を、ドラックでコピー&メモ帳にペーストする、という方法にグレードアップしました👏🏻!(レベルが低い)
でも実は、もっと簡単にコマンドのログを取る方法がありました。
この記事では、【初心者向け】手っ取り早くコマンドの実行ログをファイルに記録できる方法をご紹介します💡
方法1:hisotry
コマンドを使う
基本的な使い方
history
コマンドを使用すると、コマンドの入力履歴が確認できます。
早速、コマンドを打ち込んでみましょう。
$ history 1 ls 2 cd Desktop/ . . 56 ls 57 mkdir todays_shoping_list 58 mv banana.txt todays_shopping_list/ 59 history
このように、コマンドの入力履歴が番号付きで出力されます。
history 整数値
:末尾から行数を指定して表示
history 整数値
を入力して実行すると、履歴の最終行から指定した行数分のみを表示することが可能です。これは直近の履歴だけ見たい、という場合におすすめです。
$ history 4 56 ls 57 mkdir todays_shoping_list 58 mv banana.txt todays_shopping_list/ 59 history
history >> ファイル名
:外部ファイルにhistory
コマンド結果を出力
このhistory
コマンドの実行結果を外部ファイルに書き出すことで、コマンドログを簡単にファイルとして保存することが可能です。
$ history >> history_20200401.log $ cat history_20200401.log 1 ls 2 cd Desktop/ . .
もしどこかでコマンドを間違えていて、「なぜか次に進めないな...」というときは、history
コマンドを使って入力したコマンドを確認すると、その原因がわかるかもしれません。
積極的にコマンド履歴を確認して、間違いを見つけて復習する習慣を身につけ、Linuxコマンドをサクサク使えるようになりましょう!
方法2:script
コマンド
基本的な使い方
script
コマンドは、標準出力をそのままファイルに書き出すことができます。
早速、コマンドを打ち込んでみましょう。
$ script スクリプトを開始しました、ファイルは typescript です
このように表示されます。
何が起こっているのかといいますと、実行ディレクトリにtypescript
という名前のファイルを作成されています。
$ ls typescript
typescript
ファイルの中を出力してみますが、まだ空っぽです。
$ cat typescript $
実はこのscript
コマンドは、作業終了後にログを出力されるため、終了報告をする必要があります。
終了報告のやり方は、exit
と入力して実行するだけです。
$ exit exit スクリプトを終了しました、ファイルは typescript です
これで、typescript
ファイルに開始から終了までの作業ログが記録されました。
もう一度、中を出力してみます👀
$ cat typescript スクリプトは 2020年04月01日 08時43分24秒に開始しました $ ls typescript $ cat typescript $ exit exit スクリプトは 2020年04月01日 08時45分33秒に終了しました
今度はきちんとtypescript
ファイルに今までの記録が残っていました。
script ファイル名
:ファイル名を指定して作業ログを保存
また、デフォルトのログファイル名はtypescript
になっていますが、script ファイル名
で好きな名前を指定して、そのファイルに作業ログを残すことができます。
※既存のファイルを指定すると、上書き保存されるので注意!
$ script 200410.log スクリプトを開始しました、ファイルは 200410.log です
script -a ファイル名
:既存のファイル名に作業ログを追記
「一度記録したファイルに追記したい!」という場合は、-a
オプションを指定します。
$ script -a 200410.log
1つ前にご紹介したhistory
コマンドは、標準出力は記録されていません。
つまり、「自分が入力したコマンド」は保存されていますが、「プログラムが書き出した結果」は保存されていません。
しかし、script
コマンドであれば、コマンドの実行結果まで書き出すことができます。
そのため、コマンドの結果まで残しておきたい慎重派の方には、script
コマンドがおすすめです。
まとめ
作業ログは何か問題があった時に、コマンドを見直して調べたり、誰かLinuxに詳しい人に相談するときにも役立ちます。
その他にも作業ログを取る方法はありますが、今回は簡単さ重視で、作業ログを記録する方法を紹介しました!
ぜひ積極的に活用してください✨
アメリエフでは、バイオデータ解析やそのシステム・インフラ環境の開発に興味のあるエンジニア・リーダー候補を募集しています。
www.wantedly.com