美文网首页
【转】文件的硬链接和软链接

【转】文件的硬链接和软链接

作者: RonZheng2010 | 来源:发表于2019-01-28 12:00 被阅读0次

    参考资料

    ln 用法
    https://blog.csdn.net/mengzuchao/article/details/80426316

    1. inode 节点

    Linux内核为每一个文件分配一个inode(索引结点),每个文件都有一个惟一的inode号。文件属性保存在索引结点里。进程访问文件时,索引结点被复制到内存,这样就能快速访问文件了。

    2. 硬链接

    如下命令给文件a创建硬链接b:

    ln a b
    

    硬链接b的文件项直接指向a的inode,系统并不为它重新分配inode。一旦创建,b和a就是平等的了。

    从如下的ls输出可以看到a和b的inode号都是1775505。删掉a或者b,inode的链接数减一,两个都删除,inode的链接数减为0,对应的inode项才真正从系统删除。

    $ ls -il
    1775505 -rw-rw-r-- 2 percherry percherry    13 Jan 28 11:05 a
    1775505 -rw-rw-r-- 2 percherry percherry    13 Jan 28 11:05 b
    

    创建硬链接有限制:

    • 只能在同一个文件系统内部创建

    3. 软链接

    如下命令给文件a创建软链接c:

    ln -s a c
    

    软链接是一个新文件,它本质上是一个快捷方式。系统可以通过它跳转到它指向的文件。从下面的ls的输出可以看到c和a的inode值不同。

    $ ls -il
    1775505 -rw-rw-r-- 2 percherry percherry    13 Jan 28 11:05 a
    1774240 lrwxrwxrwx 1 percherry percherry     1 Jan 28 11:12 c -> a
    

    相关文章

      网友评论

          本文标题:【转】文件的硬链接和软链接

          本文链接:https://www.haomeiwen.com/subject/jatajqtx.html