精华内容
下载资源
问答
  • Linux的两种链接

    千次阅读 2018-11-13 14:59:56
    Linux 链接两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link),也就是软链接。默认情况下,ln 命令产生硬链接,ln -s命令产生软链接。   【硬连接】硬连接指通过索引节点来进行连接。...

    Linux 链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link),也就是软链接。默认情况下,ln 命令产生硬链接,ln -s命令产生软链接。

     

    【硬连接】硬连接指通过索引节点来进行连接。在 Linux 的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在 Linux 中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。

    硬连接有 2 个限制:

    • 不允许给目录创建硬链接
    • 只有在同一文件系统中的文件之间才能创建链接。 即不同硬盘分区上的两个文件之

        不能够建立硬链接。这是因为硬链接是通过结点指向原始文件的,而文件的结点在不       同的文件系统中可能会不同。

     

    【软连接】软链接又叫符号链接,它实际上是一个特殊的文件,有点类似于 Windows 的快捷方式。这个文件包含了另一个文件的路径名。可以是任意文件或目录,可以链接不同文件系统的文件。

    链接文件甚至可以链接不存在的文件,这就产生一般称之为"断链"的问题(或曰“现象",链接

    文件甚至可以循环链接自己。类似于编程语言中的递归。

     

    实验部分:

    一起通过实验加深理解

    [root@foundation101 mnt]# touch file1        #创建一个测试文件 file1
    
    [root@foundation101 mnt]# ln file1 file2       #创建file1的一个硬链接文件file2
    
    [root@foundation101 mnt]# ln -s file1 file2     #创建file1的一个软链接文件file3
    
    [root@foundation101 mnt]# ls -li             # -i 参数显示文件的 inode 节点信息
    
    total 0
    
    404508247 -rw-r--r--. 2 root root 0 Jan 22 23:24 file1
    
    404508247 -rw-r--r--. 2 root root 0 Jan 22 23:24 file2
    
    404508260 lrwxrwxrwx. 1 root root 5 Jan 22 23:24 file3 -> file1

    从上面的结果中可以看出,硬链接文件file2与原文件file1的 inode 节点相同,均为404508247 ,然而软链接文件的 inode 节点不同。

    [root@foundation101 mnt]# echo nihao > file1
    
    [root@foundation101 mnt]# cat file1
    
    nihao
    
    [root@foundation101 mnt]# cat file2
    
    nihao
    
    [root@foundation101 mnt]# cat file3
    
    nihao
    
    [root@foundation101 mnt]# rm -rf file1
    
    [root@foundation101 mnt]# cat file2
    
    nihao
    
    [root@foundation101 mnt]# cat file3
    
    cat: file3: No such file or directory

    通过上面的测试可以看出:当删除原始文件法file1后,硬链接file2不受影响,但是软链接file3文件无效

     

    总结:

    1).删除软链接file3,对 file1,file2无影响;

    2).删除硬链接 file2,对 file1,file3 也无影响;

    3).删除原文件 file1,对硬链接 file2 没有影响,导致软链接 file3失效;

    4).同时删除原文件file1,硬链接file2,整个文件会真正的被删除。

    展开全文
  • 在Linux下存在中连接文件,一可以看似Windows中快捷方式功能的文件,另一是利用文件系统中inode连接产生新文件名(硬链接)。 硬链接(Hard Link) 每个文件都会占用一个inode来保存一些信息,这些信息...

    在Linux下存在两中连接文件,一种可以看似Windows中的快捷方式功能的文件,另一种是利用文件系统中inode连接产生的新文件名(硬链接)。

    1. 硬链接(Hard Link)
      每个文件都会占用一个inode来保存一些信息,这些信息可以指向存放实际文件内容的block。读取文件内容必须经由目录记录的文件名来指向其inode,硬链接说白了就是多个不同文件名指向同一个inode。
    建立硬链接----#ln 链接目标路径   建立的链接文件路径
    

    建立一个链接到/etc/bashrc的硬链接文件bshrc
    在这里插入图片描述
    不知道发现、/etc/bashrc与bashrc的特点没?两者的inode同为25238855且权限属性都一样,除了文件路径不同其他无区别。图中也显示了连接数2,指明当前有多少个文件名连接到这个inode号码。如果我删除其中一个会怎样?结果是不怎样,因为删除一个inode还是存在的啊,可以通过另一个文件名读取这个inode区块的内容。硬链接也会有限制性,它不可以跨文件系统链接,不能链接目录,链接目录会增加环境复杂度。
    在这里插入图片描述

    1. 符号链接(Symbolic Link)
      符号链接就是建立个独立文件,该文件使数据读取指向它链接的那个文件的文件名,注意区别于硬链接,硬链接是连接到那个inode。
    符号链接语法------#ln -s  链接目标路径   建立的链接文件路径
    

    在这里插入图片描述
    这张图可以看出区别了吧,两个文件指向的inode不一样,因为链接文件是个独立的文件所以会占用一个inode区块,而且文件权限也不一样,注意大小,链接文件的大小只有11,而文件名刚好11个字符,11B。当/etc/bashrc删除后链接文件就无法读取到内容了,可以把/etc/bashrc想成链接桥梁,没有它就读取不到文件内容了。

    在这里插入图片描述
    注:如果修改符号链接文件修改的是原始文件,比如修改了链接文件并保存后,那么原始文件就被修改了。

    通过上述可以基本了解到两者文件链接,上面两幅自画图并不是严格意义上来画的,能比较容易读懂。

    展开全文
  • 链接特点:完全是同一个文件 删除一个另一个还  相同i节点和block存储块 可通过i节点识别 不能跨分区 不能针对目录 只能是文件 软连接特征: 和Windows快捷方式一样 有自己i节点和block块 block...
    链接命令:ln    link的缩写  链接最根本目的是快捷方式 软连接用的多
    -s 创建软连接
    ll -i查看详细信息 包括i结点信息
    硬链接特点:完全是同一个文件 删除一个另一个还在 
    相同的i节点和block存储块
    可通过i节点识别
    不能跨分区 不能针对目录 只能是文件
    软连接的特征:
    和Windows的快捷方式一样
    有自己的i节点和block块
    block只保存源文件的I节点信息  不保存实际数据
    源文件删除  软连接不能正常使用
    源文件一定要写绝对路径
    两种修改的共同点:都是在相同的block内存块上面操作
    展开全文
  • linux的链接文件

    2013-12-10 17:49:26
    #####linux的链接文件##### 【链接引入】 linux的链接文件类似于c++语言中指针和引用。链接文件可以分为两种:符号链接和硬链接。这两种文件都是一种为己存在文件,创建一个新访问途径。也就是说访问链接...
    #####linux中的链接文件#####
    【链接引入】
    linux中的链接文件类似于c++语言中的指针和引用。链接文件可以分为两种:符号链接和硬链接。这两种文件都是一种为己存在文件,创建一个新的访问途径。也就是说访问链接文件,就相当于访问链接文件。

    【链接类型及其意义】
    符号链接与硬链接在链接意义没有什么不同,只是在对目标文件的链接原理上有所不同。符号链接对应于C语言上的指针,符号链接文件只是保存目标文件的路径,访问是根据链接文件的路径进行访问;而硬链接是对应于C语言中的引用,硬链接文件中保存的是目标文件的inode结点。
    正是由于链接方式的不同,这两种链接呈现出不同的特性。符号链接通常被称为软链接,它的目标文件既可以是目录,也可以是普通文件。由于符号链接文件中只是存放的目标文件的路径,故它不会改变目标文件中的inode的引用计数。删除目标文件对符号链接文件没有什么影响。硬链接文件则不同,它会改变目标文件的inode的引用计数,每新建一个硬链接文件时,目标文件的inode引用计数就会加一。删除目标文件时,目标文件并不会真正的删除,这里只是简单的将目标文件的引用计数减一,目标文件并没有删除。

    【创建链接文件】
    创建硬链接文件的命令格式:ln [链接目标文件] [硬链接文件名]
    创建符号链接文件的命令格式:ln -s [链接目标文件或目录] [符号链接文件名]
    举例(以下例子中的当前目录均为"/home/tingyu"):
    在"/home/tingyu"目录中创建目录"/home/tingyu/hkc"的链接文件:ln -s/home/tingyu/hkc lnk
    执行后的结果为:
    tingyu@tingyu-laptop:~$ ln -s ./hkc lnk
    tingyu@tingyu-laptop:~$ ls -l
    total 32
    drwxr-xr-x 2 tingyu tingyu 4096 2011-03-20 12:43 hkc
    lrwxrwxrwx 1 tingyu tingyu   5 2011-03-20 12:43 lnk ->./hkc
    ……

    在"/home/tingyu"目录中创建文件"/home/tingyu/hkc"的链接文件:ln/home/tingyu/hkc lnk
    执行后的结果为:
    tingyu@tingyu-laptop:~$ touch hkc
    tingyu@tingyu-laptop:~$ ln ./hkc lnk
    tingyu@tingyu-laptop:~$ ls -l
    total 28
    -rw-r--r-- 2 tingyu tingyu   0 2011-03-20 12:48 hkc
    -rw-r--r-- 2 tingyu tingyu   0 2011-03-20 12:48 lnk
    ……
    这里,我们可以看到文件"hkc"的文件的引用计数增加了1

    展开全文
  • Linux文件的链接和硬链接

    千次阅读 2015-07-27 13:29:11
    Linux链接概念Linux链接两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。1.1索引节点索引节点是指许多类Unix文件系统中一种数据结构。每个索引...
  • 在linux系统中有一文件叫做链接文件,可以为解决文件的共享使用。...在Linux的文件系统中,保存在磁盘分区中的文件,不管是什么类型,系统都会给它分配一个编号,这个编号被称为索引节点编号(In...
  • Linux的链接文件

    千次阅读 2011-03-05 22:00:00
    Ln命令用来文件之间创建链接,默认为创建硬链接(目录不能创建硬链接),使用选项-s创建符号链接。讲ln以前,我们先来... <br /> 二、如何理解两种链接文件的两种不同指向?如果了解 linux里文件的存
  • linux的文件链接

    2017-04-16 14:07:52
    在linux系统中链接两种,分别是软连接和硬链接,操作命令是ln(link缩写),要注意是该命令只能对文件进行操作操作的文件也一定要用绝对路径。顺便说一下绝对路径和相对路径,绝对路径就是从根目录下一直到...
  • 链接文件Linux文件系统的一个优势,如果要系统上维护同一文件的两份或者多份,除了保存多份单独的物理文件副本之外,还可以采用保存一份物理副本和多个虚拟副本的方法,这种方法称为链接。链接是目录中只想文件...
  • 在Linux系统中链接文件分为硬链接和软连接两种,其中硬链接是指通过索引节点来进行链接,在系统中多个文件各指向同一个索引节点,这种方式可以防止误删重要数据;而软链接也称为符号链接,实际上是一个存储着指向...
  • 在Linux中ln命令用来为文件创建连接,连接类型分为硬连接(Hard Link)和符号连接(Symbolic Link)两种...在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型系统都会给它分配一个编号,称为索引节点号(Inode
  • 查看linux中硬链接的所有文件

    千次阅读 2019-04-17 15:45:31
    在linux中,链接文件分为硬链接和软链接文件两种, 其中硬链接通过ln source_file dist_file建立, 软链接通过ln -s source_file dist_file建立。 软硬链接区别:硬链接相当于一个文件两个名称,而软链接相当于...
  • Linux 链接文件

    千次阅读 2013-10-23 00:09:16
    1、在Linux中有两种链接文件,一种叫做硬链接,它是在某个目录下新建一个文件名链接到某inode号码关联记录而已,注意,它是产生新文件名,而不是产生新文件;而另一种是类似Windows中快捷方式功能文件,它...
  • Linux文件的链接

    千次阅读 2016-12-30 10:37:48
    重点内容: 文件的链接Linux文件的链接分为两种: 软连接 和 硬链接Linudx下使用 ls -l 命令即可看到文件的很多信息,其中第一列第一个字符代表就是文件的类型;而下面紧跟数字代表文件的连接数;比如: ...
  • linux文件链接

    2019-10-07 12:20:26
    Linux中包括两种链接:硬链接(HardLink)和软链接(Soft Link),软链接又称为符号链接(Symbolic link)。 我们首先来了解一下几个名词: 索引节点(inode) 要了解链接,我们首先得了解一个概...
  • 博客搬家了,最近同时更新,没准什么时候就完全搬走了-_- http://blog.just66.cn0X00 什么是链接文件Linux...Linux中有两种链接文件硬链接和软连接也称为符号链接 介绍链接文件之前先要介绍一下Linux文件系统
  • 两种链接分别有什么作用呢?今天我们就来聊一聊。 如何生成链接? ln -s [原文件] [目标文件] #对原文件生成一个软连接 ln [原文件] [目标文件] #对原文件生成一个硬连接 例如: 对 /etc/issue 生成一个软链接 /...
  • Linux 链接文件讲解

    2019-08-11 11:13:00
    链接文件是Linux文件系统一个优势。如需要在系统上维护同一...在Linux中有两种不同类型文件链接: 1.符号链接。 2.硬链接 符号连接就是一个真实文件,他指向存放在虚拟目录结构中某个地方另一个文件...
  • 在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号。在Linux中多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。与硬连接相对应,Lnux系统中还存在另一...
  • linux学习之链接文件

    2017-02-18 11:25:44
    链接文件linux系统,为每个新建文件都分配一个...linux的链接文件相当于windows系统中的快捷方式,Linux的链接文件分为两种,硬链接(hard link)和软链接(soft link),软链接又称符号链接(symbolic link)。 硬链接
  • linux 文件链接

    2014-06-18 21:47:59
    Linux中包括两种链接:硬链接(Hard Link)和软链接(Soft Link),软链接又称为符号链接(Symbolic link)。 我们首先来了解一下几个名词: 索引节点(inode) 要了解链接,我们首先得了解一个概念,叫索引节点...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,523
精华内容 609
关键字:

在linux的两种链接文件

linux 订阅