前言:在网上搜索了好久,看了很多博客,某度知道等等。关于软硬链接的解释都太模糊,还有什么i节点,跨分区根本弄不明白,在查阅了书籍和询问老师后决定自己写一篇简单的博文,让初学者都能够明白的博文。

一 建立软链接和硬链接的语法

软链接:ln -s 源文件 目标文件
硬链接:ln 源文件 目标文件
源文件:即你要对谁建立链接

二 什么是软链接和硬链接

1,软链接可以理解成快捷方式。它和windows下的快捷方式的作用是一样的。
2,硬链接等于cp -p 加 同步更新。

为了方便说明,我在根分区(/)下建立test文件夹,然后新建了一个jys文件

建立软链接和硬链接:

区别: 软链接文件的大小和创建时间和源文件不同。软链接文件只是维持了从软链接到源文件的指向关系(从jys.soft->jys可以看出),不是源文件的内容,大小不一样容易理解。
硬链接文件和源文件的大小和创建时间一样。硬链接文件的内容和源文件的内容一模一样,相当于copy了一份。

但是简单的copy的文件创建文件的时间应该是复制文件时的时间,肯定不会像硬链接那样和创建源文件的时间相同。你想的没错。

但是只要加一个选项-p,时间就一样了


那么cp -p的文件是不是就相当于硬链接了呢?其实不然,对于源文件的内容有修改,硬链接文件会同步更新修改,始终保持和源文件的内容相同,而复制的文件则不可能做到这一点。

所以,硬链接等于cp -p加同步更新。
软链接像快捷方式,方便我们打开源文件,这一点在windows中深有体会,那硬链接有哪些应用呢?
在多用户的操作系统里,你写一个脚本,程序等,没有完成,保存后等下次有时间继续写,但是其他用户有可能将你未写完的东西当成垃圾清理掉,这时,你对你的程序,脚本等做一个硬链接,利用硬链接的同步更新,就可以防止别人误删你的源文件了。

三 删除源文件对软链接和硬链接的影响


查看软链接文件,查看的文件不存在。和windows一样,删除源文件,快捷方式也用不了。但是删除源文件,为什么硬链接文件还可以查看呢?
这里要简单说下i节点了。i节点是文件和目录的唯一标识,每个文件和目录必有i节点,不然操作系统就无法识别该文件或目录,就像没有上户口的黑户。linux操作系统是不识别这些字母的,像这些jys ,jys.hard操作系统根本不知道是什么玩意。

可以看出硬链接文件和源文件i节点号相同,并且一个i节点可以对应多个文件名。

如图,删除了jys,只是删除了从920586到jys的映射关系,不影响它和jys.hard的映射关系。此图也解释了硬链接的同步更新,对源文件修改,操作系统只认i节点,于是操作系统就将修改内容写进所有i节点相同名字不同的文件。写到这里我突发奇想,如果对硬链接文件进行修改那么源文件会不会同步更新呢?留给读者自己试验吧!

软链接和硬链接到底有啥作用和区别相关推荐

  1. Linux中软链接与硬链接的作用、区别、创建、删除

    目录 1.软链接与硬链接的作用 (1)软链接 (2)硬链接 2.软.硬链接的相同点与区别 3.创建软.硬链接 4.删除方式 1.软链接与硬链接的作用 (1)软链接 软链接是Linux中常用的命令,它的 ...

  2. 特殊权限之set uid,set gid,sticky bit以及软链接和硬链接

    为什么80%的码农都做不了架构师?>>>    特殊权限之 set uid 权限说明:set uid权限针对二进制可执行文件,使文件在执行阶段具有文件所有者的权限.比如passwd这 ...

  3. centos7删除符号链接_面试 | Linux 下软链接和硬链接的区别

    在 Linux 系统中,一切都是文件,然而为了区分不同类型的事物,我们有了: 普通文件 目录文件 链接文件 设备文件 在之前的文章<阿里面试题 | Nginx 所使用的 epoll 模型是什么? ...

  4. linux 软链接_面试 | Linux 下软链接和硬链接的区别

    在 Linux 系统中,一切都是文件,然而为了区分不同类型的事物,我们有了: 普通文件 目录文件 链接文件 设备文件 在之前的文章<阿里面试题 | Nginx 所使用的 epoll 模型是什么? ...

  5. FILE 结构体的定义,inode ,软链接和硬链接的理解

    一.FILE结构体: C将每个文件简单地作为顺序字节流.每个文件用文件结束符结束,或者在特定字节数的地方结束,这个特定的字节数可以存储在系统维护的管理数据结构中.当打开文件时,就建立了和文件的关系. ...

  6. Linux 基础I/O :文件描述符,重定向,文件系统,软链接和硬链接,动态库和静态库

    文件描述符 重定向 文件系统 软链接和硬链接 动态库和静态库 文件描述符 上面两个接口分别是c语言的fread接口和linux的read接口,当我们在使用的时,可能会有疑问,为什么linux的io接口 ...

  7. linux给文件添加链接,Linux给文件或目录创建软链接或硬链接的方法

    有时linux用户们为了使用方便,会想给电脑中的文件或目录创建软链接或硬链接.不过有些用户不清楚该怎么给这些文件或目录创建软链接或硬链接该怎么办呢?别急,现在小编就来教你解决的方法. 解决方法: 当我 ...

  8. 【存储知识】文件系统与硬盘存储(分区、格式化、挂载、inode、软链接与硬链接)

    一.Linux系统的文件存储结构 在Linux系统中,对计算机中的数据和硬件资源进行管理都是以文件的形式,目录.字符设备.套接字.硬盘.光驱.打印机等都被抽象成文件形式("Linux系统一切 ...

  9. 什么是软链接、硬链接

    什么是软链接.硬链接 一.软链接 ①软链接的概念: 类同与windos的快捷方式,给文件创建一个快速的访问路径,它依赖于原文件,与普通文件没什么不同,inode 都指向同一个文件在硬盘中的区块.当原文 ...

最新文章

  1. Vc2003可以直接跑quake3
  2. 360浏览器使用评价
  3. 图解用Fiddler做http协议分析入门
  4. spark-submit
  5. 联想拯救者y空间兑换代码_十代酷睿全面升级 拯救者Y7000P 2020产品解读
  6. vs如何写多线程_java中的多线程的示例
  7. AUTOSAR专业知识篇(五)-“敏捷”适用于汽车软件开发吗?当我们谈“敏捷”,到底在谈什么?
  8. 十七、MySQL触发器(创建、删除、查看)详解
  9. winpcap的程序(转)
  10. OJ1086: ASCII码排序(多实例测试)(C语言)
  11. UI实用素材|扁平化UI设计模板,UI设计师都要会!
  12. Manjaro oh-my-zsh安装配置
  13. ESP8266WIFI模块连接原子云及手机APP
  14. Oracle VM VirtualBox虚拟机新建教程(包括镜像文件的下载和安装)
  15. ubuntu安装WPS字体缺失的解决办法
  16. 腾讯电脑管家修复代理服务器,腾讯电脑管家修复msvcp140.dll丢失的方法
  17. 二分专项训练(二分搜索+二分答案的十贰道例题及解析
  18. 微观经济学读书笔记(一)
  19. 保利威视后台设置播放域名黑白名单
  20. Multisim基础 有极性的电容 添加元件的位置

热门文章

  1. UVa1589 象棋
  2. java基础加强视频zxx(1-32)
  3. 手把手教你使用NIRS_KIT
  4. android 壁纸服务,Android视频壁纸的实现
  5. 这些室友真奇葩!好烦啊!
  6. 7 errors and 0 warnings potentially fixable with the `--fix` option.报错处理
  7. c语言习题 定义函数 areaT,功能是求梯形面积。要求在主函数中输入上底(用变量 a存储)、下底(用变量 b 存储)、和高(用变量 h 存储),在主函数中调用函数 areaT,输出梯形面积(用变量
  8. 卡巴斯基正式起诉瑞星公司涉嫌不正当竞争
  9. C/C++内存检测工具Sanitizers
  10. 鸿蒙系统怎么安装EXE,有原版的EXE、ISO系统文件,怎么装原版的WINDOWS系统??