Links are pointers between files. With links, you can have files exist in many locations and be accessible by many names. There are two types of links: hard and soft.
Hard links are names for a particular file. They can only exist within a single directory and are only removed when the real name is removed from the system. These are useful in some cases, but many users find the soft link to be more versatile.
The soft link, also called a symbolic link, can point to a file outside of its directory. It is actually a small file containing the information it needs. You can add and remove soft links without affecting the actual file.
Links do not have their own set of permissions or ownerships, but instead reflect those of the file they point to. Here is a common example:
$ ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Apr 6 12:34 /bin/sh -> bash
The -s option tells ln to make a symbolic link. The next option is the target of the link, and the final option is what to call the link. In this case, it will just make a file called mp3 in your home directory that points to /var/media/mp3. You can call the link itself whatever you want by just changing the last option.
Making a hard link is just as simple. All you have to do is leave off the -s option. Making a hard link out of the previous command would be done as follows:
$ ln /var/media/mp3 ~/mp3