less -Sオプションの使い方を完全解説!折り返さず横スクロールで表示する方法
生徒
「Linuxで長いテキストファイルを表示したときに、文字が勝手に折り返されて読みにくいんです…。」
先生
「それなら、lessコマンドに-Sオプションをつければ、行の折り返しを止めて、横にスクロールできるようになりますよ。」
生徒
「えっ、そんな便利な方法があるんですか!?具体的にどう使えばいいんですか?」
先生
「それじゃあ、lessコマンドの-Sオプションについて、詳しく説明していきましょう。」
1. lessコマンドとは?
lessコマンドは、LinuxやUNIX系のシステムで、テキストファイルの内容を画面に表示するための非常に強力な「ページャ」と呼ばれるツールです。「ファイルの中身を確認したいけれど、誤って内容を書き換えたくない」という時に最適で、基本的には閲覧専用として使用します。
プログラミング未経験の方でも、Windowsの「メモ帳」やMacの「テキストエディット」でファイルを開く感覚に近いですが、大きな違いは、数ギガバイトあるような巨大なログファイルでも、動作が重くならずに一瞬で開ける点にあります。これは、ファイル全体を一気に読み込まず、表示に必要な分だけを読み込む仕組み(遅延読み込み)を採用しているためです。
基本的な使い方は、コマンドの後に表示したいファイル名を指定するだけです。例えば、test.txtというファイルの中身を確認する場合は以下のように入力します。
less test.txt
Hello Linux World!
This is a sample text file.
Enjoy learning commands!
操作方法は直感的です。キーボードの「↑」「↓」キーで1行ずつスクロールでき、「スペース」キーで次のページへ、「b」キーで前のページへ戻ることができます。また、閲覧を終了して元のターミナル画面に戻りたいときは、キーボードの「q」キー(quitの略)を押すだけです。マウスを使わずにキーボードだけで軽快に操作できるのが、プロの現場で愛用される理由です。
2. -Sオプションの意味と使い方
lessコマンドで長い1行のテキストを表示すると、通常は画面の右端で自動的に折り返されて表示されます。しかし、ログファイルや表形式のデータを見ているときに勝手に折り返されると、どこまでが1行のデータなのかが分からなくなり、非常に読みづらくなってしまいます。
そこで役立つのが、「--chop-long-lines」の略称である-Sオプションです。このオプションを付けることで、行を折り返さずに「1行をそのまま1行として」表示できるようになります。画面からはみ出した部分は隠れますが、キーボード操作で左右に自由にスクロールして確認できるようになるため、データの構造を壊さずに閲覧できます。
使い方は非常にシンプルです。lessとファイル名の間に-Sを入れるだけです。
less -S sample.txt
このコマンドを実行すると、ターミナルの右端で文字が消えているように見えますが、以下のキーを使って隠れた部分を表示させることができます。
- 右矢印キー(→):右側にスクロールして、隠れている文字を表示します。
- 左矢印キー(←):左側にスクロールして、元の位置に戻ります。
たったこれだけの操作で、まるでExcelのシートを横にスライドさせて見ているような感覚でテキストファイルを閲覧できるようになります。
3. 実行例を見てみよう
例えば、以下のような長い内容が書かれているテキストファイルを表示したいとします。
cat sample.txt
This is a very long line that will not fit in the terminal window unless we scroll horizontally using less -S option.
このファイルを普通にlessコマンドで開くと、次のように行が途中で折り返されてしまいます。
less sample.txt
This is a very long line that will not fit in the terminal window unless we scroll
horizontally using less -S option.
しかし、-Sオプションをつけると、改行されずに一行のまま表示されます。画面からはみ出しても、横にスクロールして読むことができます。
less -S sample.txt
This is a very long line that will not fit in the terminal window unless we scroll horizontally using less -S option.
4. 折り返し表示との違いを比較しよう
折り返し表示は、画面の幅に収まるように勝手に改行されてしまうため、1行の情報を把握するのが難しくなります。特にログファイルやCSVファイルのように横に長い情報が並んでいる場合、行ごとの対応関係が分かりにくくなってしまいます。
このようなときに-Sオプションを使えば、元のファイルのレイアウトを崩さずに表示できるため、とても見やすくなります。
5. 他の便利なオプションとの組み合わせ
-Sオプションは、他のオプションと組み合わせることでさらに便利になります。以下はよく使われる組み合わせです。
-N:行番号を表示する-S:横スクロールを有効にする(行折り返し無効)
組み合わせ例:
less -SN log.txt
このコマンドでは、ログファイルの内容を「行番号つき・横スクロールあり」で表示できます。ログの分析や調査にもってこいです。
6. lessとmoreの違いとは?
初心者の方には、lessと似たコマンドにmoreがありますが、lessの方が高機能で便利です。以下に違いをまとめます。
| コマンド | 特徴 |
|---|---|
| more | ファイルの先頭から下方向にしか移動できない |
| less | 上下左右に自由に移動でき、検索も可能 |
特にless -Sは、横スクロール対応でmoreにはできない表示が可能なので、より快適にテキストを閲覧できます。
7. デフォルト設定にする方法(エイリアスの活用)
毎回-Sをつけるのが面倒な人は、エイリアス(別名コマンド)を設定することで、自動的に-Sが有効になります。
以下のように設定します。
echo "alias less='less -S'" >> ~/.bashrc
source ~/.bashrc
これで、次回から単にlessと打つだけで、-Sが適用されます。