【初心者向け】lessコマンド「巨大ファイルを快適閲覧」- コピペで試せるオプション理解 -【Linuxコマンド入門 #10】

前回(#9)は、catコマンドについて学びました。

catコマンドの使い方紹介、Linux Ubuntu初学者向けに、よく使うオプションを優先的に紹介しています。

【初心者向け】catコマンド「ファイルの中身を表示」- コピペで試せるオプション理解 -【Linuxコマンド入門 #9】

Linuxコマンドcatの使い方。ファイルの中身を表示する基本から、行番号(-n)などの便利オプションまで解説。lessとの使い分け(catの罠)もわかります。

UBUNTU-linuxコマンド入門シリーズのサムネイル。この記事シリーズでは、よく使うコマンドを優先的に紹介し、シリーズを通して最低限コマンドライン操作ができるようになることを目標に紹介しています。 18 記事
シリーズ

Linuxコマンド入門

LINUXコマンドの基礎について、ゼロから最低限ファイル操作などができるようになるまでの手順を紹介します。linux系な...

今回は、catでは見ずらかった長いファイルを見るlessコマンドについて紹介します。

lessコマンドの使い方紹介、Linux Ubuntu初学者向けに、よく使うオプションを優先的に紹介しています。

1. less コマンドとは?

cat で1000行のファイルを表示しようとすると、中身が一瞬で画面外に流れていってしまう、という話をしました。

この問題を解決するのが less コマンドです。 less は、ファイルの中身を一画面ずつ表示し、自由にスクロール(閲覧)できるようにする「ページャー」と呼ばれるコマンドです。

実務や研究では、ログファイルや長いソースコードなど、「中身をじっくり確認したい」ファイルの閲覧は、ほぼ100% less が使われます。

2. less の基本的な使い方

less の使い方は cat と同じです。

less [表示したいファイル名.拡張子]

2-1. lessのビューア基本の操作方法

必須の操作方法

less を起動すると、専用の閲覧モードになります。以下のキー操作で中身を閲覧します。(マウスは使えません)

  • q: 終了する (Quit)。less を起動したら、まず q で終了できることを確認してください。
  • j または ↓ (下矢印): 1行下にスクロール
  • k または ↑ (上矢印): 1行上にスクロール
  • スペースキー または f: 1ページ分、下にスクロール (Forward)
  • b: 1ページ分、上にスクロール (Back)
  • / (スラッシュ): 検索(下方向)/ の後に探したい単語(例: /Error)を入力してEnterを押すと、その単語を検索(下方向に)できます。
    • 検索後、n で次の候補 (Next)、N で前の候補にジャンプできます。
  • ? (クエスチョン): 検索(上方向)。? の後に探したい単語(例: ?Error)を入力してEnterを押すと、その単語を検索(上方向に)できます。
    • 検索後、n で次の候補 (Next)、N で前の候補にジャンプできます。
  • g: ファイルの先頭 (Go) にジャンプ
  • G (Shift + g): ファイルの末尾 (Go) にジャンプ

3. lessの便利な”起動”オプションと起動後ショートカット

起動時にコマンドライン上で指定するオプションです。

3-1. 行数指定してそこから表示

3-1.(起動オプション) +行番号

例えば、プログラムを書いて、エラーが2003行目にあると出たとします。このとき、+[先頭にしたい行数]を指定すると指定した行数から表示してくれます。

# 2003行目のエラーを見るため、1990行目から開く 
less +1990 myprogram.c

3-1.(起動後) [行番号] g

起動後に、特定の行に移動したいときは、見たい行番号+gキーを押すとそこまでジャンプできます。

3-2. 行数表示 -N

-Nオプションで、ビューアに行番号を表示させることができます。

less -N error_log.txt

3-3. 長い行を折り返さない (左右スクロール) -S

横に非常に長いログ(1行が画面幅を超える)を見る場合、lessは自動で折り返して表示しようとします。 -Sオプションを付けると、折り返さずに キーで左右にスクロールできるようになります。

less -S error_log.txt

3-4. (起動後)ファイルの末尾を追跡 F (Shift + f)

lessでログファイルを開いている最中に Fキー を押すと、「追跡モード (Follow mode)」になります。 これは、tail -f コマンドのように、ファイルに新しい行が追記されるたびに、lessが自動で画面をスクロールして最新の状態を表示し続けてくれます。

  • 終了方法: 追跡モードを終了して、通常の閲覧モードに戻るには Ctrl + C を押します。
ちょこっと小話:「less」は「more」より多機能

less が登場する前、Unixには more というページャーコマンドが標準で存在しました。 more は、cat とは違って1ページずつ表示できましたが、大きな欠点がありました。

それは「一度表示したページには戻れない(=下スクロールしかできない)」ことです。

この more の不便さを解消し、k キーや b キーで自由に上下スクロール(Back & Forward)できるように機能拡張して作られたのが less です。

開発者の間では「less は more よりも多くのことができる (less is more than more)」というジョークが有名になりました。 現代のLinuxでは、more を使う理由はほとんどなく、ファイル閲覧は less 一択となっています。

moreコマンドは、ファイルを見るという用途において、lessで事足りるので、このシリーズでは紹介しませんが、特定の用途で便利な場合があるので、追々別シリーズで紹介するかもしれません。

第10回のまとめ

  • less : ファイルをビューアで見ることができる。
  • less +[行番号] :[行番号] を先頭にしてビューア起動。
  • ===必須の操作方法===
    • less を起動すると、専用の閲覧モードになります。以下のキー操作で中身を閲覧します。(マウスは使えません)
    • q: 終了する (Quit)。less を起動したら、まず q で終了できることを確認してください。
    • j または ↓ (下矢印): 1行下にスクロール
    • k または ↑ (上矢印): 1行上にスクロール
    • スペースキー または f: 1ページ分、下にスクロール (Forward)
    • b: 1ページ分、上にスクロール (Back)
    • / (スラッシュ): 検索(下方向)/ の後に探したい単語(例: /Error)を入力してEnterを押すと、その単語を検索(下方向に)できます。
      • 検索後、n で次の候補 (Next)、N で前の候補にジャンプできます。
    • ? (クエスチョン): 検索(上方向)。? の後に探したい単語(例: ?Error)を入力してEnterを押すと、その単語を検索(上方向に)できます。
      • 検索後、n で次の候補 (Next)、N で前の候補にジャンプできます。
    • g: ファイルの先頭 (Go) にジャンプ
    • G (Shift + g): ファイルの末尾 (Go) にジャンプ

次回予告

お疲れ様でした! 今回は lessコマンドについて紹介しました。次回(#11)は、ファイルの先頭やファイルの最後を表示させる headやlessコマンドについて紹介します。

headコマンドとtailコマンドの使い方紹介、Linux Ubuntu初学者向けに、よく使うオプションを優先的に紹介しています。

【初心者向け】head・tailコマンド「ファイルの先頭と最後を表示」- コピペで試せるオプション理解 -【Linuxコマンド入門 #11】

head,tail,ファイルの先頭、最後を確認するコマンドについて、よく使うオプションも例示しながら紹介します。

UBUNTU-linuxコマンド入門シリーズのサムネイル。この記事シリーズでは、よく使うコマンドを優先的に紹介し、シリーズを通して最低限コマンドライン操作ができるようになることを目標に紹介しています。 18 記事
シリーズ

Linuxコマンド入門

LINUXコマンドの基礎について、ゼロから最低限ファイル操作などができるようになるまでの手順を紹介します。linux系な...