Source: http://www.cnblogs.com/stli/archive/2010/11/10/1873212.html
Hard Links:
1: The filename has a unique i-node representation, as the file name is a pointer variable, I-node is the object of the pointer refers to the content, which mainly includes the properties of the file and so on, as well as permissions.
2: So hard link means to create a pointer-like thing, it still points to the original i-node. Obviously similar to smart pointers, as long as there is a file name (pointer), the I-node (object) will not be deleted.
3: This process is the process of sharing objects (I-node)
Defects: One is not available in different file systems, and second, only superuser can use (root).
Soft connection:
1: The purpose is to eliminate the two defects, by creating a new I-node, but the content of the I-node is to point to the original file name, that is, to add an intermediate variable to connect the past, so the problem is the middle variable (pointer, file name) if it is deleted, it will not be able to connect, resulting in missing, So it's prudent to delete the middle file name.
2: It is similar to the shortcut icon in window, if the actual content is not, then the shortcut icon will naturally appear to find the content and error status.
Soft connections and hard connections under Linux