了解这个的时候不如先知道下文件吧.

    我们知道文件都有文件名与数据,但是呢这个在 Linux 上被分成两个部分:用户数据 (user data) 与元数据 (metadata)。

    用户数据,即文件数据块 (data block),数据块是记录文件真实内容的地方;

    而元数据则是文件的附加属性,如文件大小、创建时间、所有者等信息。

    在 Linux 中,元数据中的 inode 号(inode 是文件元数据的一部分但其并不包含文件名,inode 号即索引节点号)才是文件的唯一标识而非文件名。文件名是为了方便人们的记忆和使用     

    系统或程序通过 inode 号寻找正确的文件数据块,所以呢文件读取过程则为先读取inode,然后找block数据。

    而linux 引入的两种链接:硬链接与软链接,为系统解决了文件的共享使用,同时提供隐藏文件路径,节省存储,同时增加了文件的安全。

    你可能看了这么久还是一脸懵逼的,不要着急看完实例,你就懂了。

一,硬链接

    就是一个文件的一个或多个文件名 -->这么简单的回答是不是又懵逼了呢??

    通俗的讲硬链接就是一个你的复制人,你在的时候你干什么他也干什么,但是你不在了,他是不会消失,就不受你约束了。

    可是我还要讲一个呢---------ln命令  ---> ln [选项]... [文件]...

    你看着文章只需要掌握两个

              ln  目标文件   创一个个性化名字   ---->硬链接

              ln  -s   目标文件   创一个个性化名字------>软链接       

    ln  就是创建链接的     ----->然后没了。

    

    ln  学会了现在正式开讲  硬链接

    我们通过硬链接的特性来去了解他吧

   1,文件具有相同的inode及data  block,

     

      我们先创建一个文件,现在我要给他添加硬链接,

     

     创建好了

     

     是不是创建好了??然后用ls -li 查看下看到inode一样的

     这就是inode一样。看到这里肯定有个模糊的理解了吧,看张图:

    

     2,硬链接是不会占用空间的

        这个你知道就行,记住不占用磁盘空间

     3,只能对已存在的文件进行创建

       创建的时候源文件要在,你不可能凭空出来个链接文件吧??

     4,不能对目录进行创建,只可对文件创建  

       对目录创建是软连接的事,硬链接只会创建文件链接哦  

     5,无论哪个文件输入东西另一个也会有

        

        这就是复制人的强大

      6,删除一个文件另一个是不受影响的

        我们删除源文件看看:

          

       不受影响,依旧能写能读

      注意:目录创建是不可以的哦

        

      

       也不能交叉文件系统

         我是这样理解一个root 系统 一个dev  里面东西不一样就不行了   

二,软连接

    来完成硬链接不能完成的事:

    软链接呢就像你的投影,为啥这样说呢?你有的他有,你不在了他就变木头

    看下软链接的读取流程  

   创建一个软链接先:

    

    看到错误没呢?

    创建的时候,要创建的内容不能带/ 所以目录名不能和文件名重合。

    软链接呢可以做硬链接的事,即可以文件,也可以目录哦

  特性:  1,软链接有自己的文件属性及权限,inode不同等

      不知道大家有没有发现上面图片,已经描述很详细了

       文件属性不同呢

       2, 可对不存在的文件或目录创建软链接

        这个是不是强大多了?不过你创建好了,源文件不再,创建的是没用的呢

          

          我们要怎么让他有用呢??

        答案是创建源文件

    

      看不闪了 活了 ,,,

        同样可以推出,,假如删除源文件,链接文件是不能用的,无效

      

     

     3,文件内容共享,无论哪里有新文件还是内容,另一边都会有

      

    

    4,软连接是可以对文件或者目录创建的

      这个可以理解吧

    5,创建软链接时,链接计数 i_nlink 不会增加

    

    不管你创建多少都不会增加的,硬链接却会有哦我们看看:

    

     6, 删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接被称为死链接(即 dangling link,若被指向路径文件被重新创建,死链接可恢复为正常的软链接)

  

     好了结束了 ,下一篇博客不见不散! 

Linux 运维之硬链接与软链接详解的更多相关文章

  1. [转帖]详解Linux系统inode原理--硬链接、软链接、innodb大小和划分等

    详解Linux系统inode原理--硬链接.软链接.innodb大小和划分等 原创 波波说运维 2019-07-17 00:03:00 https://www.toutiao.com/i6713116 ...

  2. linux系统中的硬链接和软链接

    首先我们需要了解linux下硬链接以及软连接的基本概念.硬链接:新建的文件是已经存在的文件的一个别名,当原文件删除时,新建的文件仍然可以使用.软链接:也称为符号链接,新建的文件以“路径”的形式来表示另 ...

  3. Linux硬链接和软连接详解

    硬链接: 硬链接是通过索引节点inode来进行链接的(关于inode,http://www.cnblogs.com/ZGreMount/p/7653307.html).在Linux(ext2,ext3 ...

  4. 自动化运维工具Ansible的部署步骤详解

    本文来源于http://sofar.blog.51cto.com/353572/1579894,主要是看到这样一篇好文章,想留下来供各位同僚一起分享. 一.基础介绍 ================= ...

  5. 自动化运维工具Ansible之Tests测验详解

    Ansible Tests 详解与使用案例 主机规划 添加用户账号 说明: 1. 运维人员使用的登录账号: 2. 所有的业务都放在 /app/ 下「yun用户的家目录」,避免业务数据乱放: 3. 该用 ...

  6. 自动化运维工具Ansible之Roles测验详解

    Ansible Roles 详解与实战案例 主机规划 添加用户账号 说明: 1. 运维人员使用的登录账号: 2. 所有的业务都放在 /app/ 下「yun用户的家目录」,避免业务数据乱放: 3. 该用 ...

  7. 运维自动化之Cobbler系统安装使用详解[good]

    一.简介 Cobbler是一个快速网络安装linux的服务,而且在经过调整也可以支持网络安装windows.该工具使用python开发,小巧轻便(才15k行python代码),使用简单的命令即可完成P ...

  8. Nginx高性能服务器安装、配置、运维 (3) —— Nginx配置详解

    四.Nginx 配置详解 YUM方式安装的Nginx默认配置文件放在/etc/nginx目录下,使用Vim编辑/etc/nginx/nginx.conf: ---------------------- ...

  9. 运维数据库平台~inception审核规则详解

    ---恢复内容开始--- 一 简介:这次我们来介绍最核心的审核功能 二 讲解:简单来说 inception就是mysql的二次过滤,何谓二次过滤,我们知道,mysql本身都有自己的审核规则,为业界所通 ...

随机推荐

  1. 【C#】浅克隆和深克隆的区别和在C#中的体现形式

    前言:我们知道对象分引用类型和值类型. 浅克隆:复制一个现有对象,引用类型指向同一个内存块(string为最特殊的对象,这里当作值类型来看先) public class User { public i ...

  2. java8之流的基本使用(二)

    概述 流(stream())是java8的一个新特性,主要的作用就是将各种类型的集合转换为流,然后的方便迭代数据用的.例如: //将List类型的集合转换为流 list.stream() 转换为流之后 ...

  3. php 可变数量的参数列表

    可变数量的参数列表 PHP 在用户自定义函数中支持可变数量的参数列表.在 PHP 5.6 及以上的版本中,由 ... 语法实现:在 PHP 5.5 及更早版本中,使用函数func_num_args() ...

  4. Vue 父组件向子组件传值,传方法,传父组件整体

    父子组件传值 1.父组件调用子组件时绑定属性,例如-> :title="title" 2.子组件中在props中声明title:props:['title','msg'] 3 ...

  5. 「HNOI2013」切糕

    题目链接 戳我 \(Solution\) 对于这道题,我们首先来看看没有\(D\)这个约束的该如何做. 我们考虑构造最小割模型. 其实直接贪心就好了,选出每条路径上的最小值就好了(路径就是将每层的同一 ...

  6. NFS4 挂载同主机多个目录

    写在前面的话 事情是酱婶儿的,前两天实在是帮他们查日志查的心里交瘁了,而且有些时候下班了,也就不想再接到这样的需求,于是想基于 Nginx 做一个文件下载中心,在这个文件下载中心里面存有各个服务的日志 ...

  7. Plugin execution not covered by lifecycle configuration: aspectj-maven-plugin:1.8

    现象: eclipse导入existing maven project,(父项目包含很多子项目),子项目的pom.xml报错: Plugin execution not covered by life ...

  8. 多线程《七》信号量,Event,定时器

    一 信号量 信号量也是一把锁,可以指定信号量为5,对比互斥锁同一时间只能有一个任务抢到锁去执行,信号量同一时间可以有5个任务拿到锁去执行,如果说互斥锁是合租房屋的人去抢一个厕所,那么信号量就相当于一群 ...

  9. winform发布桌面程序后提示需开启“目录浏览”

    把发布文件里的publish.htm名字改为index.htm就好了

  10. loj#6437. 「PKUSC2018」PKUSC(计算几何)

    题面 传送门 题解 计算几何的东西我好像都已经忘光了-- 首先我们可以把原问题转化为另一个等价的问题:对于每一个敌人,我们以原点为圆心,画一个经过该点的圆,把这个圆在多边形内部的圆弧的度数加入答案.求 ...