zoukankan      html  css  js  c++  java
  • ln软硬链接的区别

    ln命令中,man-pages里说了一些关于ln与ln -s的区别,软硬链接的不同点,有点模糊,查阅了网络上大家的总结,自己也总结下

    ln *source *target 默认产生一个硬链接,

    ln -s *source *target 加上参数-s,建立软链接

    区别

    1、 软链接可以跨文件系统,比如你要链接一个windows共享文件夹下的某文件至linux里,软链接可以,而硬链接不行,硬的只能在一个分区里

    2、inode节点问题,硬的不管有多少个,均指向一个inode,每创建一个硬链接,会产生一个(大小、权限、inode、时间)一致的文件,并增加1个链接数,它们是绝对平等的,可以通过ls -il命令查看详细的inode和连接数。

    软链接,是产生一个很小的具有新inode的文件,有点类似win中的“快捷方式”,它存放的是指向源文件路径的指针,是个全新的文件 

    删除一个硬链接,只会减少连接数,直到删除最后一个连接数为1的文件,就是彻底删除了此文件

    删除一个软链接文件,无区别。删除源文件的话,软连接则指向了一个空文件 

    (关于inode节点,我的理解是存放在磁盘空间的一个地址,所有的文件都具有一个inode用来指向磁盘里的实际存储位置,有误的话欢迎指正)

    3、软的可以链接目录,而硬的不行

    一般我们都是采用软链接的方式给文件链接,因为可以跨分区和文件系统。

    还有个值得注意的是,不管是修改软链接还是硬链接文件,所有的文件都是同步修改的,这是软硬的共性

  • 相关阅读:
    当···时发生了什么?
    数据存储-3、数据库分库分表思路
    数据存储-2、反模式设计
    数据存储-1、MySQL 索引使用的注意事项
    锁机制-4、synchronized 与 lock 的区别
    锁机制-3、synchronize 实现原理
    锁机制-1、乐观锁与悲观锁以及乐观锁的一种实现方式
    线程-11、线程的生命周期
    线程-10、线程池的几种方式
    线程-9、线程池的实现原理
  • 原文地址:https://www.cnblogs.com/huangzhen/p/2147905.html
Copyright © 2011-2022 走看看