less -Sオプションの使い方を完全解説!折り返さず横スクロールで表示する方法
生徒
「Linuxで長いテキストファイルを表示したときに、文字が勝手に折り返されて読みにくいんです…。」
先生
「それなら、lessコマンドに-Sオプションをつければ、行の折り返しを止めて、横にスクロールできるようになりますよ。」
生徒
「えっ、そんな便利な方法があるんですか!?具体的にどう使えばいいんですか?」
先生
「それじゃあ、lessコマンドの-Sオプションについて、詳しく説明していきましょう。」
1. lessコマンドとは?
lessコマンドは、LinuxやUNIX系のOSで、テキストファイルの中身を1ページずつ表示するためのツールです。「見るだけ」のコマンドで、内容を変更することはありません。大量のログや設定ファイルを見るときに、とても便利です。
キーボードの「↑↓キー」や「PageUp」「PageDown」でページを移動できるので、初心者でも直感的に使える閲覧専用ツールです。
2. -Sオプションの意味と使い方
-Sオプションは、「行を折り返さずに、そのまま横スクロールで表示する」ためのオプションです。長い行の内容が画面の幅を超えると、通常のlessでは自動的に改行(折り返し)されてしまいますが、-Sをつけることで、それを防ぐことができます。
以下のように実行します。
less -S sample.txt
このコマンドを打つと、横幅の長いテキスト行でも改行されず、右方向にスクロールして確認できます。
横スクロールには、キーボードの「→キー」「←キー」を使ってください。
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が適用されます。