13

On my linux machine, you can tell intact symlinks from broken ones, because broken ones are colored red. I've tried to set this up on my mac by adding some configurations to PSCOLORS in my .bash_profile, but so far nothing has worked. I've managed to get the coloring to tell apart directories, files, executables, and symlinks. However, the broken symlinks are not a different color than intact symlinks. Searching around on google hasn't rendered any promising results. Ideas? Tricks?

1
  • You might be successful in installing a port of Linux' ls that supports coloring symbolic links for their targets, and colors orphaned links. OS X's ls simply cannot do it. It's 150KB of source code vs. 25KB of source code...
    – Daniel Beck
    May 18 '12 at 9:41
6

I don't think it's possible – the man page for ls doesn't list a color slot for broken symlinks.

Here's a handy find one-liner for finding broken symlinks:

find -L . -type l -ls
12

Install Homebrew first.

  1. Install GNU coreutils: brew install coreutils
  2. Put the following in your ~/.bash_profile: eval $(gdircolors) alias ls="gls --color=auto"

Open a new shell, and broken links will be highlighted like on Linux.

3
  • 1
    don't forget to add the following alias in your ~/.bash_profile: alias ls="gls --color=auto"
    – carlito
    Oct 31 '14 at 14:43
  • 1
    As it is just an output of dircolors, you can as well just put eval $(dircolors) in your ~/.bash_profile (if dircolors is installed)
    – Scz
    Nov 11 '16 at 10:27
  • Nice tips, I've added it to the answer. Thanks to @lorenzo. Nov 20 '16 at 2:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.