And the easy fix from the man pages does not exist on macs If contains a smiley face, and I want to create a link from to this file, the for “create a symbolic link” tells me to source_file symbolic some_directory/ first Google result $ ln -s source_file some_directory/link However, on closer inspection, it looks like something is going wrong! $ cat some_directory/linkcat: some_directory/link: No such file or directory Read on to experiment a little bit and see where the OS is looking for the source of our symbolic link. If you want to skip to the end that’s fine too, I’ve included a link with some helpful solutions. really StackOverflow Setup First, let’s setup a dummy that contains an ascii smiley face source_file $ cd$ echo ":)" >> source_file$ cat source_file:) Our goal is to create a symbolic link to . We want to be able to and see the smiley face from . source_file $ cat some_directory/link source_file Like we saw above, following the the instructions on the for “create a symbolic link” doesn’t quite work how we expect first Google result $ mkdir some_directory$ ln -s source_file some_directory/link$ cat some_directory/linkcat: some_directory/link: No such file or directory Ok, Where is Our Link Pointing? After some digging, I realized that the OS might be searching for my source file to the final location of my link! I tested this hypothesis by creating a new adjacent to my link, and giving it a frowny face relative source_file $ echo ":'(" >> some_directory/source_file The new directory structure looked like source_file # :)some_directory/|-- link|-- source_file # :( And was indeed pointing to the file with the frowny face some_directory/link $ cat some_directory/link:'( was not pointing to , it was pointing to some_directory/link source_file some_directory/source_file Fix #1: Recursive Symbolic Links Once I diagnosed the problem, it was easy to find the right option for in the . ln man pages $ ln -sr source_file some_directory/other_link$ cat some_directory/other_link:) But wait! Things did not go this smoothly. As far as I can find, has no or option on mac. ln -r --recursive Fix #2: Absolute Path On mac, I could use the absolute path for source_file $ ln -s ~/source_file some_directory/absolute_link$ cat some_directory/absolute_link:) Fix #3: Type Out the Relative Link Or, another option (my preferred — not everyone checks out their git repositories into the same folder on their local dev machine) was to use a source file path relative to the symbolic link $ ln -s ../source_file some_directory/other_link$ cat some_directory/other_link:) Conclusion aka TL/DR As always, StackOverflow has some more great ways to fix this problem _Join Stack Overflow to learn, share knowledge, and build your career. What is the simplest way of copying symbolic…_stackoverflow.com Copying symbolic links in Mac OS X