Linux中的文件与链接

 

Linux系统中的文件又:普通文件、目录文件、链接文件、设备文件。

Linux中文件的元数据块存放文件的属性,文件数据块存放文件真实内容。元数据块至少包含:文件名,文件数据块的Inode编号。  ——参考博客

 

对于一个Inode指向的区域,只要还有文件的Inode指向该处,这个文件就还存在。删除时,判断指向该Inode的硬链接数,若为0,则删除该文件,否则删除对应的硬链接。

 

Ubuntu中的链接的特点  ——参考

  链接分为软链接和硬链接,都是使用ln命令生成的,,无论是软链接还是硬链接,文件都保持同步变化。

硬链接:生成一个文件,该文件的Inode索引和源文件的Inode索引相同,所以是指向相同的文件。相当于引用。

软链接:生成一个文件,该文件的Inode与源文件不同,Inode指向的文件block内会存有源文件的Inode。相当于指针。

使用限制:不能对目录、不同文件系统、不存在的文件创建硬链接,但软链接都可以。

 

命令:

ln [-s] source target    # 在target处建立一个source的链接;软链接需要-s参数,硬链接不用

source和target必须为绝对路径,命令才能有效

rm -rf path/to/target    # 删除软链接,注意:target不能以斜杠'/'结尾  ——参考

 

eg:软链接

sudo ln -s full_source_path /usr/lib # 注意源路径写完整的,不以“/”结尾
sudo ldconfig               # 使生效

ll /usr/lib                # 查看相关链接
sudo rm -rf /usr/lib/xxx        # 删除链接文件,不影响源目录
sudo rm -rf /usr/lib/xxx/        # 删除链接文件指向的源目录下的文件,链接不受影响
** 即 target是软链接,target/指向链接指向的内容 

 * 软链接可以移动,移动后依然和原链接文件保持链接关系

posted @ 2022-08-06 11:36  谷小雨  阅读(119)  评论(0编辑  收藏  举报