Linux の ターミナルに色付けして見やすく

タッチできる目次

Ubuntu など Linux のターミナルのユーザー部分を色付けして見やすくする方法を紹介します。

コマンドを実行した時間も追加しているので、完了まで時間がかかるプロセスをいつ実行したのかひと目で分かります。

設定前
設定前
設定後
設定後

設定ファイルを編集

vim で 設定を編集

vim ~/.bashrc

下部に下記コードを追加する

# Output user
NAME="\[\e[1;37;42m\]"
HOST="\[\e[1;40m\]"
DIR="\[\e[0;30;47m\]"
END="\[\e[m\]"
TIME="\[\e[1;90;107m\]"

export PS1="${NAME} \u ${HOST} @\h ${DIR} \W ${TIME} \t ${END} "

# ls and ll
alias ls='ls -G --color'
alias ll='ls -laGh'

# Color ls
LS_COLORS='no=0:ow=41:di=7:fi=0:ln=105:pi=5:so=5:bd=5:cd=5:or=31:mi=0:ex=01;31:*.md=96'
export LS_COLORS

# Break after output
function add_line {
    if [[ -z "${PS1_NEWLINE_LOGIN}" ]]; then
        PS1_NEWLINE_LOGIN=true
    else
    printf '\n'
    fi
}
PROMPT_COMMAND='add_line'

設定を反映させる

source ~/.bashrc

環境変数の参考

\d	週・月・日の順に日付を表示。 例:火 4 16
\h	ホスト名のトップのみを表示。 例:hoge
\H	ホスト名を表示。 例:hoge.piyo.com
\j	現在シェルで管理されているジョブの数を表示。
\l	シェルのターミナルデバイス名のbasenameを表示。
\s	シェルの名前を表示。環境変数$0のbasename。
\t	24時間表示の時刻。フォーマットはHH:MM:SS。 例:20:16:45
\T	12時間表示の時刻。 例:08:16:45
\@	12時間表示の時刻。AM/PM表記付き。 例:08:16:45 PM
\u	ユーザ名の表示。
\v	バッシュのバージョン表示。
\V	バッシュのバージョン+パッチのバージョン表示。
\w	現在のディレクトリを表示。
\W	環境変数$PWDのbasenameを表示。
\!	コマンドのhistoryインデックスを表示。
\#	コマンドのコマンドナンバーを表示。
\$	ルートじゃなかったら”$”、ルートでログイン指定たら”#”が表示される。
\nnn	ASCIIコードが8進数値nnnである文字。???
\n	改行を出力。
\r	キャリッジリターンを出力。
\e	カラーコードのエスケープに使用します。(カラーコードについては後で説明します。)
\a	ベル文字。???
\\	バックスラッシュを出力。
\[	かっこの中は表示しない文字列。(カラーコードの表記に使用。)
\]	上に同じ。

配色の参考

no = デフォルト
di =ディレクトリ  
fi =ファイル  
ln =シンボリックリンク
ow = 誰でも書き込み可能ディレクトリ
tw = Directory that is sticky and other-writable (+t,o+w)
st = Directory with the sticky bit set (+t) and not other-writable
ex =実行可能ファイル
*.md = mdファイル

pi = FIFOファイル  
so =ソケットファイル  
bd =特殊ファイルのブロック(バッファ)  
cd =特殊ファイルからの文字(バッファなし)  
or =存在しないファイルを指すシンボリックリンク(孤立)  
mi =シンボリックリンクが指す存在しないファイル(ls -lと入力すると表示されます)  

文字色の参考

30	黒
31	赤
32	緑
33	オレンジ
34	青
35	紫
36	水色
37	グレー
90	暗いグレー
91	明るい赤
92	明るい緑
93	黄色
94	明るい青
95	明るい紫
96	ターコイズ
97	白

背景色の参考

40m	黒
41m	赤
42m	緑
43m	オレンジ
44m	青
45m	紫
46m	水色
47m	グレー
100m	暗いグレー
101m	明るい赤
102m	明るい緑
103m	黄色
104m	明るい青
105m	明るい紫
106m	ターコイズ
107m	白

その他の効果

# 1;37;42m のように使う

0	デフォルトの色  
1	太字  
4	下線付き  
5	点滅するテキスト (不可)
7	リバースフィールド  

絵文字の入れ方

「😎」を使いたい場合は バックスラッシュとコードを入れる

\U1F60E

ターミナルで出力確認

ターミナルで出力を確認

echo -e '\U1F60E'

bashrcではバッククォートをつける

`echo -e '\U1F60F '`

関連記事