linux之软链接、硬链接

linux下文件的差异:

linux系统下,会将文件分成两个部分:用户数据与元数据。

用户数据:也叫文件数据块,就记录文件真实内容的地方,也叫做Block

元数据:是文件的附加属性,像文件大小,创建时间等,也叫做Inode

注意:inode只是元数据的一部分,它不包含文件名

 一、软链接

软链接就相当于windows下的快捷方式,软链接的本质就是创建一个inode来指向源文件(用户数据)

 注意:删除软链接不会对源文件造成影响,删除源文件会对软链接造成影响。

 命令:ln -s 链接的路径 要链接的文件或者文件夹

例子:ln -s /usr/local/redis/src/redis-server /usr/bin/redis-server

二、硬链接

硬链接本质就是创建一个文件别名,但是使用的还是原来的inode。

命令:ln 要链接的路径  链接文件

例子 :ln /root/file /tmp/file_hard

 注意:硬链接不能链接目录也就是文件夹,也不支持跨分区系统

总结

1、ln命令创建硬链接,ln -s命令创建软链接。
2、目录不能创建硬链接,并且硬链接不可以跨越分区系统。
3、目录软链接特别常用,并且软链接支持跨越分区系统。
4、硬链接文件与源文件的inode相同,软链接文件与源文件inode不同。
5、删除软链接文件,对源文件及硬链接文件无任何影响。
6、删除文件的硬链接文件,对源文件及链接文件无任何影响。
7、删除链接文件的源文件,对硬链接无影响,会导致软链接失效。
8、删除源文件及其硬链接文件,整个文件会被真正的删除。

原文地址:https://www.cnblogs.com/nq31/p/14238750.html