履歴コマンドの分析

LinuxBeginner
オンラインで実践に進む

はじめに

このチャレンジでは、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環境で作業するシステム管理者やパワーユーザーにとって非常に価値のあるものです。

✨ 解答を確認して練習