1. ホーム
  2. 記事一覧
  3. lessコマンドガイド:Linux初心者のための基本から応用まで

2024.01.24

lessコマンドガイド:Linux初心者のための基本から応用まで

lessコマンドは、LinuxやUNIXのようなオペレーティングシステムで使われるテキストファイルを表示するためのツールです。「less」という名前は、「less is more(少ない方がより多い)」というフレーズにちなんでいるとされており、このコマンドが開発された当初、先行するmoreコマンドよりも多機能であることを示していました。

lessコマンドは特に大きなファイル、絶えず内容が更新されるログファイルなどを効率的に扱うために設計されています。

https://www.greenwoodsoftware.com/less/

lessコマンドを使いこなすことで、作業効率アップや日々の作業が楽しくなること間違いなしです。

他のエンジニアとの差をつける第一歩としても記事を通してlessコマンドを実践、理解し、コマンドの使い方をマスターしましょう。

そのほかのLinuxの基本的なコマンドは以下の記事にて解説しています。

https://envader.plus/article/290

lessコマンドとは

lessコマンドは、指定したファイルを1画面ずつ表示しユーザーからの入力を待ちます。

似たコマンドとしてmoreコマンドがありますが、moreコマンドは下へスクロールすることはできるものの上へスクロールすることはできないといった課題がありました。その課題を解決するために開発されたのがlessコマンドです。

ファイルを表示するコマンドは他にもcatコマンドがありますが、こちらもスクロールすることはできません。

https://envader.plus/course/1/scenario/1001

lessコマンドの特徴

lessコマンドの特徴として以下の3つを取りあげます。

一度に全ての内容を読み込まない

less はファイルを一度に全て読み込むのではなく、必要な部分だけを読み込みます。これにより、大きなファイルも迅速に開くことができ、メモリの使用量を節約できます。

簡単な検索機能

開いたファイル内の文字列を検索したい場合、/を入力し検索したい文字列を入力すれば簡単に検索ができます。

キーボードでのスクロール

vimライクな操作も可能で、j,kキーで上下にスクロールすることができ、fキーを押すことで1画面を1ページとしてページ単位で画面をスクロールすることができます。

このようにless コマンドには便利な特徴があるため、テキストファイルの閲覧や検索に非常に有効なツールです。

lessコマンドの基本

lessコマンドの基本的な使い方は以下です。

less オプション ファイル名

オプションは任意で使用し、ファイル名を指定することでファイルを開くことができます。

基本的なファイル操作

コマンド説明
f次のページへ進む
b前のページへ戻る
jファイル内を下にスクロールする
kファイル内を上にスクロールする
Gファイルの最後までジャンプする
gファイルの先頭に戻る
/ファイル内で検索語を上から検索
n次の検索結果へ移動
N前の検索結果へ移動
vファイルを編集モードにする
qlessから抜け出し、元のコマンドラインに戻る
hヘルプを表示する

これだけ覚えておけば、基本的な操作は十分です。lessコマンドを終了するにはqキーを使用します。

lessコマンドの便利な使い方

lessコマンドの便利な使い方を紹介します。

行番号を表示する

lessコマンドのデフォルトは行番号が表示されません。ファイルを表示中、-Nを押すことで行番号を表示させることができます。

1
2 2023-12-01 08:00:01 [INFO] System startup. Version: 1.2.0
3 2023-12-01 08:01:10 [WARNING] Network latency detected.
4 2023-12-01 08:01:15 [INFO] Network connection restored successful>
5 2023-12-01 08:02:30 [ERROR] Database connection error. Attempting>
6 2023-12-01 08:02:45 [INFO] Database connection successful.
7 2023-12-01 08:30:00 [INFO] User login. User ID: user1234
8 2023-12-01 08:45:20 [INFO] New session started.

特定の行へ移動する

移動したい行番号を入力し、gキーで特定の行へ移動することができます。

  • Nと合わせることで行番号を指定しやすくなります。

12行目に移動したい場合、以下のように入力します。

12g

リアルタイムにファイルの更新を監視する

tail -fコマンドと同様、ログファイルなどのファイルを表示中にshift + fを押すことで監視モードに入ることができます。こうすることで、リアルタイムにファイルの更新を監視することが可能です。

control + cで監視モードを終了します。

122 2023-12-04 14:15:17 [WARNING] Suspicious network activity detecte>
123 2023-12-04 14:30:30 [INFO] Network activity analyzed; false alarm.
124 2023-12-04 14:45:45 [INFO] User password change requested. User I>
125 2023-12-04 15:00:00 [INFO] Password change successful.
Waiting for data... (interrupt to abort)

&で該当した文字の行のみ表示する(フィルタリング)

指定した文字を含む行のみフィルタリングして表示することができます。エラーログのみ抽出したい場面などで便利です。

フィルタリングモードから戻りたい場合には再度&を入力し、文字は入力せずにenterを押します。

&error

5 2023-12-01 08:02:30 [ERROR] Database connection error. Attempting>
14 2023-12-01 10:30:21 [ERROR] Email service disruption.
19 2023-12-01 11:45:33 [ERROR] Printer connection lost.
26 2023-12-01 13:30:40 [ERROR] Application crash reported.
36 2023-12-02 08:02:30 [ERROR] Database connection error. Attempting>
45 2023-12-02 10:30:21 [ERROR] Email service disruption.

複数のファイルを開く

複数のファイルを指定してコマンドを実行することで、一度にファイルを開くことが可能です。次のファイルへの移動は:nを使用します。前のファイルへ移動したい場合には:pを使用します。

less example.txt test.txt sample.log

パイプラインと組み合わせる

他のコマンドを実行し、その結果をlessコマンドに渡すことができます。

ls -la | less

ps aux | less

この応用で、-pオプションを指定してコマンドの実行結果を文字列で検索することも可能です。

ls -la | less -p.zsh

lessコマンドの主なオプション

lessコマンドの主なオプションは以下になります。

オプション説明
-N行番号を表示する
-p検索した状態でファイルを開く
-i検索時に大文字と小文字の区別しない
-Rカラーコードを解釈し、色付けされたテキストを表示する
-M詳細なステータス情報を表示する
-g検索時、ハイライトする対象を一つにする
-S長い行の折り返しを無効にする
-f通常は開かない特殊なファイルを強制的に開く
-Xlessを終了してもlessの画面をターミナルに残す
-Fファイルが短く、一画面に収まる場合、自動的にlessを終了
--follow-nameファイル名が変更されても追跡を続ける(ログファイルなどに便利)。

このほかのオプションについては、lessコマンドのhelpを参照しましょう。lessでファイルを開き、hキーを入力することでhelpを表示できます。

1
2                    SUMMARY OF LESS COMMANDS
3
4       Commands marked with * may be preceded by a number, N.
5       Notes in parentheses indicate the behavior if N is given.
6       A key preceded by a caret indicates the Ctrl key; thus ^K i>
7
8   h  H                 Display this help.
9   q  :q  Q  :Q  ZZ     Exit.
10  ---------------------------------------------------------------->

またはmanコマンドでlessのマニュアルを表示することも可能です。

man less

オプションを環境変数へ設定し、デフォルトにする方法

$LESSの環境変数にオプションをあらかじめ記述しておくことで、毎回オプションを設定する手間を省くことができます。

.zshrcなどのファイルに環境変数を記述します。

export LESS='-g -i -M -R -S -N'

環境変数を記述したら、sourceコマンドで再度読み込みます。

# 編集したファイル名を指定する
source ~/.zshrc

起動時にコマンドを実行する

+実行したいコマンドとすることで、lessコマンドでファイルを開きながら同時にコマンドを実行することもできます。

指定した行数にジャンプする

ファイルを表示する際に、特定の行へジャンプして表示します。

# 12行目にジャンプ
less +g12 ファイル名

指定した文字列のみに表示を絞る

あらかじめ検索したい文字がわかっている場合に便利です。

# errorの文字に絞って表示
less +'&error' ファイル名

行末から表示させる

通常ファイルの行頭から表示しますが、コマンドを実行することで末尾からファイルを表示することができます。

less +G ファイル名

ファイルを監視モードで開く

リアルタイムログを監視したい場合、Fコマンドを指定することでリアルタイムにファイルの更新を確認することができます。

top | less -NS +F

まとめ

今回はテキストファイルを表示するコマンド、lessコマンドについて解説しました。

はじめのうちは基本的な操作に慣れていき、オプションの挙動を把握していきましょう。

一通り理解できたら、必要なオプションを環境変数へ記述していくことでより理解が深まると思います。

今までcatコマンドしか使ってこなかった方も、記事を通して実践していただき、今後の学習や業務に役立てていただければ幸いです。

エンベーダー編集部

エンベーダーは、ITスクールRareTECHのインフラ学習教材として誕生しました。 「遊びながらインフラエンジニアへ」をコンセプトに、インフラへの学習ハードルを下げるツールとして運営されています。

RareTECH 無料体験授業開催中! オンラインにて実施中! Top10%のエンジニアになる秘訣を伝授します! RareTECH講師への質疑応答可

関連記事