Linux中的硬链接和软链接介绍和实验

在Linux中,链接分为硬链接和软链接,软链接又称为符号链接(Symbolic Link),在不带任何参数的情况下,使用ln命令创建的是硬链接。

硬链接:硬链接是通过索引节点来进行链接的。在Linux的文件系统中,保存在磁盘分区种的文件不管是什么类型的文件,都会为它分配一个编号,这个编号被称为索引节点编号(Inode Index)或Inode。多个文件名指向同一个索引节点(Inode),一般这种链接就称为硬链接。硬链接的作用之一是允许一个文件拥有多个有效路径名。这样用户可以建立硬链接到重要的文件,以防止“误删”源数据。创建硬链接源文件必须存在。并且硬链接只能建立文件的硬链接,不可以是目录。硬链接相当于文件的另外一个入口。使用ln命令可以直接创建。

软链接:又称为符号链接。类似于Windows中的快捷方式,它实际上是一个特殊的文件。在软链接中。软链接文件实际上就是一个文本文件,这个文件中包含有软链接指向另一文件的位置信息内容,因此,通过访问这个“快捷方式”就可以迅速定位到软链接所指向的原来的文件实体。使用ln -s。

下面做几个实验:

首先我们在普通用户guixian001的家目录创建guixian001文件。使用vi加入Hello!I am guixian001!内容。

    [[email protected] ~]$ touch guixian001
    [[email protected] ~]$ vi guixian001  #添加内容Hello!I am guixian001!

创建guixian001的硬链接文件guixian001_hard_link,和软链接文件guixian001_soft_link。使用ls -li查看。

需要注意的是,我们可以看到guixian001和guixian001_hard_link最前面的数字相同,这个就是我们刚刚说的Inode所以节点。也就是说硬链接和源文件是Inode是相同的。在第三列可以看到数字2,就是说这个文件被链接了2次(guixian001和guixian001_hard_link加起来2次)。

链接总结:

⒈删除软链接guixian001_soft_link,实际软链接就相当于一个快捷方式文件,所以删除软链接对guixian001,和guixian001_hard_link没有影响。

⒉删除硬链接guixian001_hard_link,对guixian001,guixian001_soft_link没有影响。

⒊删除原文件guixian001,对硬链接没有影响,实际上这个文件还没有真正删除(还存储在硬盘中),软链接会失效(目标没有没有了)。截图如下:

⒋同时删除原文件guixian001和硬链接文件guixian001_hard_link,这个文件会真正删除。

References:

1.老男孩Linux教程

Author:Chenguixian(guixian001)

时间: 2024-07-29 08:29:51

Linux中的硬链接和软链接介绍和实验的相关文章

linux中的硬链接和软链接

一.ln命令概述 它的功能是为某一个文件在另外一个位置建立一个同步的链接.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间. 二.硬链接和软链接的区别 硬链接:是通过文件系统的inode连接来产生新的文件名,而不是产生新文件 软链接:类似Windows的快捷方式功能的文件,可以让你快速连接到目标文件(或目录) 三.硬链接 语法:ln

Linux中inode详解,硬链接和软链接介绍

inode 详解   在Linux中,我们经常会做一些关于数据的操作(备份.传输.压缩等)或是要在后台持续的运行一些程序.由于,工作的数据量很大或者工作要持续很长的时间,我们就必须保证这个终端的启动,一旦终端关闭了,它所运行的进程也会关闭,我们所做的工作就可能前功尽弃.但是,即使我们不主动的关闭终端,终端有的时候也会应为一些原因(网络.锁屏等)而中断,导致我们的工作进度清零. 1.inode 定义 inode是用来存储文件元信息的区域.中文译名叫做"索引节点".   简单来说,inod

Linux下的硬链接与软链接

本文总结自: https://www.ibm.com/developerworks/cn/linux/l-cn-hardandsymb-links/index.html#fig2 一个文件可以用下图表示: 其中,文件名是我们能看到的那个名字. inode被包含在元数据(metadata)中,元数据中记录文件的附加属性,比如文件大小,创建时间等等. inode是索引节点号,是文件的唯一标识.可使用命令: ls -i 来查看 data blocks是文件数据块,记录的是文件的真实内容. 这里要说一句

Linux文件系统的分区、硬链接、软链接

首先从磁盘结构讲起.按结构从小到大区分: 扇区,固定512字节 磁道 柱面,分区时的最小单位,开始柱面到结束柱面为一个分区 第一个扇区很重要,它包括: 主引导分区MBR(446字节),内含引导加载程序Boot loader.它有如下功能: 提供菜单:可选择不同的系统进行加载,多操作系统的基础 加载内核文件:直接加载可使用的操作系统内核程序 转交其它Boot loader:跳转到其它分区,执行那个分区的Boot loader,用于启动不同操作系统 分区表(64字节),保存每个分区的起始.结束柱面.

linux 软连接和硬链接的区别

linux 软连接和硬链接的区别 2011-06-27  zale的图...   阅 3345  转 23 转藏到我的图书馆 微信分享: 4点不同 : (1)软连接可以 跨文件系统 ,硬连接不可以 .实践的方法就是用共享文件把windows下的 aa.txt文本文档连接到linux下/root目录 下 bb,cc . ln -s aa.txt /root/bb 连接成功 .ln aa.txt /root/bb 失败 .(2)关于 I节点的问题 .硬连接不管有多少个,都指向的是同一个I节点,会把

硬链接与软链接的缠绵

Preface: 本文以站在不懂到懂的角度,知识开始理解有错误,但慢慢进阶,最后豁然开朗.要点评先看完再说. Basic_Knowledge: 在linux下有硬链接和软链接两种,硬链接为文件的别名,它和软链接一样,都指向文件,但是硬链接不是一个文件. linux下判定是不是一个独立文件看的就是其inode是不是独一无二的,ls -l 一下,如果链接数是1,那么这肯定是一个文件. 命令:ex > ln      test     f_h     ||       cp     -l    tes

关于Windows中的硬链接

https://zhidao.baidu.com/question/748233720330351012.html linux中使用硬链接 ln a.txt b.txt 查看硬链接 ls -il 关于硬链接磁盘空间的占用情况 http://www.mamicode.com/info-detail-1914045.html 记得使用du -h;ll -h 原文地址:https://www.cnblogs.com/littlehb/p/8322170.html

实例讲解Linux系统中硬链接与软链接的创建

导读 Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接.硬链接与软链接的区别从根本上要从Inode节点说起,下面就以实例讲解Linux系统中硬链接与软链接的创建,来实际看看Linux中两种链接方式的不同. 首先要弄清楚,在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号.文件属性保存在索引结点里,在访问文件时,索引结点被复制到内存在,从而实现

linux中硬链接与软链接

硬链接记录的是目标的inode,软链接记录的是目标的路径.软链接就像快捷方式,而软链接就像备份.软链接可以做跨分区的链接,而硬链接由于inode的缘故,只能在本分区中做链接,所以软链接使用更多. 他们的缺点: 硬链接: 1.不允许给目录创建硬链接 2.只有在同一文件系统中的文件之间才能创建链接 软链接: 软链接可以是任意的文件或目录,链接文件甚至可以链接不存在的文件,因此产生"断链"问题,并且可以循环链接自己. linux中硬链接与软链接