less -oオプションの使い方を徹底解説!Linuxで表示内容をファイルに保存する方法
生徒
「先生、Linuxのlessコマンドで表示した内容って、ファイルに保存できますか?」
先生
「はい、-oオプションを使えば、表示した内容を別のファイルに書き出すことができますよ。」
生徒
「ファイルに保存できるんですか!?ログの一部だけ保存したい時とか便利そうですね!」
先生
「その通りです。では今回は、lessコマンドの-oオプションの使い方をわかりやすく説明していきましょう!」
1. lessコマンドとは?
lessコマンドは、LinuxやUNIX環境で使われる「ページャー」と呼ばれるコマンドです。ページャーとは、ファイルの中身を1ページずつ表示して、スクロールしながら読むためのツールです。
たとえば、ログファイルなど長い内容を一気に表示するのではなく、画面を上下に動かしながら快適に読めるのが特徴です。
less /var/log/syslog
このように実行すると、キーボードの矢印キーやスペースキーを使って、ファイルを上下に移動して読み進めることができます。
2. -oオプションとは?
-oオプションは、lessで表示した内容を別のファイルにそのまま保存するためのオプションです。保存先のファイル名を指定するだけで、lessの画面に表示された内容が自動的に保存されます。
これは、ログの調査や、内容の一部をあとで確認したいときにとても便利な機能です。
3. 基本的な使い方
実際にlessコマンドでファイルを開き、内容を保存するには次のようにします。
less -o 保存先ファイル名 表示したいファイル名
たとえば、/var/log/syslogの内容をoutput.txtという名前で保存したい場合は以下のように実行します。
less -o output.txt /var/log/syslog
このコマンドを実行してless画面を閉じると、output.txtというファイルが作成され、中に表示された内容がそのまま保存されているのがわかります。
4. 実際にファイルが保存されているか確認してみよう
保存されたoutput.txtの中身を確認してみましょう。
cat output.txt
内容が表示されれば、lessで表示した情報が正しく保存されている証拠です。
なお、既に同名のファイルがある場合は上書きされてしまうので注意しましょう。大切なファイルを失わないためにも、保存先のファイル名には気をつけてください。
5. オプションを組み合わせてもっと便利に
-oオプションは、他のlessのオプションと組み合わせて使うこともできます。
● 行番号を表示しながら保存したい(-N)
行番号も一緒に表示して確認したい場合は、次のようにオプションを組み合わせて使います。
less -N -o result.txt /var/log/syslog
● 横長の行を折り返さずに保存したい(-S)
ログなどで横に長い行があると折り返されて読みにくいときは、次のようにします。
less -S -o longlines.txt /var/log/syslog
このようにオプションを組み合わせれば、見やすく、必要な形でログやテキストを保存できます。
6. less -oと他の保存方法との違い
less -oと似たような結果を得る方法には、以下のようなLinuxコマンドもあります。
● catコマンド+リダイレクト
cat /var/log/syslog > output.txt
この方法はファイル全体をそのまま保存しますが、lessのようにスクロールしながら確認しつつ保存、ということはできません。
● teeコマンド
teeコマンドを使うと、表示しながら保存もできます。
cat /var/log/syslog | tee output.txt
ただし、teeはすべての内容を一括で保存するため、lessのように「表示した部分だけ保存したい」ケースには向いていません。
つまり、less -oは「見ながら選んで保存する」ための、最もシンプルで使いやすい方法だと言えます。
7. less -oを使う上での注意点
less -oオプションを使用する際のポイントは以下の通りです。
- 既存のファイル名を指定すると、その内容は上書きされる
- lessを終了した時点で、表示された内容が保存される
- 保存された内容には、色や書式情報は含まれない
- セキュリティ的に保存が困る場合は、
-+oオプションで無効にできる
これらを意識して使えば、lessコマンドをもっと安全で便利に活用することができます。