linux/mac系统的软链接文件与硬链接文件

Posted 沧海一粟,何以久远

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux/mac系统的软链接文件与硬链接文件相关的知识,希望对你有一定的参考价值。

1、硬连接只能使用在文件上,不可以使用在文件夹上。至于文件前面的硬链接数字的含义如下:

如图标注区,为硬连接的数量,文件前的数字1表示没有硬链接。文件夹前面的数字至少是2,含义是这个文件夹是空文件夹,当数字大于2时,比如为n>2,则表示这个文件夹下面有个n-2个子文件和文件夹的和;因此从文件夹前面的这个数字可以知道文件夹下面到底有多少文件和文件夹(一个文件夹算做1,一个文件算作1)。至于文件夹的硬连接数为什么最小是2,有个解释是,每个文件夹下面都有两个默认的路径\'.\'和\'..\' ----- 其中一个点表示当前路径,两个点表示上个目录

 

 

  • 软链接文件:

特征:
1.其只是一个符号链接,相当于Windows的快捷方式
2.软链接的权限不决定原文件的权限
3.其文件的所有者,所属组,其他人的权限全部为rwx,即“lrwxrwxrwx”,l表示该文件为链接文件,以此来区分软链接 -- 这一条在mac下是lrwxr-xr-x
4.文件大小很小,因为其只是一个符号链接
5.生成的软链接文件的命名规则:/tmp/issue.soft -> /etc/issue 箭头指向原文件

6.软链接记录的是一个文件路径

  • 硬链接文件:

特征:
1.硬链接的来源相当于“拷贝cp -p+同步更新”原文件
2.我们可以通过ls -i来获取文件的ID,硬链接文件与原文件的ID是一样的,以此来区分硬链接
3.硬链接不能针对目录使用

如果把原文件删除,关于读文件,软链接文件就无法正常打开,但硬链接文件可正常访问。关于写文件,硬连接当然可以写,软链接文件也可以写,但是会新建一个文件,文件名字和原来的相同,但是inode值和原来的不同

 

ls 结果的最左边一列,是文件的 inode 值,你可以简单把它想成 C 语言中的指针。它指向了物理硬盘的一个区块,事实上文件系统会维护一个引用计数,只要有文件指向这个区块,它就不会从硬盘上消失

 

硬链接文件显示跟原来文件一样大小1.6G,软链接文件才27个字节;

找出一个文件的所有硬链接

ls -i查找文件的inode值
 
find <开始路径> -inum inode值
 
 
1)在同一文件系统下,可以创建软链接或硬链接(同文件系统不同目录下也可以);
2)硬链接的文件显示大小跟原文件一样;软链接的文件很小,只有几十个字节;
3)硬链接的文件的inode跟原文件一样;软连接的文件有自己的inode,跟原文件不一样;
4)创建软链接或硬链接文件不会明显占用文件系统磁盘空间;只是多了个链接的大小而已
 
参考:http://forrest420.iteye.com/blog/1291032
http://blog.chinaunix.net/uid-105044-id-2952059.html

以上是关于linux/mac系统的软链接文件与硬链接文件的主要内容,如果未能解决你的问题,请参考以下文章

Linux系统的软链接与硬链接有什么区别?

linux系统下的软连接与硬链接

Linux中的软链接与硬链接

Linux中的软链接与硬链接

软链接与硬链接的区别

Linux中软硬链接那些事儿