きゃまなかのブログ

新卒6年目の WEB エンジニアです。 直近3年間は大規模システムの運用を担当していました。 今期から開発チームに移動になって、Java を勉強しています。 好きな言語が Ruby なので、Ruby 系の記事が多いです。

【Linux】コマンドの標準出力を色付けして運用を楽しくする

概要

単色の標準出力だと見づらいですし、運用していて楽しくないので、コマンドの標準出力を色付けしてくれる拡張パッケージをまとめました。

導入方法

拡張パッケージをインストールして、その後  bashrc か bash_profile に標準コマンドの alius を設定してサーバに反映させようと思います。

拡張パッケージ

exa

Rust で書かれた ls コマンドの出力を色付けしてくれるパッケージです。

github.com

はじめに Rust 系製品のパッケージマネージャーである cargo をインストールします。

$ curl https://sh.rustup.rs -sSf | sh
1) Proceed with installation (default)
2) Customize installation
3) Cancel installation
1 # 1 を入力して Enter

# インストール確認
$ rustc --version
rustc 1.23.0 (766bd11c8 2018-01-01)

 参考:rustup のインストール方法

※ 環境によって cmake など必要なパッケージがない場合には別途インストールして下さい。exa インストール時に足りないパッケージがエラー出力されると思います。

# cargo 経由でインストール
$ cargo install exa
# インストール確認 $ exa --version exa v0.8.0

 

ls コマンドと exa コマンドの見易さを比較します。

ls コマンド

exa コマンド

f:id:kyamanak83:20180114164714p:plain

f:id:kyamanak83:20180114164728p:plain

 

-T オプションをつけると tree コマンドと同じ標準出力になります。

tree コマンド

exa コマンド ( -T オプション)

f:id:kyamanak83:20180114165738p:plain

f:id:kyamanak83:20180114165259p:plain

colordiff

diff の標準出力を色付けしてくれるパッケージです。そのままのネーミングですね。

https://www.colordiff.org/

$ sudo yum --enablerepo=epel install colordiff

 

colordiff コマンドの場合、追加された行が 、削除された行が で色付けされます。

f:id:kyamanak83:20180114173310p:plain

grc

ifconfig, dig, netstat, ping, ps, traceroute, df, free など運用に欠かせないコマンドの色付けを手助けしてくれます。 

github.com

色付けしてくれるコマンドは grc.bashrc ⬇︎ に記載されているコマンド全部です。

https://github.com/garabik/grc/blob/master/grc.bashrc

※ 環境によって python34 など必要なパッケージがない場合には別途インストールして下さい。grc コマンド実行時にエラー出力されると思います。

$ git clone git@github.com:garabik/grc.git
$ cd grc/
$ sudo ./install.sh

 

一部のコマンドの色付け結果を見てみます。

■ ps コマンド

f:id:kyamanak83:20180114180150p:plain

■ dig コマンド

f:id:kyamanak83:20180114180211p:plain

ccze

tail などと併用してログを色付けして出力してくれるパッケージです。

github.com

$ sudo yum --enablerepo=epel install ccze

ccze コマンドは tail コマンドの結果をパイプで受けて色付けします。

f:id:kyamanak83:20180114181610p:plain

source-highlight

less の結果を色付けしてくれるパッケージです。

GNU Source-highlight - GNU Project - Free Software Foundation (FSF)

$ sudo yum install source-highlight

 

はじめに bashrc か bash_profile に以下の内容を記載することをオススメします。

export LESS='-R'
export LESSOPEN='| /usr/bin/src-hilite-lesspipe.sh %s'

その後、いつも通り less でファイルを開くと色付きで見ることができます。

f:id:kyamanak83:20180114184534p:plain

標準コマンドのエイリアスを設定

毎回 grc だったり、ccze だったりを付けるのは面倒くさいので、標準コマンドのエイリアスにしてしまします。

exa コマンドも馴染みがないので ls コマンドのエイリアスにしてしまった方がいいと思います。

.bashrc か .bash_profile に記載して下さい。

/etc/bashrc に記載して全ユーザに適用するのもありだと思います!

# grc を clone した時に入っていた bashrc を読み込む
. ~/grc/grc.bashrc 
# alias dig='grc dig', alias ps='grc ps' などを全てやってくれる

export PATH="$HOME/.cargo/bin:$PATH"
export LESS='-R'
export LESSOPEN='| /usr/bin/src-hilite-lesspipe.sh %s'
tailc () {
    tail $@ | ccze -A
}
alias tail='tailc'
alias ls='exa'

最後に

単色の標準出力で長時間作業しているとストレスが溜まってしまうと思うので、是非導入できるサーバには導入して運用を楽にして下さい。

なによりも色付きの標準出力の方が作業していて楽しいと思います!