linux链接

来源:互联网 发布:python手册中文版 pdf 编辑:程序博客网 时间:2024/06/05 10:00
概念:linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)或者叫软链接。
(1)硬链接
        硬连接指通过索引节点来进行链接,在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index),所以多个文件名指向同一索引节点是存在的,硬链接不管有多少个,都指向的是同一个inode节点,会把节点连接数增加,只要节点的链接数不是0,文件就一直存在,不管删除的是哪个文件,只要有一个存在,文件就存在,因为都是指向同一个inode节点,只有节点数为0时文件才会真正被删除,不管修改哪一个文件,其他的文件都会做同步的修改,硬链接相当于同个文件的多份拷贝。
硬链接的2个限制:不允许给目录创建硬链接;只有在同一文件系统中的文件之间才能创建硬链接,即不同硬盘分区上的两个文件之间不能够建立硬链接,这是因为硬链接是通过结点指向原始文件的,而文件的inode节点在不同的文件系统中可能会有所不同。
(2)软链接
        软链接文件类似于windows下的快捷方式,在软链接中,文件实际上是一个文件文件,其中包含的是另一文件的位置信息,它允许该链接指向位于其他分区,甚至是其他网络硬盘上的某个文件。软链接不直接使用inode节点号作为文件指针,而是使用文件路径名作为指针,所以删除链接文件对源文件无影响,但是删除源文件,链接文件就会找不到要指向的文件,软链接有自己的inode,并在磁盘上有一小片空间存放其指向的路径名。
使用方式:ln [options] source dist(默认情况下,链接命令ln产生硬链接)
结论:
1、软链接可以跨文件系统,而硬链接不可以;
2、目录可以创建软链接,而不可以创建硬链接;
3、inode值相同的文件是硬链接文件,一个inode值可以对应多个文件;
4、创建一个新的硬链接文件后,其硬链接个数加1;
5、目录的硬链接数为子目录个数加2,不包括子子目录;
6、命令“ls -li”显示文件的inode节点信息。
原创粉丝点击