bat:カラーと行番号付き、進化系catビューア

bat

batコマンドについての概要と詳細

batとは

bat は、catコマンドの機能強化版として開発されたコマンドラインツールです。ファイルの内容を表示する基本機能に加え、シンタックスハイライト行番号の表示Git変更のインライン表示テーマ対応など、開発者にとって便利な機能が多数備わっています。
Rust言語で書かれており、高速で美しい出力を実現しています。

主な特徴

  • シンタックスハイライト:ソースコードの構造が一目で分かる
  • 行番号表示:デバッグやコードレビューに便利
  • Git統合:変更・追加・削除が色付きで表示される
  • テーマ切り替え:好みの配色で表示
  • catとの互換性:既存スクリプトの置き換えも簡単

インストール方法

Debian/Ubuntu系
$ sudo apt install bat
※一部のディストリビューションではコマンド名が batcat になっている場合があります。

Fedora系
$ sudo dnf install bat

基本的な使い方

ファイルの表示

$ bat file.txt

複数ファイルの同時表示

$ bat file1.py file2.py

catの代替として使う(パイプ入力対応)

$ echo "Hello, world!" | bat

Gitの変更点を表示

$ bat main.py

※Gitリポジトリ内で実行すると、変更箇所に色が付きます。

batcatというコマンド名でインストールされた場合の対応

$ alias bat='batcat'

テーマ一覧を表示

$ bat --list-themes

テーマを指定して表示

$ bat --theme="Monokai Extended" file.py

設定ファイルの場所

  • Linux:~/.config/bat/config
  • 設定例: --theme="Dracula" --style=numbers,changes --paging=never

出力例

───────┬────────────────────────────────────────────────────────────
  File: example.py
───────┼────────────────────────────────────────────────────────────
   1   │ def hello():
   2   │     print("Hello, world!")
───────┴────────────────────────────────────────────────────────────

catとの違い

項目catbat
表示機能プレーンなテキストカラー表示・構文強調
行番号なしあり
Git連携なし変更を強調表示
テーマ切り替えなし可能
パフォーマンス高速やや重いが高速

まとめ

bat は、cat コマンドの進化系として、開発者や管理者にとって非常に便利なツールです。
ソースコードの確認、ログの読みやすさ、Git変更の可視化など、日常的な作業を効率化する多くの機能を備えています。
普段 cat を使っている場面に bat を導入することで、視覚的にわかりやすく美しい表示が可能になります。