软链接与硬链接文件

软链接与硬链接
我们知道文件都有文件名与数据,这在 Linux 上被分成两个部分:用户数据 (user data) 与元数据 (metadata)。
1、用户数据,即文件数据块 (data block),数据块是记录文件真实内容的地方
2、元数据则是文件的附加属性,如文件大小、创建时间、所有者等信息。在 Linux 中,元数据中的 inode 号(inode 是文件元数据的一部分但其并不包含文件名,inode 号即索引节点号)才是文件的唯一标识而非文件名。文件名仅是为了方便人们的记忆和使用,系统或程序通过 inode 号寻找正确的文件数据块。图 1.展示了程序通过文件名获取文件内容的过程。
图 1. 通过文件名打开文件
软链接与硬链接文件_第1张图片

为解决文件的共享使用,Linux 系统引入了两种链接:硬链接 (hard link) 与软链接(又称符号链接,即 soft link 或 symbolic link)。

图 2. 软链接的访问
如图所示
软链接与硬链接文件_第2张图片

项目 硬接接 软连接
原理 Hard link共享file的inode soft link有自已的inode和数据块,但数据块是指向其它文件的路径名
创建命令 link oldfile newfile 或ln oldfile newfile ln -s oldfile newfile
文件和目录操作 只有对文件操作 文件和目录都可以创建软链接
删除操作 删除一个硬链接文件并不影响 删除源文件会影响软链接文件(特别需要注意的当软链接是目录是删除软链接不能加上“/”否则会删除软链接时同时删除目录文件夹的所有文件)
查看 ls -li #如果是硬连接INODE是相同的 ls -li #查看目标文件
find 查找软链接与硬链接 find /home -samefile /home/harris/debug/test3/old.file find /home -lname data.txt

特别需要注意的当软链接是目录是删除软链接不能加上“/”否则会删除软链接时同时删除目录文件夹的所有文件)
rm -rf softfile 删除软链接
rm -rf softfile/ 删除软链接并删除目标文件夹的所有文件

你可能感兴趣的:(linux基础知识)