zoukankan      html  css  js  c++  java
  • Linux下的硬链接与软链接

    本文总结自:

    https://www.ibm.com/developerworks/cn/linux/l-cn-hardandsymb-links/index.html#fig2

    https://blog.csdn.net/mahao1107/article/details/46851969

    一个文件可以用下图表示:

    其中,文件名是我们能看到的那个名字。

    inode被包含在元数据(metadata)中,元数据中记录文件的附加属性,比如文件大小,创建时间等等。

    inode是索引节点号,是文件的唯一标识。可使用命令:

    ls -i

    来查看

    data blocks是文件数据块,记录的是文件的真实内容

    这里要说一句:

    当我们用rm删除文件的时候,仅仅是解除filename和inode的引用,一般来说并不会摧毁问文件数据。
    而硬链接,就相当于对同一个inode增加了一个别名

    所以用rm删除文件的时候,如果对inode创建了硬链接,则还可以通过另一个filename来访问。

    硬链接的创建方法:

    ln oldfile newfile

    软链接,则是创建一个data block,这个data block中存储的是另外一个filename。

    所以当我们用rm删除了file,那么cat softlink将会得到实际文件的输出。

    软链接的创建方法:

    ln -s oldfile newfile

    使用ls -l 命令可以看到文件的链接数,这个信息出现在输出的第二列.

    创建软链接时,文件的链接数不会增

    同时,可以看到->符号,这个符号的指向是从软链接文件指向源文件

    使用ls -i指令可以发现,硬链接文件的inode号码和源文件相同,软链接文件的inode号码和源文件不同,这和以上的分析是相同的。

  • 相关阅读:
    Appium 自动化测试配置wda的两种方式。
    brew install jenkins
    运算符,流程控制语句,单分支,双分支,多分支
    程序交互,数据类型,格式化输出
    编程语言介绍,变量和常量
    “Hello world! ”
    斐波那锲数列 冒泡排序
    AssetBundle
    animation 老动画
    animator 新动画
  • 原文地址:https://www.cnblogs.com/geeklove01/p/8445605.html
Copyright © 2011-2022 走看看