目录

引言  

创建软连接,硬链接

创建语句

二者区别


引言  

链接是一种在共享文件和访问它的用户的若干目录项之间建立联系的一种方法。方便文件的共享使用,在Linux操作系统中引入了连接,链接被分为两种:软链接(Soft Link,符号链接)和硬链接(Hard Link)。在windows操作系统中文件的快捷方式类似于软链接,可执行文件类似于有链接。

创建软连接,硬链接

ln 命令用于给文件创建链接,

ln [选项] 源文件 链接名

NAME
       ln - make links between files

SYNOPSIS
       ln [OPTION]... [-T] TARGET LINK_NAME
       ln [OPTION]... TARGET
       ln [OPTION]... TARGET... DIRECTORY
       ln [OPTION]... -t DIRECTORY TARGET...
        ......

ln-s:建立软链接文件。如果不加 "-s" 选项,则建立硬链接文件;

实验目录结构

[root@lilu text1]# tree
.
├── a
├── aa
└── b└── x└── z

创建语句

给a文件创建链接

[root@lilu text1]# ln a a.hard
[root@lilu text1]# ln -s a.soft
[root@lilu text1]# tree
.
├── a
├── aa
├── a.hard
├── a.soft -> a.soft
└── b└── x└── z3 directories, 4 files

查看目录,可以看出来目录中多了a.hard以及a.soft

[root@lilu text1]# ll
总用量 0
-rw-r--r--. 2 root root  0  1月  1 14:24 a
-rw-r--r--. 1 root root  0  1月  1 14:24 aa
-rw-r--r--. 2 root root  0  1月  1 14:24 a.hard
lrwxrwxrwx. 1 root root  6  1月  1 14:30 a.soft -> a.soft
drwxr-xr-x. 3 root root 15  1月  1 14:24 b

 

在Linux中,文件的inode号才是文件的唯一标识而非文件名,文件内容要通过inode号来寻找。文件的基本信息都存储在 inode 中,而硬链接指的就是给一个文件的 inode 分配多个文件名,通过任何一个文件名,都可以找到此文件的 inode,从而读取该文件的数据信息。

查看a文件状态

[root@lilu text1]# stat a文件:a大小:0             块:0          IO 块:4096   普通空文件
设备:fd00h/64768d  Inode:18422611    硬链接:2
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
环境:unconfined_u:object_r:default_t:s0
最近访问:2023-01-01 14:24:22.586212778 +0800
最近更改:2023-01-01 14:24:22.586212778 +0800
最近改动:2023-01-01 14:29:47.656965735 +0800
创建时间:2023-01-01 14:15:45.079371078 +0800
[root@lilu text1]# stat a.hard文件:a.hard大小:0          块:0          IO 块:4096   普通空文件
设备:fd00h/64768d  Inode:18422611    硬链接:2
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
环境:unconfined_u:object_r:default_t:s0
最近访问:2023-01-01 14:24:22.586212778 +0800
最近更改:2023-01-01 14:24:22.586212778 +0800
最近改动:2023-01-01 14:29:47.656965735 +0800
创建时间:2023-01-01 14:15:45.079371078 +0800
[root@lilu text1]# stat a.soft文件:a.soft -> a.soft大小:6             块:0          IO 块:4096   符号链接
设备:fd00h/64768d  Inode:18423955    硬链接:1
权限:(0777/lrwxrwxrwx)  Uid:(    0/    root)   Gid:(    0/    root)
环境:unconfined_u:object_r:default_t:s0
最近访问:2023-01-01 14:30:06.990823238 +0800
最近更改:2023-01-01 14:30:02.532856096 +0800
最近改动:2023-01-01 14:30:02.532856096 +0800
创建时间:2023-01-01 14:30:02.532856096 +0800

所以这里a.hard和a的Inode号是一样的,而与a,soft是不一样的, 硬链接和原文件对应一个inode,就是对应一个文件。软链接可以理解成快捷方式,和原文件的inode号不一样,它和Windows下的快捷方式的作用是一样的

二者区别

硬链接的特点如下:

  • 不论是修改源文件,还是修改硬链接文件 ,另一个文件中的数据都会发生改变。
  • 不论是删除源文件,还是删除硬链接文件,只要还有一个文件存在,这个文件都可以被访问。
  • 硬链接不会建立新的 inode 信息,也不会更改 inode 的总数。
  • 硬链接不能跨文件系统(分区)建立,因为在不同的文件系统中,inode 号是重新计算的。
  • 硬链接不能链接目录,因为如果给目录建立硬链接,那么不仅目录本身需要重新建立,目录下所有的子文件,包括子目录中的所有子文件都需要建立硬链接,这对当前的 Linux 来讲过于复杂。

我们就可以总结出软链接的特点(软链接的特点和 Windows 中的快捷方式完全一致)。

  • 不论是修改源文件),还是修改硬链接文件,另一个文件中的数据都会发生改变。
  • 删除软链接文件,源文件不受影响。而删除原文件,软链接文件将找不到实际的数据,从而显示文件不存在。
  • 软链接会新建自己的 inode 信息和 block,只是在 block 中不存储实际文件数据,而存储的是源文件的文件名及 inode 号。
  • 软链接可以链接目录。
  • 软链接可以跨分区。

软链接(Soft Link,符号链接)和硬链接(Hard Link)。相关推荐

  1. 【批处理DOS-CMD命令-汇总和小结】-符号链接、硬链接、软链接、目录联结(mklink)

    以下的测试环境是win10教育版. 参考来源 windows快捷方式,符号链接,软链接和硬链接 关于mklink的/D /J 区别_notback的博客-CSDN博客_mklink 区别 Window ...

  2. HDFS符号链接和硬链接

    前言 初看这个标题,可能很多人会心生疑问:符号链接和硬链接是什么意思?这些概念不是在Linux操作系统下才有的嘛,HDFS目前也有?当然大家可能还会有其他疑问,没关系,在后面的内容讲述中答案会一一揭晓 ...

  3. 符号链接和硬链接有什么区别?

    最近我在求职面试时被问到这个问题. 我是诚实的,并说我知道符号链接的行为以及如何创建一个,但不理解硬链接的使用以及它与符号链接的区别. #1楼 使用任何Linux(ish)控制台可能有所帮助的一些很好 ...

  4. Linux随笔2 - Linux的目录配置、文件元数据信息、符号链接与硬链接和常用文件和目录管理命令示例

    目录 1. Linux的目录配置与FHS(Filesystem Hierarchy Standard) 1.1 根目录(/)的意义与内容 1.1.1 FHS要求根目录中必须存在的目录 1.1.2 FH ...

  5. linux 的文件软链接隐藏,Linux inode及硬链接软链接详解

    Linux inode及硬链接软链接详解 York • 2020 年 09 月 28 日 Loading... 操作系统的文件数据除了实际内容之外,通常含有非常多的属性,例如 `Linux`操作系统的 ...

  6. linux中硬链接文件,科学网—Linux:文件的符号链接和硬链接 - 刘洋洋的博文

    参考:中国大学MOOC课程<Linux系统管理>,授课教师:颜晨阳. 推荐阅读: t.cn/RLXkhpc 1 符号(symbolic)链接 与Windows的快捷方式很像,这些文件很小, ...

  7. linux文件-link函数(文件硬链接和软连接)

    创建硬链接的函数: 相关函数:symlink, unlink头文件:#include <unistd.h>定义函数:int link (const char * oldpath, cons ...

  8. linux软链接重启,linux 软连接与硬链接

    实验环境 创建链接文件 root@mark:~/link_test# ls -l -h total 28K -rw-r--r-- 1 root root 26K May 6 02:56 qemu.he ...

  9. 【Linux】创建文件链接(ln | 符号链接和硬链接)

    摘要 本文将介绍如何在 Linux 中为文件创建硬练级和符号(软)链接,并探讨两者之间的相同和不同之处. 引言 符号链接与 Windows 中的快捷方式很像.Windows 中的快捷方式是一个带箭头的 ...

最新文章

  1. AMDF换成ACF和AMDF合作算法
  2. anaconda中gurobi下载_Anaconda是什么?Anconda下载安装教程 - python基础入门(16)
  3. 处理api返回的数据_API 乐队指挥家,网关服务正式上线
  4. 【渝粤教育】广东开放大学 javaweb 动态网站开发技术 形成性考核 (53)
  5. 作者:石勇(1956-),男,中国科学院大学经济管理学院教授、博士生导师
  6. 汇编的一些坑以及部分上机题目的实现
  7. aspx调试的时候其他机器也可以打开_VSCode 穿越跳板机调试远程代码
  8. hihocode 1336 Matrix Sum 【二维树状数组】
  9. matlab除与左除,Matlab左除和右除
  10. 影子系统、沙盒、虚拟机的区别
  11. 多源信息融合_BIM+GIS的深度融合之路
  12. css同时多个立方体旋转,CSS3 旋转立方体问题详解
  13. 2015 年度新增开源软件排名TOP100
  14. RPA进阶(二)Uipath应用实践
  15. 计算机桌面图标有阴影,解决电脑桌面图标出现蓝色阴影的小方法
  16. 源中瑞区块链baas平台一站式服务体系
  17. 计算机趣事 英语作文,寒假趣事英语作文4篇
  18. Typescript+Vue大型后台管理系统实战
  19. stored-program Computer/von Neumann Architecture 冯诺依曼体系结构
  20. 算符优先算法java实现,算符优先算法

热门文章

  1. 动物模型/ 心血管疾病模型 / 啮齿动物高血压模型-自发性高血压大鼠(SHR)
  2. 要低调做人一定要低调
  3. CIR,CBS,EBS,PIR,PBS ----揭秘令牌桶
  4. gitee最详细使用教程,汇总了全网,看这一篇就够了
  5. 解决戴尔T640安装显卡后风扇狂飙
  6. 软考高级 真题 2017年下半年 信息系统项目管理师 案例分析
  7. 零基础学java web开发_从零基础学Java成为一个专业的java web 开发者
  8. 解决:OpenCV: FFMPEG: tag 0x5634504d/‘MP4V‘ is not supported with codec id 12 and format ‘mp4 / MP4
  9. 什么是C126大盘同步选股指标?
  10. [kuangbin带你飞]专题十四 数论基础