Linux具有为一个文件起多个名字的功能,称为链接。被链接的文件可以存放在相同的目录下,但是必须有不同的文件名,而不用在硬盘上为同样的数据重复备份。另外,被链接的文件可以有相同的文件名,但是存放在不同的目录下,这样只要对一个目录下的该文件进行修改,就可以完成对所有目录下同名链接文件的修改。对于某个文件的各链接文件,可以给不同用户赋予不同的存取权限,以控制对信息的共享和增强安全性。文件链接有两种形式,即硬链接和符号链接。
1.硬链接
建立硬链接时,在其他目录或本目录中增加目标文件的一个目录项,这样-一个文件就登记在多个目录中。图2-4中的m2.c文件就在目录mubl和liu中都建立了目录项。创建硬链接后,已经存在的文件的I节点号(Inode) 会被多个目录文件项使用。文件的硬链接数可以在目录的长列表格式的第二列中看到,无额外链接的文件的链接数为1。在默认情况下,In 命令创建硬链接。In 命令会增加链接数,m命令会减少链接数。除非一个文件的链接数为0,否则不会从文件系统中被物理地删除。
硬链接有如下限制:
①不能对目录文件创建硬链接。
②不能在不同的文件系统之间创建硬链接。也就是说,链接文件和被链接文件必须位于同一个文件系统中。