zoukankan      html  css  js  c++  java
  • 【linux】——硬链接和符号链接

    索引节点 
       例如:假设我们在硬盘当前目录下建立了一个名为 This is my file.

    文件拷贝命令

    我们键入命令:

    1

    2

    3

    所以文件复制要分配新的

    硬连接

    我们实际使用文件时一般是通过文件名来引用的。通过上面的讨论,我们知道:

    1

    我们知道

    有几个目录项具有相同的
       例如:

    ln /home/zyd/mytext hardlink_mytext

    就建立了一个新的文件

    ’ls -il’

    262456 -rw-rw-r-- 1 zyd zyd 17 Nov 3 14:52 newfile

    262457 -rw-rw-r-- 2 zyd zyd 17 Nov 3 14:50 hardlink_mytext

    262457 -rw-rw-r-- 2 zyd zyd 17 Nov 3 14:50 mytext

    硬链接文件有两个限制

    1

    2

    对硬链接文件进行读写和删除操作时候,结果和软链接相同。但如果我们删除硬链接文件的源文件,硬链接文件仍然存在,而且保留了愿有的内容。这时,系统就“忘记”了它曾经是硬链接文件。而把他当成一个普通文件。修改其中一个,与其连接的文件同时被修改。

    连接计数

    前面我们介绍了,文件的连接计数域表明本系统中共有几个文件目录项的

    那么对于目录,其

    例如:如果一个目录

    进一步说明

    硬连接文件实际上并不是一种新的文件类型,两个文件互为对方的硬连接。它们应该都是普通文件

    注意连接计数字段

    当我们删除其中一个文件时,系统首先将

    一个文件系统允许的

    互为硬连接的多个文件必须位于同一个文件系统上。根设备及任何一个需要

    Linux

    软链接

    软链接又叫符号链接,这个文件包含了另一个文件的路径名。可以是任意文件或目录,可以链接不同文件系统的文件。和
    ============================================================================================
    Unix中使用i节点(i node)来记录真实的物理文件及其位置,文件名只是指向i节点的一个连接。因此每个文件可以有多个名字,每个名字就称为文件的一个连接,而同一个文件的 所有连接所指向的i节点件完全相同。但在删除时只有全部删除这个i节点的全部连接,才能删除i节点、即删除这个文件本身。


    $ ln l1 l2

    $ ls -l l*

    -rwxr-xr-x 2 user wheel 53212 Dec 4 12:36 l1

    -rwxr-xr-x 2 user wheel 53212 Dec 4 12:36 l2


        上面的例子使用 ln创建了一个连接,然后在ls的结果中可以看到第二列的数字为2,这表示这个文件有两个连接。这样的连接可以建立在不同的目录中,但所有连接所在的目录 必须在同一个文件系统中,才能使用同样的i节点。由于连接是直接指向标识物理文件的i节点,因此这种连接又称为硬连接。

        另一种更灵活的连接方式是符号连接,它没有指向物理文件的 i节点,而是直接指向目录树上的另一个入口,那么当系统访问这个文件时,就沿着它指向的目录树的位置去查找具体文件。这样就能对任何文件系统中的文件和目 录建立连接,因此称为软连接。符号连接可以跨越文件系统,灵活性很大,能够突破物理文件系统的限制维护目录树的一致性,对于系统管理和维护很有用。但是这 种连接方式需要对目录树进行多次查找,增加了文件操作的额外步骤,因此效率较低,因此不应该使用多级连接,及某个符号连接指向的目录还是一个符号连接,甚 至发生符号连接的循环。应该尽量少用符号连接,并避免多级符号连接及符号连接的循环。


    $ ln -s l1 /root/files

    $ ls -l l*

    lrwxrwxrwx 1 user wheel 12 Dec 4 12:36 l1 -> /root/files

    $

    ===========================================================================

    链接有两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。 

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

    与硬连接相对应,Lnux系统中还存在另一种连接,称为符号连接(Symbilc Link),也叫软连接。软链接文件有点类似于Windows的快捷方式。它实际上是特殊文件的一种。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。 

    touch f1(创建一个f1的文件)
    ln f1 f2 创佳一个f2的硬连接
    ln -s f1 f3 创建一个f3的软连接
    此 时如果删除f3,对f1,f2无影响;如果删除f2,对f1,f3也无影响,如果删除f1,那么因为f2也应用f1,所以并不影响f2节点的,touch 创建的文件仍然存在;但是此时f3因为是软连接,导致f3失效。如果删除f1,f2 ,那么touch 创佳的文件会被删除

  • 相关阅读:
    Postman使用教程
    CAD和ArcGIS转换 矢量配准
    SAP CRM Advanced search和Simple search里Max hit表现行为的差异
    SAP CRM Product simple search的启用步骤
    如何快速定位SAP CRM订单应用(Order Application)错误消息抛出的准确位置
    如何动态修改SAP CRM WebClient UI表格栏的宽度
    如何在SAP CRM WebClient UI里创建web service并使用ABAP消费
    如何处理SAP CRM Web Service错误
    如何使用SAP CRM WebClient UI实现一个类似新浪微博的字数统计器
    如何开启SAP CRM基于WORD模板创建附件的功能
  • 原文地址:https://www.cnblogs.com/ngnetboy/p/2733489.html
Copyright © 2011-2022 走看看