## Manipulating symbolic and hard links on Linux and Windows

By admin | August 23, 2008

Symbolic and hard links are a very convenient feature of the Linux and UNIX operating systems – they enable you to create a short alias, use it to avoid duplicate data and much, much more. They are also availible on Windows to a limited extent – NTFS supports only hard links while FAT/FAT32/VFAT supports neither. However, using Cygwin, you can use Windows shortcuts as symbolic links, but that is as far as it gets.

To create symbolic and hard links in Linux, make sure you have the GNU Coreutils installed, which provides the ln utility.

1. ln -s TARGET LINKNAME – Creates a symbolic link (shortcut on Windows) called LINKNAME that points to TARGET. This works with both folders and files.
2. ln TARGETFILE LINKNAME – Creates a hard link called LINKNAME that points to the file TARGETFILE. Only works for files; if you try to do it with a folder, the error message “ln: /folder/name/here‘: hard link not allowed for directory“.
3. ln -i COMMAND – Runs ln interactive mode, where it will ask you before running the command COMMAND, where the COMMAND is one of the commands above.
4. ln -f COMMAND – Forces ln to override any existing files while running the command COMMAND. For example, if you do ln -s /bin file and currently file exists, you will get “ln: creating (symbolic/hard) link linkname‘: File exists“. Use ln -f /bin file to make it work.
5. (Windows only) You remove fake symbolic links (shortcuts) with del linkname.lnk to accommodate the fact that it is a Windows shortcut. You can remove hard links the normal way you delete a file – del hardlinkname.
6. (Linux only) You remove symbolic and hard links the regular way you would remove files – rm yourlinkname.