linux 下的硬链接与软链接
来源:互联网 发布:mba加油站 知乎 mpacc 编辑:程序博客网 时间:2024/05/21 04:25
在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号。文件属性保存在索引结点里,在访问文件时,索引结点被复制到内存,从而实现文件的快速访问。
Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。
一、硬链接
硬链接说白了是一个指针,指向文件索引节点,系统并不为它重新分配inode。
硬链接的建立:
硬链接的删除:
可以看出,在创建硬链接前,显示的链接数目为1,创建之后,链接数目变为2,test1.txt和test1hard在inode号是一样的,test1和test1hard显示的文件大小也是一样。可见进行了ln命令的操作结果:test1.txt和test1hard是同一个文件的两个名字,它们具有同样的索引节点号和文件属性,建立文件test1的硬链接,就是为test1的文件索引节点在当前目录上建立一个新指针。你可以删除其中任何一个 ,每次只会删除一个指针,链接数同时减一,当链接数减为0时,内核才会把文件内容从磁盘上删除。
二、软链接(符号链接)
软链接克服了硬链接的不足,没有任何文件系统的限制,任何用户可以创建指向目录的符号链接。因而现在更为广泛使用,它具有更大的灵活性,甚至可以跨越不同机器、不同网络对文件进行链接。
软链接的建立:
软链接的删除:
注意,删除软链接应该是 rm -rf linkname 而不是 rm -rf linkname/
可以看出:
(1)软链接原文件与链接文件拥有不同的inode号,表明他们是两个不同的文件;
(2)在文件属性上软链接明确写出了是链接文件,而硬链接没有写出来,因为在本质上硬链接文件和原文件是完全平等关系;
(3)链接数目是不一样的,软链接的链接数目不会增加;
(4)文件大小是不一样的,硬链接文件显示的大小是跟原文件是一样的;
(5)任何一个的时候 ,其他的文件都会做同步的修改 。软链接不直接使用i节点号作为文件指针,而是使用文件路径名作为指针。所以 删除连接文件对源文件无影响,但是删除源文件,连接文件就会找不到要指向的文件 。软链接有自己的inode,并在磁盘上有一小片空间存放路径名。
总结:软链接就是快捷方式,硬链接就是指向文件索引节点的指针。基于软链接的各种优势,更倾向于使用软链接。
- Linux下软链接与硬链接
- Linux下软链接与硬链接
- 关于linux下的软链接与硬链接
- 理解linux下的硬链接与软链接
- Linux下软链接与硬链接的区别
- linux 下的硬链接与软链接
- linux下的软链接与硬链接
- 【转】 Linux下软链接与硬链接的区别
- linux的软链接与硬链接
- Linux 的“硬链接”与“软链接”
- linux的硬链接与软链接
- linux的硬链接与软链接
- Linux 的硬链接与软链接
- Linux的硬链接与软链接(符号链接)
- linux下软连接与硬链接的本质区别
- linux下软链接与硬链接 ln命令
- Linux-理解 Linux 的硬链接与软链接
- Linux下的软链接和硬链接的不同
- 16进制
- D1.将数字转换成汉字
- 二进制
- iOS 苹果官方Demo合集
- java类型转换防止报异常
- linux 下的硬链接与软链接
- swift - 类的继承
- MVC,MVP 和 MVVM
- 创业网友提问:
- [Android异常]listview(含上拉加载,上拉加载)下拉刷新报数组越界异常
- 十六进制
- 单例模式
- Servlet监听器
- 判断一个点是否在三角形内