gnulsiterm2ls-colors

Using GNU coreutils on iterm2 disables LSCOLORS


I am using iterm2 on Mac OS Catalina, however, I prefer all the GNU utils over the FreeBSD ones. Specifically, the cp command in FreeBSD lacks the -t option to specify the target, which I like to use when piping find | xargs cp -t <dest>.

So I used brew to install the GNU core utils as described in this post: https://apple.stackexchange.com/questions/69223/how-to-replace-mac-os-x-utilities-with-gnu-core-utilities

And so, I now have the GNU versions of the common shell tools, my ls is now using the /usr/local/opt/coreutils/libexec/gnubin/ls. The downside is that my ls colors are now gone. See below:

env and command outputs

I can obviously get around this by aliasing my ls command with the /bin/ls but I am wondering if there is a better way. How can I get the GNU ls to recognize my environment settings for colors?


Solution

  • I had the same issue.

    Looks like all GNU ls needed was --color=auto

    So this alias in my .zshrc worked -

    alias ls='ls -G --color=auto'

    I assume the same should work in .bashrc (not tested).