linux_链接文件

链接概念:

分为软链接和硬链接,文件类型为 l

硬链接: ln 源文件 目标文件

软链接: ln -s 源文件 目标文件(目标文件不能事先存在)

ln -s /root/ /tmp/root    # 给 /root 目录创建一个软链接到 /tmp目录下

readlink /tmp/root        # 指出链接链向地址

touch test.sh    # 创建测试数据

ln test.sh /tmp/test.sh    # 创建硬链接

ll -i test.sh  /tmp/test.sh     # 检查两个文件的i节点

  

硬链接:

  硬链接是通过索引节点来进行链接,在linux系统中,多个文件名指向同一个索引节点是正常且允许的,这种情况的文件被称为硬链接,硬链接相当于文件的另外一个入口,建立硬链接防止误删,有备份作用

ln /etc/hosts /tmp/oldboy.host          #对于这个文件,创建一个硬链接,也可以说创建了一个文件新的入口 /tmp/oldboy.host

链接知识总结:

  1. 具有相同inode节点号的多个文件互为硬链接文件,创建了硬链接相当于文件实体多了入口
  2. 只有删除源文件及对应的所有对应的硬链接文件,文件实体才会被删除,删除源文件的其中一个或几个硬链接,文件实体不会删除。当删除成功时候,该文件位置没有被重新占用或fsck检查之前,文件数据是有可能恢复
  3. 通过给文件创建硬链接,防止重要文件被误删
  4. 硬链接文件时普通文件,可以被rm删除
  5. 静态文件(没有进程进行调用), i_link 为0的时候,文件将被删除
  6. 删除源文件,软链接文件依旧存在,但是找不到文件,会红白闪烁
  7. 多个软链接指向同一个文件,单这些软链接inode不同,属于不同文件
  8. 软链接的文件类型为l,硬链接文件类型和源文件一样

对文件链接:

  1. 文件可以创建硬链接,增加了文件的入口,但是创建硬链接不能跨分区

  2. 文件可以创建软链接,但只能在同级目录,出来同级目录失效

  3. 其实文件名本身就是个硬链接,也是文件入口

对于目录链接

  1. 目录不能创建硬链接,目录可以创建软链接
  2. 目录的软链接在生产场景经常使用,硬链接少用
  3. 每个目录下都会有两个硬链接, . 当前目录, .. 上级目录

链接总结: 

  

  1. 为文件创建硬链接,增加文件读数据入口;为目录创建软链接,可以直接通过软链接进入目录

  2. 删除源文件名,只要还有该源文件的硬链接在,通过硬链接还是可以访问到数据,并没有被删除,为什么?

   

    当 i_link = 0 和 i_count = 0 的时候,就像把文件数据关进了小黑屋,被回收了,就删除了

  3. 删除软链接,对源文件没有任何的影响,删除源文件名,指向该源文件的软链接失效

  4. 硬链接 指向的inode相同,软链接有自己的 inode 和block

  

时间: 2024-11-14 16:15:59

linux_链接文件的相关文章

Linux下如何查看一个文件是否拥有软链接或硬链接文件?

问题1:我创建了一个硬链接文件,但是我不知道放在那里了,请问怎么办? 思路: 查找文件可以利用find命令. 硬链接的特性,不会跨文件系统,所以源文件在哪个文件系统中,就在那里找 硬链接文件和源文件具有相同的inode号,可以利用find的-inum参数和-samefile参数来查找. -inum参数表示按照inode号去查找,首先要查看文件的inode号 -samefile参数表示查找和某个文件相同的inode的文件,不用查看文件的inode号 [[email protected] oldbo

Linux的链接文件实用举例

1.语法 ln 参数 源目录或文件 目标目录或文件(link_name) 分为硬链接和软链接. 2.建立链接 ln -s /file1 /file2 3.删除链接 rm -rf 链接名 4.注意点: a.一般用绝对路径,而且必须在同分区中 b.较常用的是什么软链接,软件链接可以跨文件系统还可以链接目录. c.无论是软链接或者是硬链接修改文件都会对硬盘进行修改,也就是说所有的链接文件都会被修改. d.rm -rf 链接名  千万不要加/

linux基础之链接文件

链接文件:访问同一个文件不同路径: 硬链接:指向同一个inode的多个文件路径: 特性: (1) 目录不支持硬链接: (2) 硬链接不能跨文件系统: (3) 创建硬链接会增加inode引用计数: 创建: ln  src  link_file 符号链接:指向一个文件路径的另一个文件路径: 特性: (1) 符号链接与文件是两人个各自独立的文件,各有自己的inode:对原文件创建符号链接不会增加引用计数: (2) 支持对目录创建符号链接,可以跨文件系统: (3) 删除符号链接文件不影响原文件:但删除原

linux链接文件

linux链接文件 链接有两种方式:硬链接和软链接. (一)软链接 软链接又叫做符号链接.基本命令为: [plain] view plaincopy ln -s sourcePlace newPlace 软链接可以链接任何文件或者目录,还可以链接不同文件系统的文件或者目录. 软链接的特点: 1.要建立链接时,newPlace必须是存在的:而当sourcePlace不存在时建立的连接是一个空链接,相当于空指针.空链接文件也可以操作,而且如果对空链接进行操作,比如 emptyFile是空链接,进行v

Linux的链接文件-ln命令

Linux的链接文件 使用ln命令来创建链接文件(link) Linux链接分两种:硬链接(Hard Link),符号链接(Symbolic Link) 默认情况下,ln命令产生硬链接. [[email protected] lianxi]# ln  -s  xiaotong   tongtong    #符号链接才能为目录建立链接 源文件     目标文件(链接文件) [[email protected] lianxi]# cd tongtong/ [[email protected] ton

Linux下的链接文件

整理自<鸟哥的Linux私房菜>,整理者:华科小涛http://www.cnblogs.com/hust-ghtao/ Linux中的链接文件分为两种:硬链接和软链接.软链接(symbolic link)很好理解,就是类似于Windows的快捷方式功能的文件,让你可以快速链接到目标文件(或目录):另一种是通过文件系统的inode链接来产生新文件名,而不是产生新文件,这种称为硬链接(hard link). 1. Hard link 在前面的博客中EXT2/EXT3文件系统(一),我们知道: 每个

8. 文件系统——文件的删除、移动、复制过程以及链接文件

一.删除.移动.复制和文件系统的关联关系 1.删除文件的过程 以/var/log/messages这个文件为例,删除messages这个文件的过程大致如下: ①找到/var/log/messages所在的inode(查找文件的过程见前一章节): ②删除/var/log目录上有关messages的条目: ③清空索引中/var/log/messages对应的inode数据(注意,不是删除inode,而是清空这个inode的数据),将此inode对应的位图改为空闲(如从1改为0).事实上可以不清除数据

Linux基础篇三——链接文件知多少

As is known to all,在windows环境下我们早已经见过链接文件,机我们平时所使用的快捷方式. 其实,在linux里我们可以见到以下两种类型的链接文件 a.硬链接文件 创建命令:ln [源文件] [目标文件] 硬链接即实际链接. 记得我们讲过什么叫做inode,那么我们来根据下图理解一    这样做的意义是:安全.如果你不慎删除了其中一个文件名那么你还可以通过其他文件来找到这个源文件 并且你修改一个文件其他的文件也会跟着被修改 *上图中能看到,这两个文件的信息是一模一样的 实际

linux中软、硬链接文件比较

硬链接文件特征: 1.拥有相同的i节点和存储block块,可以看作是同一个文件: 2.可以通过i节点识别 3.不能跨分区 4.硬链接不能链接目录 5.修改任意文件另一个都变 6.删除源文件,硬链接能继续使用 语法: ln  源文件  目标文件 软链接文件特征: 1.类似于Windows快捷方式 2.软链接拥有自己的i节点和block块,但是数据块中只保存源文件的文件名和i节点号,没有实际的文件数据: 3.软链接的文件权限为rwxrwxrwx 4.修改任意文件,另一个都改变 5.删除原文件,软链接