软链接类似windows的快捷方式;
硬链接类似c++中的引用,即是给文件起了一个别名,用的还是同一片内存空间。
硬链接无法给目录做硬链接,无法跨文件系统等限制较多,故一般软链接用的较多。
对于软链接,当源文件被删除后,如又创建了同一文件名的文件,该链接仍有效----->适用于更新程序。
使用 ls -i 查看硬链接:文件属性完全一样,包括inode及创建时间,相当于cp -p +实时更新 。
硬链接,更改源文件名,硬链接仍起作用。
软链接,更改源文件名,软连接不起作用。
软链接可以类似-r,迭代创建链接。
链接的作用:
1)文件共享,一个地方更改,其他地方同步更改。
2)系统需要用到固定名称的库文件,但是系统中只有另一个库文件,此时建立链接即可。
参考如下:该文
大部分libxxxx.so只是一个链接,以RH9为例,比如libm.so它链接到/lib/libm.so.x,/lib/libm.so.6又链接到/lib/libm-2.3.2.so,如果没有这样的链接,还是会出错,因为ld只会找libxxxx.so,所以如果你要用到xxxx库,而只有libxxxx.so.x或者libxxxx-x.x.x.so,做一个链接就可以了ln -s libxxxx-x.x.x.so libxxxx.so
3)不用占用更多的磁盘空间
4)如果当前目录要使用某个文件,而该文件又不在该目录,可以创建软链接。