MacでGNUのコマンド群を使う

Macに入っているコマンド群はBSD版なので、lsで--colorオプションが使えなかったり、findでカレントディレクトリを検索する場合もディレクトリ指定を省略できないなどいろいろ不便。

GNU版のコマンドツールを使うために binutils, coreutils, findutils をインストールする。
それぞれのパッケージに含まれるコマンドツールについては以下を参照。

Homebrewでインストール


$ brew install xz
$ brew install binutils
$ brew install coreutils
$ brew install findutils

xz は coreutils をインストールするために必要。

coreutils の Formula に書いてくれればいいのにと思うのだがこんな議論もあるので個別にインストールする。

インストールされたコマンドはすべて頭に "g" がついている(gls, gfind, ...)。
coreutilsについては $(brew --prefix coreutils)/libexec/gnubin 以下に "g" がつかないシンボリックリンクが用意されるのでそれを使用する。.bashrc なり .zshrc に以下を追加。


export PATH=$(brew --prefix coreutils)/libexec/gnubin:$PATH

binutils, findutils についてはaliasファイルが用意されていないので必要に応じて自分で追加する。


alias find=gfind
alias xargs=gxargs
...