美文网首页
linux学习笔记-day10-链接文件

linux学习笔记-day10-链接文件

作者: whatcanhumando | 来源:发表于2018-11-21 00:21 被阅读12次

linux中使用llls -l命令中文件属性为l的文件为软链接文件。链接文件分为2种类型,分别为硬链接(hard link)和软链接(symbolic link)。

linux系统读取文件时会先读取inode信息,然后根据inode信息到指定的硬盘位置读取具体的数据。inode相当于C语言中的指针,指向文件数据具体存放的位置。

硬链接是直接新建一个inode信息,这个inode信息直接指向目标文件对应的存放位置。也就是说进行硬链接时对原文件没有任何变化,只是新增了一个指向该位置的inode。但是硬链接有2个限制,第1它不能链接目录。第2它不能跨文件系统链接。

软链接是新建一个文件,当读取这个文件时会将读取的行为转发到目标文件上。如果删除了目标文件那么链接文件还是存在的,但是这个软链接文件将无法打开。如果删除软链接文件那么对于目标文件是没有任何影响的。软链接文件是一个独立的文件,只是操作系统对于读取该文件的方式与普通文件有所区别。并且目标文件可以是软链接文件,操作系统对递归查看最后的目标文件。

使用如下命令创建链接文件

ln test test_link

其中test文件为目标文件,test_link为链接文件。

如果像上面的命令一样不加-s则创建的链接文件为硬链接。创建了硬链接文件后,即使删除了原文件也不会对链接文件有什么影响,因为硬链接文件也保有一份inode用于指向文件所处的实际数据。就相当于同一个文件有2个文件名,只要修改了文件那么另外一个文件也就修改了。表面上看起来的2个文件实际上指向的是同一个硬盘位置。

但是如果加了-s参数创建了软链接,那么删除目标文件后,软链接也就失效了。

相关文章

  • linux学习笔记-day10-链接文件

    linux中使用ll或ls -l命令中文件属性为l的文件为软链接文件。链接文件分为2种类型,分别为硬链接(hard...

  • Linux编程学习笔记 | Linux IO学习[2] - 标准

    在上一篇Linux编程学习笔记 | Linux IO学习[1] - 文件IO中,我总结了Linux下的文件IO。文...

  • Linux[链接]: 静态链接,动态链接及linux内存布局

    Linux[链接]: 静态链接,动态链接及linux内存布局 一. 目标文件 1.1 目标文件概述 现在PC平台流...

  • ln 命令 为文件创建链接

    参考文章: 简明Linux命令行笔记:ln 为文件建立链接 ln [options] existing-file ...

  • Linux链接文件

    Linux 文件系统最重要的特点之一是它的文件链接。链接是对文件的引用,类似于Windows系统下的快捷方式,这样...

  • Linux链接文件

    有时候需要在系统上维护同一文件的两份或多份副本,除了保存多份单独的物理文件副本之外,还可以采用保存一份物理文件副本...

  • Linux命令学习之链接文件

    链接文件是Linux文件系统的一个优势,如果要在系统上维护同一文件的两份或者多份,除了保存多份单独的物理文件副本之...

  • C语言-系统-文件操作

    1. Linux 文件 Linux 常见的文件类型:普通文件、目录文件、设备文件、管道文件、套接字和链接文件等等。...

  • python文件操作学习笔记

    本文是Python文件处理的学习笔记。 文件的概念 Linux 系统中,一切皆文件。文件,也是一个文件对象。文件的...

  • 程序的链接(一):链接的概述

    学习ELF文件,除了要学习其文件格式本身,不可避免要了解其可执行文件的链接过程。这样可以为后续学习Linux/An...

网友评论

      本文标题:linux学习笔记-day10-链接文件

      本文链接:https://www.haomeiwen.com/subject/awbfqqtx.html