zoukankan      html  css  js  c++  java
  • Linux_软硬连接

    1.硬链接 :ln 源文件,目标文件  

    1.是指通过inode(索引节点)来进行连接的 
    2.多个文件指向同一个索引节点
    3.硬链接文件就相当于文件的另外一个入口
    4.作用:备份 防止数据误删
    5.硬链接文件是普通文件,可以用rm 删除
    6.在linux系统中,删除静态文件(没有系统调用)【目录也是文件】的条件是与之相关的所有硬链接文件均被删除
        当硬链接的个数为0的时候,文件也就被删除了


    cp

    cp会重新创建一个文件并且复制相同的内容,占用新的空间,新的inode,这是两个文件。
    而硬链接实际上是增加了原来文件的count,并创建了一个连接,当你删除一个源文件或者一个硬链接后,count减1,到0后删除文件。

    2.软连接 ln -s 源文件 目标文件 

    1.符号链接 相当于快捷方式(windows)
    2.软连接 和 源文件 是不同类型的文件,也是不同的文件,inode号也不相同
    3. 软连接存放的是文件的路径
    4. 删除 源文件 软连接依旧存在,显示为红色闪烁
    5. 作用 可以做数据迁移
    
    打个简单的比喻
    你在巷子里开一家超市 ---> 硬链接 超市的两个门 
               ---> 软连接 十字路口的 牌子(往里走100米 有超市)
    关一个门(删除硬链接)  超市不受影响(目标文件),十字路口的牌子依然指向这个超市(软连接不受影响)
    超市关了(删除源文件)   十字路口的牌子没有用了(软连接错误)

    小节:  

    删除软连接文件 对源文件和硬链接文件 都没有影响
    删除源文件 硬链接没影响 软连接文件无法打开

    面试题:

    提问:
    01. 硬链接可以防止文件误删除  cp命令也可以备份文件防止误删除
        尽量备份文件时,最好还是要利用cp备份
        硬链接备份文件: 只能防止文件误删除  不能防止文件误修改
    cp备份文件:     可以进行数据恢复    
    02. 创建新文件硬链接数是多少? 创建新目录硬链接数是多少?
    目录硬链接数为什么和文件硬链接数不同
    文件默认硬链接数为  1
    目录默认硬链接数为  2  目录中有子目录,硬链接数还会递增
     .  当前目录
        .. 上一级目录

    目录的连接: 

    1.目录不可以创建硬链接,但可以创建软连接
    2.目录的硬链接不能跨越文件系统(从硬连接原理可以理解)
    3.每个目录下面都有一个硬链接 "." 号,和对应的上级目录的硬链接 ".. "
    4.在父目录里创建一个子目录,父目录的链接数增加1,(每个子目录里面都有.. 指向父目录)
     在父目录里面创建文件,父目录的连接不会增加
  • 相关阅读:
    CSS 备忘
    header操作cookie
    定时器传参数
    Display 和Visible 区别
    php 笔记
    概要设计要求
    iOS 之 UITextView
    iOS 按钮设置图片和事件
    iOS 设置控件圆角、文字、字体
    iOS 之 UIScrollView
  • 原文地址:https://www.cnblogs.com/zhanghongqi/p/11578302.html
Copyright © 2011-2022 走看看