Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Linux中的链接文件_软链接和硬链接

Linux中的链接文件_软链接和硬链接

作者头像
Zoctopus
发布于 2018-06-20 07:22:20
发布于 2018-06-20 07:22:20
7.1K0
举报

一、链接文件介绍

Linux操作系统中的“链接文件”分为硬链接(hard link)和软链接(symbolic link)。两种链接的本质区别在于inode。以下是详细介绍:

  • 硬链接:当系统要读取一个文件时,会先读inode信息,然后再根据inode中的信息到块领域将数据取出来。而硬链接是直接再建立一个inode链接到文件放置的块领域,即进行硬连接时该文件内容没有任何变化,只是增加了一个指向这个文件的inode,并不会额外占用磁盘空间。硬链接有两个限制:
  1. 不能跨文件系统,因为不同的文件系统有不同的inode table;
  2. 不能链接目录。
  • 软链接:与硬链接不同,软链接是建立一个独立的文件,当读取这个链接文件时,它会把读取的行为转发到该文件所链接的文件上。举个例子:现在有一个文件a,我们做了一个软链接文件b,b指向a,当读取b时,b就会把读取的动作转发到a上,这样就读取了文件a。当我们删除文件a时,链接文件b不会被影响,但如果再次读取b时,会提示无法打开文件;然而当我们删除b时,不会对文件a造成任何影响。

二、两者的区别

  • 硬链接记录的是目标的inode,软链接记录的是目标的路径。
  • 软链接就像是快捷方式,而硬链接就像是备份。
  • 软链接可以做跨分区的链接,而硬链接由于inode的缘故,只能在本分区中做链接。所以,软链接的使用频率要高很多。

三、如何建立软链接和硬链接

ln(link)命令的格式:ln [-s] [来源文件] [目的文件]。该命令常用的选项是-s,如果不加-s选项就是建立硬链接,加上-s选项就建立软链接(可以这样记忆,s->soft(柔软的)),例:

注:上例中的du命令用来计算文件或者目录的大小,-k表示以KB为单位,这里的4,就指的是4KB;ll命令等同于 ls -l。

一开始目录下面只有一个passwd文件,目录总大小为4KB,做了硬链接后,虽然两个文件的大小都为2364B,但目录的总大小没有变化。

所以我们先试着删除源文件,再来比较,例:

在上例中,删除源文件passwd后,文件大小依旧没有改变。说明硬链接文件并不会复制数据块额外占用磁盘空间。

再看硬链接的另外一个限制——不允许目录做硬链接。例:

软链接特性

首先建立一个测试目录456,然后复制/etc/passwd文件来做测试,再给它做一个软链接文件,例:

上例中,如果删除源文件,则不能读取软链接文件,而且使用命令ll查看时发现颜色也有变化。

说明目录不可以做硬链接,但可以做软链接,例:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-04-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
软链接和硬链接
在操作系统级别看存储空间的话,是分为很多的block块,这些block块是分为很多种类的
mindtechnist
2024/08/08
1810
软链接和硬链接
Linux:软链接和硬链接的理解
Linux ln(英文全拼:link files)命令是一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接。
鲲志说
2025/04/07
1260
Linux:软链接和硬链接的理解
Linux 文件属性及详细操作
目录 Linux 文件属性 文件属性信息组成 文件属性概念说明 文件软硬链接说明 硬链接 软链接 补充知识 存储数据相关-inode/block inode: block: 读取文件原理图 Linux文件系统 文件用户和用户组 用户相关文件 不使用useradd命令添加用户 Linux 文件属性 文件属性信息组成 图示如下: 文件索引属性信息-inode 文件类型权限信息 文件链接属性信息-硬链接个数 文件属主属性信息-文件所有者 文件属组属性信息-文件所属组 文件大小属性信息-最小单位字节(大
HammerZe
2022/03/25
5860
Linux 文件属性及详细操作
文件特殊权限suid、sgid、stick_bit、软链接、硬链接
umask的数值0022中第一位代表的就是特殊权限,包括有suid、sgid、sticky_bit。
阿dai学长
2019/04/03
9430
【Linux】理解文件系统——软硬链接
我们之前讨论的都是进程和被打开文件的关系,而如果一个文件是没有被打开呢?没有被打开的文件操作系统如何管理?
平凡的人1
2023/10/15
4600
【Linux】理解文件系统——软硬链接
2.21 软链接文件
软链接其实就是在一个文件本身存了另一个文件目录的路径。链接文件的大小适合路径是有关系的,路径越长,那这个软链接文件越大
运维小白
2022/01/06
7960
【Linux】开始认识软硬链接
然后我们怎么寻找一个文件呢: 要找到指定文件 -> 首先要找到所在目录(逆向解析路径) ->找到文件的inode编号 -> 打开文件 操作系统必须通过路径来确定文件!!!
叫我龙翔
2024/05/05
1330
【Linux】开始认识软硬链接
细谈linux软硬链接
​ 对于软连接,在 linux 中,我们可以使用 ln (link)指令带上 -s 选项来生成一个指定文件的软链接!
利刃大大
2023/04/12
4.4K0
细谈linux软硬链接
理解inode 以及 软链接和硬链接概念区分
https://www.cnblogs.com/huxiao-tee/p/4657851.html 
西湖醋鱼
2020/12/30
4720
理解inode 以及 软链接和硬链接概念区分
【Linux课程学习】:站在文件系统之上理解:软硬链接,软硬链接的区别
https://blog.csdn.net/djdjiejsn/category_12669243.html
用户11396661
2024/12/09
1630
【Linux课程学习】:站在文件系统之上理解:软硬链接,软硬链接的区别
Linux基础知识点
文件(包括目录)权限分为三类别,从左至右依次是:文件所属主的权限、文件所属所在用户组的权限和其他用户的权限。
恋喵大鲤鱼
2018/08/03
1.8K0
Linux基础知识点
【解惑】软硬链接及挂载之间的区别总结
链接是我们在linux 系统中常用到的一种操作,常见于把一个常用到的深层次目录下的文件链接到一个更容易访问的目录下,又或者是为了防止误删对文件进行一个备份的工作等。而挂载呢,也是计算机中一个非常重要的知识点,对于数据量大的实验室来说十分重要。那什么是软硬链接、什么是挂载呢?他们之间的区别又是什么?我们今天一起来看看。如有不妥之处,还请大家及时指正。
自学气象人
2022/10/09
1.9K0
【解惑】软硬链接及挂载之间的区别总结
[操作系统] 文件的软链接和硬链接
在 Linux 文件系统中,文件名与文件数据的关系并不像表面看起来那样简单。真正标识文件的是 inode(索引节点),而文件名只是 inode 的别名。这种设计衍生出了两种特殊的文件关联方式:硬链接(Hard Link) 和 软链接(Symbolic Link,又称软链接)。本文将深入探讨它们的原理、区别及实际应用。
DevKevin
2025/03/03
2030
[操作系统] 文件的软链接和硬链接
软件测试|Linux基础教程:ln命令与软链接和硬链接
在Linux系统中,ln命令是一个非常有用的工具,用于创建链接(link),将一个文件或目录链接到另一个位置。链接允许一个文件或目录可以同时存在于多个位置,而不会占用额外的磁盘空间。ln命令支持创建硬链接和软链接两种类型的链接。本文将详细介绍Linux中ln命令的用法、语法以及两种链接类型的区别。
霍格沃兹测试开发Muller老师
2023/10/19
4750
Linux ln命令:建立链接文件
如果要想说清楚 ln 命令,则必须先解释下 ext 文件系统(Linux 文件系统)是如何工作的。我们在前面讲解了分区的格式化就是写入文件系统,而我们的 Linux 目前使用的是 ext4 文件系统。如果用一张示意图来描述 ext4 文件系统。
芯动大师
2023/10/29
3640
Linux ln命令:建立链接文件
详解 Linux 中的硬链接与软链接
在 Windows 中安装应用程序,通常安装向导会提示是否创建桌面快捷方式。如果选择同意创建,安装完成后会在桌面上看到对应应用程序的图标,如果想要使用这个应用程序只需要双击桌面上的快捷方式即可,这就是 Windows 中的快捷方式。Linux 链接文件类似于 Windows 中的快捷方式,Linux 链接文件分为硬链接和软链接,不过在具体介绍 Linux 中的硬链接和软链接之前,先来看看 Linux 文件系统中文件的具体结构。
触摸壹缕阳光
2020/09/01
12.6K2
Linux硬链接,软链接
文件是存储在硬盘上的,硬盘最小单位叫扇区(sector),每个扇区存储512字节。操作系统读取硬盘的时候,如果一个一个读取那效率很低,因此一次性读取多个扇区,即一次性读取一个块(block)。这种多个扇区组成的块,就是文件存取的最小单位。block的大小最常见的是4KB,即连续8个sector组成一个block。
doper
2022/08/23
10.1K0
Linux软链接与硬链接实战解析
一般情况下,文件名和inode号码是"一一对应"关系,每个inode号码对应一个文件名。但是,Unix/Linux系统允许,多个文件名指向同一个inode号码。
公众号guangcity
2019/09/20
6.2K0
Linux软链接与硬链接实战解析
软链接 vs. 硬链接
要想理解硬链接和软链接的区别,首先要明白什么是 Inode。Inode 是 Index node,索引节点的意思。每个文件都有一个 inode,里边保存着文件的元数据(meta data),包括:inode 号、文件大小、文件所有者、文件权限、文件类型、创建时间、硬链接数等等,除了文件名以外的所有文件信息都存储在这里。它是文件或者目录在一个文件系统中的唯一标识。
Coding十日谈
2020/08/13
1.3K0
软链接 vs. 硬链接
Linux之硬链接与软链接
2、在Linux中,元数据中的inode号(inode是文件元数据的一部分但其并不包含文件名,inode号即索引节点号)才是文件的唯一标识而不是文件名。(例如对一个文件重命名(mv)但inode号仍相同)。
CoreDao
2021/04/13
7.7K0
Linux之硬链接与软链接
相关推荐
软链接和硬链接
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档