実行履歴の解析

LinuxBeginner

はじめに

このチャレンジでは、データストリームのリダイレクト(Stream Redirection)を実践しながら、Linux システムにおけるコマンドの使用履歴を解析することに焦点を当てます。このタスクを完了することで、テキスト処理スキルを向上させ、一般的な Linux コマンドに習熟し、Linux 環境における入出力操作への理解を深めることができます。

ストリームリダイレクトを用いた履歴コマンドの解析

要件

あなたの任務は、コマンドの使用記録が含まれているファイルを解析することです。ファイル内で最も頻繁に使用されている上位 3 つのコマンドを特定し、その結果を /home/labex/project/result に保存してください。このタスクは、ストリームリダイレクトの技術を駆使して実行する必要があります。

タスク

  1. /home/labex/project/ にある data1 ファイルを、awksortuniqhead コマンドとストリームリダイレクトを組み合わせて処理してください。
  2. 使用頻度の高い上位 3 つのコマンドを /home/labex/project/result にリダイレクトしてください。
  3. 出力結果は、「出現回数 コマンド名」の形式(例:「100 ls」)になるように整形してください。

data1 ファイルのサンプル内容:

895  echo $?
896  openstack compute service list
897  cd /home/chy/openstack/
898  . admin-openrc

/home/labex/project/result における出力形式のサンプル:

150 openstack
114 systemctl
105 ls

結果ファイルには、使用頻度の高い上位 3 つのコマンドのみを含めるようにしてください。

ヒント

ファイル内容からコマンド名を抽出するために awk を使用する必要があるかもしれません。以下に便利な awk の使用例を示します:

  • awk '{print $2}': 各行の 2 番目のフィールドを表示します。
  • awk '{print $1, $2}': 各行の 1 番目と 2 番目のフィールドを表示します。

まとめ

このチャレンジでは、Linux のストリームリダイレクト技術を応用して、コマンドの使用履歴を解析する練習を行いました。この演習を通じて、テキスト処理能力、主要な Linux コマンドへの習熟度、および入出力操作に関する理解が向上しました。これらのスキルは、Linux 環境で作業するシステム管理者やパワーユーザーにとって非常に価値のあるものです。

✨ 解答を確認して練習