こんにちは、Reoです。
フリーランスのインフラエンジニアとして働きながら、学習サービス「InfraDojo(インフラ道場)」を運営しています。
ログをcatで表示したら、大量の文字が流れてしまった。
「気になる行を、もう少しゆっくり読みたい」
そんなときに使えるのが、**ファイルを画面ごとに読めるless**です。
今回は、検索・移動・終了までを、練習用のログで試します。
lessは「読むため」のコマンド
lessでは、ファイルの中を前後に移動しながら読めます。
文字列を検索して、その周辺を確認することもできます。
基本形は、次のとおりです。
less ファイル名
今回は、行番号も表示する-Nを付けます。
最初は、/で検索、nで次へ、qで終了を押さえてみてください。
1.練習用のログを作る
以下は、lessが使えるLinux環境のBashで実行してください。
新しい一時ディレクトリに、120行の説明用ログを作ります。
lesson_dir=$(mktemp -d)
cd "$lesson_dir"
for i in $(seq 1 120); do
case "$i" in
25|80) printf '%03d ERROR connection failed\n' "$i" ;;
*) printf '%03d INFO processing\n' "$i" ;;
esac
done > app.log
25行目と80行目に、ERRORを含む行があります。
ほかの行は、処理中を表すINFOの記録です。
2.行番号付きで開く
less -N app.log
左側に行番号が表示されます。
開いたあとは、普段のコマンド入力ではなく、lessの操作キーを使う状態になります。
| キー | 操作 |
|---|---|
↓ / ↑
|
下 / 上へ移動 |
| Space | 次の画面へ |
b |
前の画面へ |
g |
ファイルの先頭へ |
G |
ファイルの末尾へ |
q |
終了 |
gとGは、大文字・小文字で動作が変わります。
まずはSpaceで進み、bで戻ってみましょう。
3.ERRORを検索する
gで先頭に戻ってから、次を入力し、Enterを押します。
/ERROR
/は、現在の位置からファイルの後ろ方向へ検索する操作です。
今回のログでは、最初に25行目が見つかります。
025 ERROR connection failed
※左側には、-Nによる行番号も表示されます。
続けて、小文字のnを押してみてください。
次の一致である、80行目へ移動します。
080 ERROR connection failed
大文字のNを押すと、検索方向が反対になり、25行目へ戻れます。
エラーの行だけで判断しない
気になる行を見つけたら、矢印キーで前後の行も確認してみてください。
実際のログでは、
「直前に何をしていた?」
「同じエラーが続いている?」
「その後の処理はどうなった?」
といった情報が、調査の手がかりになります。
ERRORを見つけることと、原因が分かることは別です。
また、今回は大文字のERRORを検索しています。小文字のerrorや、別の表現で記録された問題まで、すべて見つかるわけではありません。
終了するときはq
読み終わったら、qを押します。
lessが閉じて、通常のコマンド入力に戻ります。
「画面が変わって、どう戻ればいいか分からない」ときも、まずqを思い出してください。
今回の練習では、開く → 検索する → 前後を読む → 終了するまでできれば十分です。
ファイルを読む操作に慣れたい人へ
ログ調査では、ファイルを読む操作と、必要な情報を探す操作を組み合わせます。
自分が運営するInfraDojoでは、ブラウザ上の学習用シミュレーターでLinuxの基本操作を練習できます。
読むだけで終わらせず、「この情報を確認したい」と考えてコマンドを選ぶ練習も取り入れてみてください。
▼ InfraDojo(インフラ道場)
