Creating SymLinks in Linux
A SymLink in Linux is a special kind of file that points to an actual file or directory, basically a shortcut, but a little different as a symlink is an actual pointer to the source file or directory. Symlinks can be very useful for example if you want to version files you can bump a version app_v2 but just have a symlink that refers app_latest that just references the latest version.
ln -s /path/to/source /path/to/symlinkSome useful SymLink options are:
-f If the target file already exists, then unlink it and force the link
-n Useful with the -f option, replace the symlink that might point to a directoryOne important thing to remember is that you must use the full path when creating symlinks and not the relative paths. For example if you have this as your filesystem
> ls
image.pngWe want to create another directory (folder) called pics that contains a symlink to image.png within it.
> mkdir pics
> ls
image.png
picsIf we tried to symlink just using relative paths the symlink would be broken:
> ln -s image.png ./pics/image.pngInstead, we should use the full path and in our case we can use the $PWD
value which expands to our present working directory:
> ln -s $PWD/image.png $PWD/pics/image.pngAnother option is to actually change directories into the pics directory and create the symlink from there:
> cd pics
> ln -s ../image.png image.pngRead more about it here