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、软的可以链接目录,而硬的不行

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

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

  • 相关阅读:
    深入理解Java8中Stream的实现原理
    RocketMQ的顺序消费和事务消费
    Java 性能调优小技巧
    类加载机制基础
    十大经典排序算法
    分布式锁的几种常用实现方式
    python之接口开发
    python之urllib模块和requests模块
    python之time模块和hashlib模块
    python之os和sys模块的区别
  • 原文地址:https://www.cnblogs.com/huangzhen/p/2147905.html
Copyright © 2011-2022 走看看