在Linux系统上要维护一个文件的多个副本:采用物理文件副本和虚拟副本。虚拟的副本就是链接,分为符号链接和硬链接。在Linux中,inode(索引节点)才是文件的唯一标识。
硬链接
一个inode号对应多个文件名。可以用link ln 创建
link oldfile newfile
ln oldfile newfile
硬链接的特点:
- 这几个文件有相同的 inode 及 data block;
- 只能对已存在的文件进行创建;
- 不能交叉文件系统进行硬链接的创建;
- 不能对目录进行创建,只可对文件创建;
- 删除一个硬链接文件并不影响其他有相同 inode 号的文件。删除原文件不会影响硬链接。
软链接
软链接有自己的inode号和用户数据块。
软链接的特点:
- 软链接有自己的文件属性及权限等;
- 可对不存在的文件或目录创建软链接;
- 软链接可交叉文件系统;
- 软链接可对文件或目录创建;
- 创建软链接时,链接计数 i_nlink 不会增加;
- 删除软链接并不影响被指向的文件,但若被指向的
原文件被删除,则相关软连接被称为死链接(即
dangling link,若被指向路径文件被重新创建,死链接可恢复为正常的软链接)。
ln -s oldfile newfile