一、创建软链接
软链接相当于Windows下的快捷方式,
ln -s file file.s 创建一个软链接:
这里软链接的大小为4个字节,表示软链接的路径。
Linux 下的软链接行为和 windows 下的快捷方式差不多,但是如果是用相对路径创建的软链接,在软 链接移动之后就会失效,无法访问。这一点和 windows 快捷方式不同,windows 快捷方式随便放哪里 都行。
失效的软链接,不能查看内容。
所以创建软链接最好用绝对路径,这样随便搬移也不会失效。
图中的权限是软链接本身的权限,不是软链接指向文件的权限。
二、创建硬链接
ln file file.hard
创建硬链接后,硬链接计数会加1;
文件file有两个硬链接,file.h和file.hard,修改文件或者任意一个硬链接,这三个文件的变化是同步的。
产生这种变化的原因是到文件和硬链接的 Inode 是相同的,每个文件都有唯一的 Inode,直观理解起来就像C++里 面的引用,对于同一个文件,无论有多少引用,在访问时,都是这个文件,所以修改就是同步的。
创建硬链接后,硬链接计数会加1,同样,删除文件或硬链接,硬链接计数会减1,当硬链接计数为0时,才会删除这个文件。