精华内容
下载资源
问答
  • Linux中,我们可以通过ln命令来创建链接文件,具体地,其包含Hard Link硬链接、Sort Link软链接(或称为Symbolic Link符号链接)两种链接文件。本文就Linux的文件存储机制及如何建立链接文件进行介绍Linux的文件存储...

    在Linux中,我们可以通过ln命令来创建链接文件,具体地,其包含Hard Link硬链接、Sort Link软链接(或称为Symbolic Link符号链接)两种链接文件。本文就Linux的文件存储机制及如何建立链接文件进行介绍

    60f72b8aa3268d74c68bb75bc9207ad4.png

    Linux的文件存储机制

    对于一个文件来说,其有两部分组成——文件的meta data元数据和文件的内容数据,其中元数据包括大小、用户、权限等文件的相关属性信息。所以Linux将文件的元数据和内容数据分开存储,前者作为inode(索引节点)存储到inode table中,而后者则是存储到磁盘的数据块中。而文件名则和inode num(索引节点号)一起存储在目录项中

    当我们访问指定文件名的文件时,系统先通过目录项来获取该文件的inode num,然后通过inode num在inode table中找到指定的inode,由于inode中包含了该文件存放内容数据的data block信息,故可找到该文件的实际内容数据。现在我们知道了,在Linux中文件是通过inode num来标识的,文件名实际上相当于inode num的别名,故文件名是不存放在inode中的

    7232dbe932a55b9ccc2e4ba287b15ba0.png

    可利用stat命令查看文件的相关信息,如下图所示。除文件名、inode num外,其余信息均来自于该文件的inode

    23bcd96f88ae512fbf1b7b995e062d16.png

    Hard Link 硬链接

    介绍完了Linux的文件存储机制,现在我们再来介绍什么是硬链接。硬链接,实际上就是为已存在的文件再增加一个文件名以供我们访问。可通过ln命令建立硬链接

    # 为源文件建立硬链接
    ln [souceFileName] [tagetFileName]  

    我们通过一个实际案例来具体解释硬链接的含义,先建立一个file1.txt文件。通过ls命令的 -i 选项,我们可以查看该文件的inode num,即蓝框中的790431。而后面红框中的1即是上文的文件元数据meta data的链接数。因为目前只有一个文件名file1.txt指向该inode故其为1

    44890803d717df1964353b45d43bd4da.png

    现在我们来建立该文件的硬链接,根据下图我们可以发现,硬链接file1.txt.hardlink的inode num与file1.txt的inode num完全一致,且链接数也变为了2

    b1c2a8f874ab35c7722c8a164648bc7c.png

    实际上,我们现在无论是通过file1.txt源文件还是通过file1.txt.hardlink硬链接文件来访问,其效果都是一样,故硬链接文件在建立后其和源文件在本质上没有任何区别,一般不作区分。虽然从文件名看好像是两个不同的文件,但是其对于Linux来说是同一个文件。因为两个文件名所对应的inode num是完全一样的,即指向的是同一个inode,所以该inode的链接数为2

    当我们尝试分别对源文件、硬链接的内容进行修改时,所有指向该inode的文件名的文件内容均会同步修改。原因大家想必也清楚了,因为这两个不同文件名的文件在Linux中实际是一个文件,这也是为什么我们在前文说硬链接相当于给文件增加一个新的文件名以方便我们访问

    cd2c5db14edd505a949523552a147f1e.png

    在Linux中,只有当inode的链接数为0时,文件才会被真正地删除。故我们即使删除了file1.txt后,我们依然可以通过file1.txt.hardlink进行访问到文件数据

    ed4ad22d28ce71248dc22c9edc56820f.png

    Note:

    1. 减少磁盘空间占用:

      相比较于复制文件制作副本的方式,硬链接可以大大减少磁盘的空间占用

    2. 更加安全:

      对于有些重要文件未防止被用户意外删除或出于该目录的权限考虑,可以为该文件在其他目录中建立硬链接以供用户访问

    3. 不可对目录文件建立硬链接

    4. 硬链接不可跨越文件系统

    5. 硬链接移动后依然有效,只要保证其移动后仍在同一文件系统内

    Sort Link 软链接

    说完了硬链接,我们再来介绍下软链接。其实它和我们在Windows下的快捷方式很类似。软链接文件,是通过在其inode所指向的data block中所记录源文件的路径地址来实现对源文件进行访问的。可通过在ln命令中添加 -s 选项建立软链接

    # 为源文件建立软链接
    ln -s [souceFileName] [tagetFileName]  
    # 修改当前软链接以指向新的源文件
    ln -snf [newSouceFileName] [tagetFileName]

    下面我们通过一个实际案例来具体解释软链接的含义,先建立一个file1.txt文件

    e32119e606d40706055efcd98846146e.png

    然后建立file1.txt文件的软链接file1.txt.sortlink文件。通过软链接文件我们同样可以对源文件进行访问。ls命令的结果让我们可以进一步确认软链接文件与源文件不是指向同一个inode的,黄框的l标识其是一个符号链接文件

    f58eec461c831280e167e6f56c9b4388.png

    由于软链接是通过路径来访问源文件的,所以当我们删去源文件后,即会导致该软链接文件失效;当再次重建该同名源文件后,软链接即会重新恢复

    4562e73834717a9860b137d885eb3076.png

    由于软链接与源文件的映射关系是单向的,故删去软链接对于源文件没有任何影响

    0c66208a67b45b9e52058e892e6ddb27.png

    欲修改已有软链接,可通过-snf选项实现

    9f5d7e1d6aa029dd60f7044409678d46.png

    Note:

    1. 建立软链接时,源文件路径推荐使用绝对路径而非相对路径,以避免软链接文件移动后,因路径错误而无法正确指向源文件

    2. 可对目录文件建立软链接

    3. 软链接可跨越文件系统

    展开全文
  • 在 Windows 中安装应用程序,通常安装向导会提示是否创建桌面快捷...Linux 链接文件类似于 Windows 中的快捷方式,Linux 链接文件分为硬链接和软链接,不过在具体介绍 Linux 中的硬链接和软链接之前,先来看看 Linu...

    d60a8322af9d8585362aad425d0d1518.png

    在 Windows 中安装应用程序,通常安装向导会提示是否创建桌面快捷方式。如果选择同意创建,安装完成后会在桌面上看到对应应用程序的图标,如果想要使用这个应用程序只需要双击桌面上的快捷方式即可,这就是 Windows 中的快捷方式。Linux 链接文件类似于 Windows 中的快捷方式,Linux 链接文件分为硬链接和软链接,不过在具体介绍 Linux 中的硬链接和软链接之前,先来看看 Linux 文件系统中文件的具体结构。

    在 Linux 文件系统中,一个文件被分成两个部分:元数据(metadata)与用户数据(user data)。元数据为文件的附加属性,如索引节点(Inode)、文件大小、文件创建时间、文件所有者等。元数据中并不包含文件名,文件名仅仅是为了方便用户使用。Linux 文件系统为每一个保存在磁盘分区中的文件(无论什么类型)都分配一个索引节点号(Inode Number),索引节点号是文件在一个文件系统中的唯一标识,不同文件所对应的索引节点号是不相同的;用户数据,即文件数据块(data block),文件数据块中以二进制的形式记录着文件的真实内容。

    d947f2735aeab24e3a76f0dbc75758e3.png

    如果想要查看对应文件的索引节点号可以使用ls -i指令:

    chenkc@chenkc:~$ vim hello.txt
    chenkc@chenkc:~$ cat hello.txt
    AI机器学习与深度学习算法
    chenkc@chenkc:~$ ls -i hello.txt 
    1837900 hello.txt

    1. 硬链接

    在 Linux 中允许多个文件名指向同一个索引节点号,而硬链接(hard link, 也称链接)指的是通过索引节点号进行的链接。可以通过ln指令为文件创建硬链接:

    ln 源文件 链接文件

    为 hello.txt 文件创建两个硬链接:

    chenkc@chenkc:~$ ln hello.txt hardlink_hello.txt
    chenkc@chenkc:~$ ln hello.txt hardlink_hello2.txt
    chenkc@chenkc:~$ ls -il
    total 675432
    1837900 -rw-r--r--  3 chenkc chenkc        56 8-р с 24 21:34 hello.txt
    1837900 -rw-r--r--  3 chenkc chenkc        56 8-р с 24 21:34 hardlink_hello.txt
    1837900 -rw-r--r--  3 chenkc chenkc        56 8-р с 24 21:34 hardlink_hello2.txt
    ...

    源文件和两个硬链接文件的索引节点号都为 1837900,而索引节点号为文件的唯一标识,因此源文件和硬链接文件是仅文件名不同的相同文件,创建文件的硬链接相当于为文件又起了一个新的文件名。

    2cd8f320267c57aca26493032f8c8ec1.png

    此时的 hello.txt、hardlink_hello.txt 以及 hardlink_hello2.txt 拥有相同的索引节点号,查看文件内容也会发现为同一个文件:

    chenkc@chenkc:~$ cat hello.txt 
    AI机器学习与深度学习算法
    chenkc@chenkc:~$ cat hardlink_hello.txt 
    AI机器学习与深度学习算法
    chenkc@chenkc:~$ cat hardlink_hello2.txt 
    AI机器学习与深度学习算法

    执行ls -il指令后发现在表示文件类型以及权限的 10 个字符之后有一个数字 3,对于文件来说 3 表示硬链接数,每一个硬链接数都可以看成是文件的一个文件名,此时inode:1837900的文件拥有 3 个文件名。

    假设我们现在删除硬链接对应的源文件 hello.txt:

    chenkc@chenkc:~$ rm -rf hello.txt 
    chenkc@chenkc:~$ cat hardlink_hello.txt 
    AI机器学习与深度学习算法
    chenkc@chenkc:~$ cat hardlink_hello2.txt 
    AI机器学习与深度学习算法

    如果删除硬链接对应的源文件,硬链接文件仍然存在,这是因为硬链接是有着相同索引节点号仅文件名不同的文件,因此,删除一个硬链接文件并不影响其他有相同索引节点号的文件。我们可以为重要的文件创建硬链接,这样即使错误操作误删了文件,也不会重要文件造成影响。当文件没有任何文件名指向的时候,文件也会被删除,也就是此时的硬链接数为 0。硬链接相当于为文件创建了一个新的文件名,当删除其中一个链接的时候并不影响索引节点本身以及其它链接到该索引节点的文件名,所以这些链接是相对独立的,这也是为什么 Linux 中仅仅标识文件硬链接的数目,并没有显示的标识文件是否为硬链接文件的原因。

    2. 软链接

    软链接(也称符号链接)可以看成是一个普通的文件,只不过这个文件中的数据块存放的是源文件的索引节点号。可以通过为ln指令添加-s(s: soft 的意思)选项创建软链接:

    ln -s 源文件 链接文件

    为 hello.txt 文件创建一个软链接:

    chenkc@chenkc:~$ ln -s hello.txt softlink_hello.txt
    chenkc@chenkc:~$ ls -il
    total 675236
    1837900 -rw-r--r--  1 chenkc chenkc        36 8-р с 25 18:55 hello.txt
    6705 lrwxrwxrwx  1 chenkc chenkc         9 8-р с 25 18:57 softlink_hello.txt -> hello.txt
    ...

    源文件的索引节点号为 1837900,而软链接文件的索引节点号为 6705,显然源文件和软链接文件并不是同一个文件,其实从两个文件的大小也可以看出来,其中源文件大小为 36 个字节,而软链接文件大小仅仅为 9 个字节。

    b0e8b922ee7521f8984ca4b63764a9c2.png

    软链接文件的数据块中仅仅存放着源文件的索引节点号,这也是为什么源文件为 36 个字节,而软链接文件却有 9 个字节的原因。由于软链接只不过是数据块中存放了源文件的索引节点号,因此删除软链接文件并不会影响源文件。但是如果删除源文件,由于软链接文件中指向的索引节点号对应的文件没有了,所以会导致软链接文件失效。

    chenkc@chenkc:~$ rm -rf softlink_hello.txt # 删除软链接文件并不影响源文件
    chenkc@chenkc:~$ cat hello.txt 
    AI机器学习与深度学习算法
    chenkc@chenkc:~$ ll hello.txt softlink_hello.txt 
    -rw-r--r-- 1 chenkc chenkc 36 8-р с 25 19:16 hello.txt
    lrwxrwxrwx 1 chenkc chenkc  9 8-р с 25 19:17 softlink_hello.txt -> hello.txt
    chenkc@chenkc:~$ rm -rf hello.txt 
    chenkc@chenkc:~$ cat softlink_hello.txt 
    cat: softlink_hello.txt: No such file or directory
    chenkc@chenkc:~$ ll softlink_hello.txt 
    lrwxrwxrwx 1 chenkc chenkc 9 8-р с 25 19:17 softlink_hello.txt -> hello.txt # 红色

    软链接不同于硬链接,在软链接中删除源文件会影响到软链接的使用,因此在 Linux 中会有很多地方标识文件是否为软链接:

    • ls -l指令输出的文件,其中十个字符中的第一个字符代表文件类型,如果文件为软链接文件则为l
    • Linux 会使用特殊的颜色将软链接文件与其它文件进行区分,如果删除了源文件,软链接失效则软链接文件也会呈现失效的颜色;

    383d81ed0f49d485cdbba25e737206d9.png

    注意:如果软链接文件和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径。

    3. 硬链接和软链接的区别

    最后来简单总结一下硬链接和软链接的区别:

    c3528c44d07975fc04d1f1894350bfed.png
    展开全文
  • 问题出现问题1:Linux中软链接和硬链接的区别?问题2:Linux系统内部是通过文件名访问文件的吗?基础铺垫平时在Linux系统中,我们都是通过文件名打开文件。但是Linux系统内部并不使用文件名,而是通过inode即节点索引来...

    29cbcfa5379e21c668601d0bc2078a32.png

    问题出现

    问题1:Linux中软链接和硬链接的区别?
    问题2:Linux系统内部是通过文件名访问文件的吗?

    基础铺垫

    平时在Linux系统中,我们都是通过文件名打开文件。但是Linux系统内部并不使用文件名,而是通过inode即节点索引来识别文件。我们通过文件名打开文件,只是表像。实际系统会按照如下去做。

    1.系统是先找到这个文件名对应的inode号码,
    2.通过inode号码获取inode信息,
    3.然后根据inode信息获取文件数据所在的block,读取数据。

    很多时候,我们要透过现象找寻问题的本质。

    什么是软链接

    软链接也叫符号链接(symbolic link),符号链接是指通过创建一个特殊类型的文件来起作用,该文件包含了指向引用文件或目录的文本指针。列举个windows里面的例子就明白了,与windows系统下的快捷方式非常相似。

    将内容写进符号链接里,那这些内容也会同样写入引用文件。而当删除一个符号链接的时候,删除的只是符号链接而没有删除文件本身。而如果先删除了文件,该链接依旧存在,却不会指向任何文件。但是你打开该链接,就会报错“NO such file or directory”

    软链接的两个文件的inode号码是不一样的

    如何创建软链接

    1.首先在目录下创建fileB文件,写上i am askcto

    [root@ky35z ask]# vi fileB
    

    2.使用命令ln -s item link(item可以是文件也可以是目录)

    [root@ky35z ask]# ln -s fileB fileB-sym
    

    3.查看两个文件的inode号码

    [root@ky35z ask]# ls -i fileB fileB-sym
    1446188 fileB  1446185 fileB-sym
    

    4.查看两个文件内容

    [root@ky35z ask]# cat fileB
    i am askcto
    [root@ky35z ask]# cat fileB-sym 
    i am askcto
    

    文件fileB和软链接fileB-sym的inode节点号码不一致。符号链接fileB-sym是包含了指向目标文件的文本指针。

    [root@ky35z ask]# ls -l
    lrwxrwxrwx 1 root root       5 Jan  7 21:14 fileB-sym -> fileB
    

    什么是硬链接

    硬链接,可以想象文件是由两部分组成的,一部分是文件内容,另外一部分是文件名称。创建硬链接时,实际上是创建了额外的名称,这些名称都指向了同一数据部分。系统会分配一系列的盘块给所谓的索引节点(inode),该节点随后与文件名称建立关联。因此,每个硬链接都指向包含文件内容的具体索引节点。

    也就是说多个文件指向的是同一个inode号码,用不同的文件名访问,系统内部找到的都是相同的一个inode节点,所以访问的是同样的内容。对文件内容修改,会影响到所有文件名,但是删除一个文件名,不会影响另外一个文件的访问。

    如何创建硬链接

    1.首先在目录下创建fileA文件,写上i am coder

    [root@ky35z ask]# vi fileA
    

    2.使用命令ln file link

    [root@ky35z ask]# ln fileA fileA-hard
    

    3.查看两个文件的inode号码

    [root@ky35z ask]# ls -i fileA fileA-hard
    1446187 fileA  1446187 fileA-hard
    

    4.查看两个文件内容

    [root@ky35z ask]# cat fileA
    i am coder
    [root@ky35z ask]# cat fileA-hard 
    i am coder
    

    软链接和硬链接的区别

    1.硬链接不能引用自身文件系统之外的文件。也就是说,链接不能引用与该链接不在同一磁盘分区的文件。

    2.硬链接不能引用目录。软链接即可以是文件也可以是目录。

    3.上面的例子中,软链接fileB-sym是指向文件fileB的文件名,它们的节点号码不同。而硬链接fileA-hard指向的是fileA的节点号码。它们的节点号码相同。

    展开全文
  • 链接的方式可以分为两种,一种是硬链接(Hard Link),另一种是软链接或者也称为符号链接(Symbolic Link)。 查看linux系统中哪些是链接文件。上图文件列表中第一列权限位标识第一个字符显示的是文件类型,-为一般...

    dc5d5cd72c6a8fc408345039f83f1101.png

    在linux系统中有种文件是链接文件,可以为解决文件的共享使用。链接的方式可以分为两种,一种是硬链接(Hard Link),另一种是软链接或者也称为符号链接(Symbolic Link)。

    查看linux系统中哪些是链接文件。

    1b93f52bdcb444feac4317f50dd9e2ab.png

    上图文件列表中第一列权限位标识第一个字符显示的是文件类型,-为一般文件,d为目录,而l显示的就是链接文件。

    硬链接

    硬链接是指通过索引节点来进行链接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都会给它分配一个编号,这个编号被称为索引节点编号号(Inode

    Index)或者Inode,它是文件或者目录在一个文件系统中的唯一标识,文件的实际数据放置在数据区域(data block),它存储着文件重要参数信息,也就是元数据 (metadata),比如创建时间、修改时间、文件大小、属主、归属的用户组、读写权限、数据所在block号等,如下图所示。

    9019c5c943590db1c465f283d9038d59.png

    图片来源于网络

    在Linux系统中,多个文件名指向同一索引节点(Inode)是正常且允许的。一般这种链接就称为硬链接。硬链接的作用之一是允许一个文件拥有多个有效路径名,这样用户就可以建立硬链接到重要的文件,以防止“误删”源数据(很多硬件,如netapp存储中的快照功能就应用了这个原理,增加一个快照就多了一个硬链接》。不过硬链接只能在同一文件系统中的文件之间进行链接,不能对目录进行创建。之所以文件建立了硬链接就会防止数据误删,是因为文件系统的原理是,只要文件的索引节点还有一个以上的链接(仅删除了该文件的指向),只删除其中一个链接并不影响索引节点本身和其他的链接(数据的实体并未删除),只有当最后一个链接被删除后,此时如果有新数据要存储到磁盘上,被删除的文件的数据块及目录的链接才会被释放,空间被新数据暂用覆盖。

    软链接

    软链接(也叫符号链接),类似于windows系统中的快捷方式,与硬链接不同,软链接就是一个普通文件,只是数据块内容有点特殊,文件用户数据块中存放的内容是另一文件的路径名的指向,通过这个方式可以快速定位到软连接所指向的源文件实体。软链接可对文件或目录创建。

    软链接作用:

    • 便于文件的管理,比如把一个复杂路径下的文件链接到一个简单路径下方便用户访问。
    • 节省空间解决空间不足问题,某个文件文件系统空间已经用完了,但是现在必须在该文件系统下创建一个新的目录并存储大量的文件,那么可以把另一个剩余空间较多的文件系统中的目录链接到该文件系统中。

    删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接就变成了死链接。

    软连接和硬链接的特点:

    软链接:

    • 1.软链接是存放另一个文件的路径的形式存在。
    • 2.软链接可以 跨文件系统 ,硬链接不可以。
    • 3.软链接可以对一个不存在的文件名进行链接,硬链接必须要有源文件。
    • 4.软链接可以对目录进行链接。

    硬链接:

    • 1. 硬链接,以文件副本的形式存在。但不占用实际空间。
    • 2. 不允许给目录创建硬链接。
    • 3. 硬链接只有在同一个文件系统中才能创建。
    • 4. 删除其中一个硬链接文件并不影响其他有相同 inode 号的文件。

    不论是硬链接或软链接都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。

    linux系统可以用ln命令来创建链接文件。

    ln命令格式:

    ln [参数] [源文件或目录] [目标文件或目录]

    主要参数:

    • -i 交互模式,文件存在则提示用户是否覆盖。
    • -s 软链接(符号链接)。
    • -d 允许超级用户制作目录的硬链接。
    • -b 删除,覆盖以前建立的链接
    1. 软链接 (符号链接) ln -s source target
    2. 硬链接 (实体链接)ln source target

    案例:

    给文件创建硬链接

    [root@localhost tmp]# mkdir dirIn   创建测试目录
    [root@localhost tmp]# cd dirIn/
    [root@localhost dirIn]# touch infile
    [root@localhost dirIn]# ll
    总用量 0
    -rw-r--r-- 1 root root 0 5月  31 14:53 infile
    [root@localhost dirIn]# ln infile infile_hard_file      在默认不带参数情况下,ln命令创建的是硬链接。
    [root@localhost dirIn]# ll
    总用量 0
    -rw-r--r-- 2 root root 0 5月  31 14:53 infile
    -rw-r--r-- 2 root root 0 5月  31 14:53 infile_hard_file

    给文件创建软链接

    [root@localhost dirIn]# ln -s infile infile_soft_file    创建软链接用s参数
    [root@localhost dirIn]# ls -l
    总用量 0
    -rw-r--r-- 2 root root 0 5月  31 14:53 infile
    -rw-r--r-- 2 root root 0 5月  31 14:53 infile_hard_file
    lrwxrwxrwx 1 root root 6 5月  31 15:03 infile_soft_file -> infile  软链接

    我们知道硬链接是有着相同 inode 号仅文件名不同的文件,用ls命令查看。

    [root@localhost dirIn]# ls -li
    1177358 -rw-r--r-- 2 root root 0 5月  31 14:53 infile
    1177358 -rw-r--r-- 2 root root 0 5月  31 14:53 infile_hard_file
    #上面源文件和硬链接文件inode号相同 (第一列就是inode号),指向同一个索引节点。
    1177363 lrwxrwxrwx 1 root root 6 5月  31 15:03 infile_soft_file -> infile  软链接是一个链接文件,文件模式那块前面有个l字母,表示是个链接文件。

    硬链接不能指向目录

    [root@localhost dirIn]# ln dir infile     dir是个目录
    ln: "dir": 不允许将硬链接指向目录

    软链接可以

    [root@localhost dirIn]# ll -i
      201884844 drwxr-xr-x 2 root root 19 5月  31 15:21 dir
      1177358 -rw-r--r-- 3 root root  0 5月  31 14:53 infile
      1177358 -rw-r--r-- 3 root root  0 5月  31 14:53 infile_hard_file
      1177363 lrwxrwxrwx 1 root root  6 5月  31 15:03 infile_soft_file -> infile
      1177365 lrwxrwxrwx 1 root root  3 5月  31 15:24 infile_soft_file_name -> dir

    删除文件测试:

    [root@localhost dirIn]# echo "this a file" > infile   向文件中添加数据
    [root@localhost dirIn]# cat infile                    查看文件内容
    this a file
    [root@localhost dirIn]# cat infile_hard_file infile_soft_file           查看软链接和硬链接文件内容一致
    this a file
    this a file
    [root@localhost dirIn]# rm -f infile   删除源文件
    [root@localhost dirIn]# ls -lrti
      1177363 lrwxrwxrwx 1 root root  6 5月  31 15:03 infile_soft_file -> infile
    201884844 drwxr-xr-x 2 root root 19 5月  31 15:21 dir
      1177365 lrwxrwxrwx 1 root root  3 5月  31 15:24 infile_soft_file_name -> dir
      1177358 -rw-r--r-- 2 root root 12 5月  31 15:27 infile_hard_file
    [root@localhost dirIn]# cat infile_hard_file     硬链接文件存在 内容和源文件内容一样。                                                 原因:虽然删除源文件,但是任然有硬链接指向源文件inode                                                      节点,所以不会被释放删除,                                                      这里只是删除infile到inode节点的链接。
    this a file
    [root@localhost dirIn]# cat infile_soft_file     软链接文件已经不存在了,目录还会显示这个文件,                                                 就是软链接文件已经失效。
    cat: infile_soft_file: 没有那个文件或目录

    删除软链接

    [root@localhost dirIn]# rm -f infile_soft_file   直接删除这个软链接文件就行
    [root@localhost dirIn]# ll
    drwxr-xr-x 2 root root 19 5月  31 15:21 dir
    -rw-r--r-- 2 root root 12 5月  31 15:27 infile_hard_file
    lrwxrwxrwx 1 root root  3 5月  31 15:24 infile_soft_file_name -> dir

    如果大家在学习过程中遇到问题,希望有一个交流讨论的地方,欢迎加入:

    点击链接加入群聊【Linux-C语言学习/入门②】:正在跳转

    6b7f634b4a790e9fdfe2dec3bb4eecdb.png

    相关资料:

    linux程序的储存结构与进程结构www.makeru.com.cnshell脚本快速入门www.makeru.com.cn高版本linux内核移植www.makeru.com.cn
    展开全文
  • 软链接文件所谓软链接就是存储路径。路径越长,文件越大。软链接可以节省空间,省去了拷贝。如何做软链接?ln -s 源文件 软链接文件不仅仅是可以软链接文件, 也可以软链接目录。尽量使用据对路径,下面的红色说明不...
  • 通过实践来区分软链接和硬链接 首先在目录下创建一个文件file1,里面内容是hello world,然后输入命令 ln file1 file2 这是file1与file2建立了硬链接 通过 cat file2查看文件内容,发现内容一致 这时候修改...
  • 文件系统: Linux上文件分为:用户数据(user data, 文件数据块(data block):记录文件真实内容的地址)和元数据(meta data,文件附加属性(文件大小、创建时间、所有者)inode号,...硬链接和软链接(又称符号...
  • Linux操作系统下,我们知道 ls -l 命令 可以查看文件属性,如果再输入 ls-i 命令,我们会发现属性前面多了一串数字。这个数字就是 inode 。链接-->快速认识文件描述符及其分配规则;你不懂的 inode 是什么...
  • Linux 创建软链接

    2016-11-22 11:50:42
    上面的命令会在当前目录下生成一个doabc文件,这个文件是连接,使用ll查看当前目录下的文件时,这个文件会显示成 doabc->/www/abc.sh *的形式。 例子:ln -s cachedata_w cachedata_r
  • 这段时间在学习linux的系统命令 发现连接和硬链接的区别还是挺大的 现在在此写一下个人总结 方便以后查看链接: 首先在root目录下创建一个文件 将cde文件进行硬链接到tmp目录下的 cde_h 文件 使用ls命令查看...
  • Linux链接

    2021-02-27 18:10:58
    使用ln -s [源文件] [生成的软链接文件] 命令生成软连接bbb 此时再看bbb里面的内容,和aaa里的内容是一样的 然后我们在把源文件删除,用ll命令查看,发现bbb找不到源文件 在向bbb中写入数据 发现源文件又生成了...
  • 链接的方式可以分为两种,一种是硬链接(Hard Link),另一种是软链接或者也称为符号链接(Symbolic Link)。 查看linux系统中哪些是链接文件。 上图文件列表中第一列权限位标识第一个字符显示的是文件类型,...
  • Linux服务软链接

    2016-02-16 14:02:59
    1.查看服务列表 [root@ytj ~]# cd /etc/init.d [root@ytj init.d]# ll 总用量 328 -rwxr-xr-x. 1 root root 1288 11月 23 2013 abrt-ccpp -rwxr-xr-x. 1 root root 1628 11月 23 2013 abrtd -rwxr-xr-x. 1 ...
  • soft hard 能否于同分区创建 √ X 创建连接是否为同一文件 X √ ... 删除原始文件,软链接文件将失效 删除原始文件,硬链接文件不失效 用ls -d查看第2列链接...
  • Linux 软链接出错

    2020-05-14 08:36:09
    Linux 软链接后访问链接中的文件出现文件不存在错误提示 FileNotFoundError: [Errno 2] No such file or directory: 错误原因: 可能是相对路径和绝对路径问题,可查看...
  • 链接的方式可以分为两种,一种是硬链接(Hard Link),另一种是软链接或者也称为符号链接(Symbolic Link)。 查看linux系统中哪些是链接文件。 上图文件列表中第一列权限位标识第一个字符显示的是文件类型,-...
  • 软链接是原文件文件名的链接,而它和原文件是两个不同的文件 在这里要引入一个概念——inode,inode是文件在一个分区的唯一标识,所以可以通过查看inode来验证,软硬链接和原文件的关系。 现在我有一个文件/heihei/...
  • linux 压缩软链接引发的问题

    千次阅读 2017-10-23 11:11:56
    linux 压缩软链接文件会时会出现解压的时候打开是错误的,因为当时压缩的文件不是真的文件,而是一个链接 tar 参数 -c :建立一个压缩文件的参数指令(create 的意思)。 -x :解开一个压缩文件的参数指令。 -t :...
  • 链接的方式可以分为两种,一种是硬链接(Hard Link),另一种是软链接或者也称为符号链接(Symbolic Link)。 查看linux系统中哪些是链接文件。 上图文件列表中第一列权限位标识第一个字符显示的是文件类型,-为...
  • Linux系列第一谈:阿里云服务器基本Linux操作(开启安全组、使用...Linux查看网络配置 # 查看网络配置: 文件地址 /etc/sysconfig/network-scripts/ [root@YKY ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 DE.
  • Linux系统中,一定会遇到这样一种文件,当我们使用ll 或者ls -l命令来查看他的时候,他的权限这一项中会显示的第一个英文字母为l,这便是代表他是链接文件。 而链接文件有分为软链接和硬链接两种,那他们有什么...
  • linux 链接

    2018-06-07 13:00:00
    linux文件组成:用户数据+元数据; 用户数据:文件数据块,记录文件实际内容的地方; 元数据:文件索引,记录了文件的附加属性,如inode索引号,大小,创建时间,所有者等; ...Linux的文件链接分为两种:...
  • 关于linux中的软链接和硬链接 Linux中有两种类型的链接 硬链接是利用Linux中为每个文件分配的物理编号inode建立链接因此硬链接不能跨越文件系统用ls i命令可以查看目录下文件的inode编程 软链接符号链接是利用文件的...
  • 1. linux除了进程之外,其余的都是文件。 目录也是文件。 链接也是文件 2.是文件就由两部分组成: 1.元数据 2. 用户数据。 其中元数据包含inode, 其中inode包含inode号。 可以ls -il可以查看inde号。也可以根据find...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 933
精华内容 373
关键字:

linux查看软链接

linux 订阅