inode:
用来存储文件的元信息的索引节点。包括文件的创建者、创建日期、文件的大小等。Linux下一切皆文件,每个文件都有其对应的inode。
inode内容:
文件的字节数
文i件拥有者的UserID
文件的GroupID
文件读、写、执行权限
文件的时间戳:ctime(inode上一次变动时间)
mtime(文件内容上次变动的时间)
atime(文件上次打开时间)
链接数,即有多少文件名指向这个inode
文件数据block的位置
inode大小:
每个inode节点的大小,一般是128字节或256字节,inode节点的总数,在格式化的时候就给定,一般是1kb或2kb就设置一个inode。
硬链接:
指向inode的一个指针。系统并不为它重新分配inode(共用一个inode),多个文件名指向同一个inode,修改其中一个,与其链接的文件同时被修改。当删除硬链接的源文件时,硬链接文件仍然存在,而且保留了原有的内容,这时,它就会被当做一个普通文件。
硬链接的限制:①不允许给目录创建硬链接
②只有在同一文件系统的文件之间才能创建硬链接
命令格式
ls source_path target_path
↓ ↓
源文件 目标文件
软链接(符号链接):
相当于对源文件的引用,指向另一个文件的路径(path),可以是任意文件或目录,还可以链接不同文件系统的文件,甚至可以链接不存在的文件,还可以循环链接自己。
软链接没有任何文件系统的限制,任何用户可以创建指向目录的软链接。它具有更大的灵活性,甚至可以跨越不同的机器,不同网络。
命令格式:
in -s source_path target_path
软链接和硬链接的区别:
1、硬链接源文件和链接文件共用一个inode,说明它们是同一个文件
软链接源文件和链接文件拥有不同的inode,说明它们是两个不同的文件
2、在文件属性上软链接明确写出了是链接文件,而硬链接没有写出来,因为在本质上硬链接文件和源文件是完全平等关系
3、软链接的链接数目不会增加,文件大小不一样。
硬链接的链接数目会增加,文件大小和源文件一样。
4、软链接可以跨文件系统、可以对一个不存在的文件进行链接也可以对目录进行链接,硬链接不可以
5、硬链接当修改源文件或任何一个链接文件时,其他文件都会修改。删除源文件时,链接文件仍然存在
软链接在删除或修改链接文件时对源文件无影响,而当删除源文件时,链接文件就找不到要指向的文 件。