Unixコマンドでファイル名とディレクトリ名の色を分ける

はじめに

lsコマンドを実行した時、下の画像のように、カレントディレクトリ直下にあるファイル、ディレクトリの一覧が表示されると思います。

f:id:tk0137:20200916221433j:plain

しかしこれではどれがファイルでどれがディレクトリかが分かりにくいと思います。

今回はファイルの種類ごとに色付けして判別しやすいようにしたいと思います。

※実行環境:macOS Catalina 10.15.6

手順

まず以下のコマンドを実行して、シェルの種類を確認します。

$ echo $0

f:id:tk0137:20200916221601j:plain

私の場合はbashなのでこれを前提に作業を進めていきます。

・lsコマンドに-Gオプションをつける。

f:id:tk0137:20200916221951j:plain

その場しのぎ的な方法ですが、一番シンプルな方法です。

ですが私の場合はいちいちコマンドをつけるのも面倒だったので、これをデフォルト化しました。

その手法が以下の方法です。

・シェルのprofileファイルにlsコマンドの設定を書き込む。

これを行うことで下の写真のようにlsコマンドだけで色付きでファイルを表示してくれます。

f:id:tk0137:20200916221603j:plain

まずは以下のコマンドで.bash_profileを開きます。

$ vi ~/.bash_profile

そして開いた.bash_profileに以下の設定を書き込みます。

alias ls='ls -G'

私は以下のように、書き込みました。

他にもいろいろ書き込んであって見にくいかもしれませんが参考までに。

f:id:tk0137:20200916221706j:plain

これを書き込んで保存した後にlsコマンドを実行したのが二つ上の写真になります。

設定を変えた後にlsコマンドを実行しても色が変わらない場合は、コマンドを入力する端末を再起動するか、以下のコマンドを実行して設定を反映させて見てください。

$ source ~/.bash_profile

最後に

簡単ではありましたが、作業の効率化の一助になれましたら幸いです。

ありがとうございました。