Linuxコマンドlessの使い方と6つのオプション

Linuxコマンドlessは、ファイルを読み取ったり内容を確認したりする際に頻繁に使用されるコマンドの1つです。このコマンドは、ファイルの内容を画面にページ単位で表示し、ユーザーが必要な部分を簡単に探索できるようにします。lessはcatやmoreコマンドに似ていますが、より多くの機能を提供し、特に大容量ファイルを扱う際に便利です。今回の投稿では、lessコマンドの基本的な使い方とさまざまなオプションについて説明します。

Linuxコマンドlessの基本概念

Linuxコマンドlessは、ファイルを一度にすべて読み込むのではなく、ユーザーが要求したときに必要な部分だけを読み込む方式で動作します。lessコマンドの名前が示すように、大容量ファイルを開く際もメモリ使用量が少なく、迅速に動作します。この特徴のおかげで、lessはログファイルやコードファイルなど、内容を詳細に検討する必要がある場合によく使用されます。

基本的な使い方

lessコマンドの基本的な使い方は次のとおりです。

less ファイル名
ShellScript

上記のコマンドを入力すると、指定したファイルの内容が画面に表示されます。その後、キーボードを使用してファイルの内容を探索することができます。

探索に使用される基本キー

  • 矢印キー(上下左右):1行ずつ上下に移動、または左右に移動します。
  • Page Up/Page Down:1ページずつ上下に移動します。
  • g:ファイルの最初に移動します。
  • G:ファイルの最後に移動します。
  • /検索語:ファイル内で検索語を探します。
  • n:次の検索結果に移動します。
  • N:前の検索結果に移動します。
  • v:ファイルをエディタで開きます。
  • q:lessを終了します。

これらの基本的なキー操作だけでも、lessを使用してファイルを十分に探索することができます。しかし、lessにはこれ以外にも多くのオプションや機能が用意されています。

有用なオプション

lessコマンドは、さまざまなオプションを通じて、より効率的なファイル探索をサポートします。よく使用されるいくつかのオプションを見てみましょう。

-Nオプション:行番号表示

-Nオプションを使用すると、ファイルの各行に番号を付けて表示できます。この機能は、特にログファイルやコードファイルを分析する際に非常に便利です。

less -N ファイル名
ShellScript

行番号が表示されると、特定の行に移動するのもさらに便利です。例えば、「50G」と入力すると、ファイルの50行目に直接移動できます。

次は、-Nオプションを使用して行番号を一緒に出力した場合です。catコマンドで-nオプションを使用する場合と同じ機能です。

図1. Linuxコマンドless: -Nオプションで行番号を表示する
図1. Linuxコマンドless: -Nオプションで行番号を表示する

-sオプション:空行を縮小

-sオプションは、複数の空行を1つの行に縮小します。sはsqueezeの頭文字を取ったもので、空白の行を簡単に1行に整理して表示できます。

less -s ファイル名
ShellScript

-Sオプション:改行しない

基本的に、lessは長い行が画面に収まらない場合、自動的に次の行に折り返して表示します。しかし、場合によってはこの方法が不便なことがあります。-Sオプションを使用すると、改行せずに1行で表示します。

less -S ファイル名
ShellScript

下の図のように、画面の右側に「>」記号が表示され、さらに内容があることを示します。この場合、左右の矢印キーを使って内容を確認できます。

図2. Linuxコマンドless: -Sオプションで改行しない
図2. Linuxコマンドless: -Sオプションで改行しない

-Iオプション:大文字と小文字を無視した検索

ファイルを検索する際に、大文字と小文字を区別せずに検索したい場合は、-Iオプションを使用できます。このオプションを使用すると、検索語が大文字小文字に関係なく一致します。

less -I ファイル名
ShellScript

例えば、「/TOTAL」を検索すると、Total、TOTAL、totalなど、すべてのバリエーションが見つかります。

図3. Linuxコマンドless: -Iオプションで大文字小文字を無視して検索
図3. Linuxコマンドless: -Iオプションで大文字小文字を無視して検索

-pオプション:特定のパターンで開始

ファイルを開く際に特定のパターンが含まれる部分から見たい場合は、-pオプションを使用できます。このオプションは、ファイルを開きながら指定したパターンを検索し、その位置から内容を表示します。ログファイルで特定のエラーメッセージが含まれている部分から確認したい場合に便利です。

less -p "検索語" ファイル名
ShellScript

次は、「total」という文字を見つけ、その位置から表示する場合です。

less -p "total" example.py
ShellScript

実行すると、本文で特定の文字列を検索した場合と同様に、文字の色と背景色が反転し、その文字列が位置する場所を簡単に確認でき、その文字列がある場所に直接移動します。

図4. Linuxコマンドless: -pオプションで特定のパターンを見つけて閲覧
図4. Linuxコマンドless: -pオプションで特定のパターンを見つけて閲覧

+Fオプション:リアルタイムモニタリング(特にログファイル)

lessコマンドを使用すると、ファイルの変化をリアルタイムでモニタリングすることもできます。+Fオプションは、ファイルの末尾からリアルタイムで追加される内容を継続して表示します。

less +F ファイル名
ShellScript

このオプションは、主にログファイルをリアルタイムで監視する際に使用されます。tail -fコマンドと同様の機能を提供しますが、lessのさまざまな探索機能も同時に使用できる点で差別化されています。また、画面の下部には「Waiting for data… (interrupt to abort)」というメッセージが表示され、追加されるデータを待機し、内容が追加されるとリアルタイムで確認できます。Ctrl + Cを押して中断すると、リアルタイムモニタリングの作業が中断されます。

図5. Linuxコマンドless: +Fオプションでリアルタイムモニタリング
図5. Linuxコマンドless: +Fオプションでリアルタイムモニタリング

注意事項

lessコマンドを使用する際には、いくつかの注意点があります。

  • ファイルサイズ: lessはメモリを効率的に使用しますが、非常に大きなファイルを開くときには、依然としてパフォーマンスに影響を受けることがあります。特に検索機能を使用する場合、時間がかかることがあります。
  • 環境変数: lessは環境変数の影響を受けます。例えば、LESS環境変数を通じてデフォルトのオプションを設定できます。誤った環境変数が設定されていると、予期しない動作をする可能性があるため、環境変数を確認しておくことをお勧めします。
  • 編集不可: lessはファイルの内容を編集することはできません。単に読み取って探索するためのコマンドなので、ファイルを修正するにはvimやnanoなどのテキストエディタを使用する必要があります。

まとめ

Linuxコマンドlessは、Linux環境でファイルを効率的に読み取り、探索できる非常に便利なツールです。さまざまなオプションやキー操作を通じて、大容量ファイルも簡単に扱うことができ、リアルタイムのログモニタリングまで可能であるため、非常に多機能です。基本的な使い方を身につけ、頻繁に使用されるオプションを適切に活用すれば、lessを通じてLinuxでの作業効率を大幅に向上させることができるでしょう。

今やlessコマンドの基本的な使い方と有用なオプションを十分に理解したので、実務で積極的に活用してみてください。Linux作業でファイルを扱う際、lessは間違いなく欠かせないツールとなるでしょう。

リファレンス

関連ポスト

コメントする