UNIX/Linuxで「less」コマンドが「more」より優れている理由
大量の巨大なログファイルを日常的に扱う方も多いのではないでしょうか。筆者は通常、PuTTYやTelnetを使ってUNIX/Linuxサーバーに接続し、標準的なコマンドでファイルを読み込んでいます。X Window SystemのGUIを好むITエンジニアもいますが、回線速度が遅い環境では、コマンドライン端末を使った方が作業をはるかに速く完了できます。
ログを編集せずに閲覧したいだけなら、「less」コマンドを使いましょう。LinuxやUNIXの「less」では、ファイルの表示と基本的な検索操作が可能です。従来の「more」と異なり、前方向・後ろ方向の両方のスクロールに対応しているため、ドキュメント内の任意の場所で検索文字列を探すことができます。
「less」は「more」より優れている
lessの起動方法
lessでファイルを開くには、UNIXまたはLinuxのプロンプトでlessコマンドに続けてファイル名を入力します。
less ファイル名
以下の例では、verbose.log.moというファイルを開いています。

lessでファイルを開くと、端末の左下にファイル名が表示されます。
文字列の検索方法
ファイル内の文字列を検索するには、スラッシュ(/)を入力してから検索したい文字列を続けて入力し、Enterキーを押します。以下の例では、「error」という文字列を検索するために/errorと入力しました。

すると、ファイルの表示が該当する行へ自動的にジャンプします。見つかった文字列はハイライト表示されるため、視認性が大きく向上します。

次の一致箇所へ移動するには「n」キーを押します。大文字の「N」を押すと、前の一致箇所に戻ります。
覚えておきたいショートカットキー一覧
以下は、Wikiの「less」の項目で紹介されている主なキーボードショートカットです。
- [矢印キー]/[Page Up]/[Page Down]/[Home]/[End]: カーソル移動・ナビゲーション
- [スペースキー]: 次のページへ進む
- b: 前のページへ戻る
- ng: n行目にジャンプ。数値を省略した場合はファイルの先頭へ
- nG: n行目にジャンプ。数値を省略した場合はファイルの末尾へ
- /pattern: pattern(パターン)を検索。正規表現も使用可能
- n: 検索成功後、次の一致箇所へ移動
- N: 前の一致箇所へ移動
- mletter: 現在位置を任意の英字letterでマーク
- 'letter: マークした位置letterへ戻る(「'」はシングルクォート)
- '^ または g: ファイルの先頭へ移動
- '$ または G: ファイルの末尾へ移動
- s: 現在表示中の内容(grepなど他のプログラムから渡されたもの)をファイルに保存
- =: ファイル情報を表示
- F: ファイルを継続的に読み込み、末尾への追記を追跡。ログ監視に便利。Ctrl+Cで終了
- --option: コマンドラインオプション --option のオン/オフ切り替え
- h: ヘルプを表示
- q: lessを終了
「more」との違いとlessの利点
筆者が「less」で最も気に入っている点は、端末ウィンドウの幅と高さに自動的に追従してくれることです。「less」で表示中のテキストは、端末のウィンドウサイズを変更すると自動的に折り返されます。一方、古いツールである「more」は、端末の幅を狭めるとテキストが途中で切れてしまう傾向があります。この柔軟性こそが、「less」が「more」より優れている大きな理由です。
LinuxやUNIXで大量のテキストファイルやASCIIファイルを閲覧する機会が多い方は、ぜひ「less」を使いこなせるようになりましょう。コマンドライン端末でファイルを表示する際の最強のコマンドです。それでは、快適なログ閲覧ライフを!
-
【findコマンド徹底解説】Linuxでファイルやディレクトリを柔軟に検索する方法
Linuxのfindコマンドは、Linuxシステムにおいて最も重要かつ便利なコマンドの一つです。その名の通り、自分で設定したさまざまな条件や変数に基づいて、Linuxマシン上のファイルを検索できます。パーミッション、ユーザー、グループ、ファイルタイプ、日付、サイズなど、多彩な条件を組み合わせて目的のファイルを見つけられるのが特徴です。この記事では、findコマンドを使ってLinux上でファイルを検索する方法を詳しく解説します。 findコマンドはほとんどのLinuxディストリビューションにデフォルトで搭載されているため、追加でパッケージをインストールする必要はありません。 カレントディレクト
-
Arch LinuxとUbuntu徹底比較:どちらが優れたディストリビューションなのか?
Arch LinuxとUbuntuは、Linux界における二大ディストリビューションです。どちらも巨大なファンベースを抱え、一方を熱烈に支持し他方を否定するユーザーも少なくありません。さらに両者は、それぞれ多くの派生ディストリビューションを生み出しており、それら自体もLinuxコミュニティにおいて重要な存在となっています。では、どちらが優れているのでしょうか?Ubuntuは揺るぎない王者なのか?ArchこそがLinux上級者のための最高峰なのか?答えは「ある意味イエスであり、そして間違いなくイエスでもある」のです。インストールとセットアップ一見すると、この部門の勝者は明白に思えるかもしれません