はじめに
広大な市場と精巧な職人技で知られる中世の賑やかな都市タックスビルに、グレゴールという名の謙虚な農夫が住んでいました。ある日、彼は王室の地図製作者たちが、王国の作物の成長過程を監視し、1 時間ごとに報告できる人物を探しているのを耳にしました。これは王国に仕え、銀貨を稼ぐ絶好の機会だと考えたグレゴールは、Linux の世界の魔法を少し借りて、継続的な観察の技術を学ぶことに決めました。彼は、作物の畑をたゆまず見守るために、自分自身を繰り返すことができるコマンドをマスターするためのあなたの助けを必要としています。
watch コマンドの理解
このステップでは、グレゴールが作物の状態を監視するために watch コマンドをどのように使用するかを学べるよう手助けします。
タスク
- タスク 1:
watchコマンドの構文と基本操作を学ぶ。 - タスク 2:
watchコマンドを使用して、作物レポートが保存されているディレクトリの内容を繰り返し表示する。
要件
manページを参照して、watchコマンドの仕組みを理解してください。- ターミナル操作のデフォルトの作業パスは
/home/labex/project、相対パスは~/projectです。 - 作業パス内に
cropsという名前のディレクトリを作成し、そこに作物レポートを保存してください。 watchコマンドを使用してcropsディレクトリを監視してください。- コマンドの指示は zsh ターミナルで実行する必要があります。
例
watch を使用する前、グレゴールのディレクトリは以下のようになっています:
ll /home/labex/project/crops
total 0
watch を実行した後、新しいターミナルを開いて crops ディレクトリにいくつかファイルを作成してみてください。watch コマンドは 2 秒ごとにディレクトリの内容を表示します。
タイムスタンプ付きレポートの生成
このステップでは、グレゴールは watch コマンドを使用して、タイムスタンプ付きのレポートファイルを生成します。
タスク
- タスク 1:
cropsディレクトリ内のreport.txtというファイルに、1 秒ごとに新しいタイムスタンプのエントリを追記するスクリプトを作成する。 - タスク 2:
watchコマンドを使用して、このスクリプトを繰り返し実行する。
要件
~/project/cropsディレクトリ内にtimestamp.shという名前のスクリプトを作成してください。スクリプト内ではdateコマンドを使用して現在のタイムスタンプを取得します。#!/bin/bash echo "$(date)" >> /home/labex/project/crops/report.txtreport.txtファイルには、実行されたタイムスタンプの履歴が含まれている必要があります。watchコマンドを利用して、1 秒ごとにスクリプトを実行してください。
例
watch コマンドを使用して timestamp.sh スクリプトを継続的に実行すると、report.txt ファイルは 1 秒ごとに新しいタイムスタンプで更新されます。
以下のコマンドを実行することで、watch コマンドが正しく動作しているか確認できます:
cat /home/labex/project/crops/report.txt
出力は以下のようになるはずです:
Sat Aug 12 09:00:01 UTC 2023
Sat Aug 12 09:02:01 UTC 2023
Sat Aug 12 09:04:01 UTC 2023
まとめ
このチャレンジでは、グレゴールが作物を注意深く見守るために watch コマンドをマスターする手助けをしました。この強力なコマンドを活用することで、王室の地図製作者たちの要求を満たす作物レポートを生成し、継続的に更新することに成功しました。あなたは自身の Linux コマンドラインのスキルを高めただけでなく、タックスビルの農業の発展にも貢献しました。



