Linux中包括两种链接:硬链接(hard link)和软链接(soft link),软链接又称为符号链接(symbolic link)

创建命令:
ln -s softlink destfile/directory   #建立软连接 
ln hardlink destfile                    #建立硬连接

inode
在Linux系统中,内核为每一个新创建的文件分配一个Inode,每个文件都有一个惟一的inode号,我们可以将inode简单理解成一个指针,它永远指向本文件的具体存储位置。文件属性保存在inode里,在访问文件时,inode被复制到内存在,从而实现文件的快速访问。系统是通过inode来定位每一个文件。

硬链接(hard link)
硬链接实际上是一个指针,指向源文件的inode,系统并不为它重新分配inode。硬连接不会建产新的inode,硬连接不管有多少个,都指向的是同一个inode节点,只是新建一个hard link会把结点连接数增加,只要结点的连接数不是0,文件就一直存在,不管你删除的是源文件还是连接的文件。只要有一个存在,文件就存在(其实就是引用计数的概念)。当你修改源文件或者连接文件任何一个的时候,其他的文件都会做同步的修改。

软链接(soft link)
软链接最直观的解释:相当于Windows系统的快捷方式,是一个独立文件(拥有独立的inode,与源文件inode无关),该文件的内容是源文件的路径指针,通过该链接可以访问到源文件。所以删除软链接文件对源文件无影响,但是删除源文件,软链接文件就会找不到要指向的文件(可以类比Windows上快捷方式,你点击快捷方式可以访问某个文件,但是删除快捷方式,对源文件无任何影响)。

区别
1. 软链接和源文件操作权限不一样;硬链接与源文件操作权限完全一致。
2. 软链接可以跨文件系统(分区);由于inode的限制以及文件系统的可卸载性,硬连接不容许跨文件系统。
3. 软连接可以对一个不存在的文件名进行连接;硬链接不可以。
4. 软连接可以对目录进行连接;硬链接不可以。

Linux下的hard link和soft link相关推荐

  1. Hard link and soft link in Linux

    2019独角兽企业重金招聘Python工程师标准>>> 在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号.文件属性保存在 ...

  2. linux hard link和soft link(硬链接和软链接)的简单介绍

    文件由何决定? 首先需要说明linux的文件的概念,我们如何分辨两个在linux里边的文件(以下简称文件)是不同的文件?由此就不得不说到一个东西,inode. 根据维基的定义: inode是指在许多& ...

  3. 通过inode理解hard link 和 soft link

    inode

  4. Linux下的ping6

    昨天分别试用了一下Linux下和Windows下的IPv6 Ping,发现无法ping Link-local地址,百思不得其解,遂上网google一下,终于找到了原因. Windows XP下的IPv ...

  5. ping6 linux,Linux下的ping6

    昨天分别试用了一下Linux下和Windows下的IPv6 Ping,发现无法ping Link-local地址,百思不得其解,遂上网google一下,终于找到了原因. Windows XP下的IPv ...

  6. linux 有线网卡,linux下有线网卡出现ADDRCONF(NETDEV_UP): eth0: link is not ready的解决方法...

    一.背景 2018年5月24日,笔者的pc已经连续运转两天了,突然要使用有线网卡,却发现有线网卡无法正常工作,于是查看了一下内核日志: r8169 0000:05:00.0 eth0: link do ...

  7. Linux下的softlink和symbolic link(hardlink)

    Linux中包括两种链接:硬链接(hard link)和软链接(soft link),软链接又称为符号链接(symbolic link) 创建命令: ln -s destfile/directory  ...

  8. 软链接(Soft Link,符号链接)和硬链接(Hard Link)。

    目录 引言 创建软连接,硬链接 创建语句 二者区别 引言 链接是一种在共享文件和访问它的用户的若干目录项之间建立联系的一种方法.方便文件的共享使用,在Linux操作系统中引入了连接,链接被分为两种:软 ...

  9. 【Linux命令】ip addr、ip link、ifconfig 用法 二

    文章目录 1. 前言 2. ip link 2.1 ip link add 2.1.1 命令实例 2.2 ip link set 2.3 ip link show 2.4 ip link delete ...

最新文章

  1. 编程术语_伟大的编程术语烘烤
  2. OpenNRE 2.0:可一键运行的开源关系抽取工具包
  3. cython linux so,更改Cython的.so文件命名规则
  4. Git的commit之后的撤销revert
  5. yarn.lock 文件和 yarn install
  6. Linux——批量查找替换方法(VIM和sed)
  7. 2013年6月13日星期四
  8. SpringBoot-拦截器
  9. Always On可用性组中SQL Server统计信息
  10. VoLTE技术中的会话持续性-eSRVCC
  11. 00.Maven简介
  12. 多线程总结之旅(1):线程VS进程
  13. 搭建本地以图搜图服务
  14. Elasticsear使用文档
  15. jsp调试java_[求助]jsp+javaBean调试环境问题!
  16. IntelliJ IDEA 常见文件类型的图标介绍
  17. 使用ONE(一个)API为博客添加每日一句话
  18. cmake-检测处理器体系结构(32位或64位)
  19. 地球人口承载力估计(c++基础)
  20. linux下rz和sz命令实现上传下载文件

热门文章

  1. AutoML:人工智能领域-自动化技术之机器学习自动化技术的简介(预处理→设计算法→训练模型→优化参数)、常用的工具或框架之详细攻略
  2. 【滤波】无迹卡尔曼滤波
  3. 程序设计基础系列作业(湖南师范大学)
  4. Ajax+分页整体使用样例
  5. 【网易金融总裁王磊:区块链的出现,有可能产生新的生态关系】
  6. More is Less——卷积网络加速
  7. 一次卸载垃圾软件绑定5QBB.com的心得
  8. 美业门店拓客管理系统开发(PHP程序语言)
  9. “变态”的JavaScript 发明人--布兰登·艾奇
  10. 【转载】SAP ABAP内表OCCURS,WORK AREA等 语法对比