Linux文件系统 软链接 硬链接

要理解软硬链接,就先要从ext文件系统的存储原理说起

硬盘上最小的存储单位是sector, 大小为512bytes.

因为数据往往都大于512bytes所以我们把多个sector连起来存储数据, 这样做的目的是减少磁盘I/O的负担

这个多个连起来的sector叫做block。Block的大小是2的n次方倍512bytes

存储空间分为:数据区和元数据区

数据区:block存储真实数据,一般大小为1kb 2kb, 4kb

元数据区: inode存储元数据,包括inode索引,名称,大小,修改时间等,inode为128bytes

ls –i可以查看文件对应的索引编号

stat 可以查看文件的inode信息

inode信息里面的索引标号应该和擦看文件信息的索引编号相对应的,如下图,a文件的索引编号都为1052822

这里需要说明下,目录和文件在block存储的内容性质不一样

文件存储的是文件内容本身

目录要存储目录下所有文件的inode index和文件名,它的目的是帮助查找文件或其他目录

图详细描述了访问文件的过程

理解上图后我们来说说硬链接

我们考虑下如果/tmp目录下还有个b文件,它的inode index和a一样也是指向同一个inode

这是我们就是a,b是彼此的硬链接

查看方式是ls –l a 或ls–l b, 属主前有个2,就是说有另外一个硬链接

命令:ln被链接文件链接文件例如ln a b

软链接

b的inode指向的内容是a文件的路径,再通过这个路径查找inode

查看方式是

这里的b是指向a的,而大小就是1个字节大小.也就是a这个相对路径

命令:ln–s被链接文件链接文件例如ln –s a b

软硬链接的区别

软链接:

·        可以跨分区链接-因为指向的只是路径

·        可以链接文件或目录

·        删除不影响源文件-和windows的快捷键类似

硬链接

·        不可以跨分区链接-应为inode只能被本区的文件指向

·        不可以链接目录-目录下的目录可能指向父目录,产生死循环

·        删除使inode的链接数降低为0在整个文件删除


时间: 2024-10-13 04:20:53

Linux文件系统 软链接 硬链接的相关文章

linux文件系统软链接硬链接

引子 目前,UNIX的文件系统有很多种实现,例如UFS(基于BSD的UNIX文件系统).ext3.ext4.ZFS和Reiserfs等等. 不论哪一种文件系统,总是需要存储数据.硬盘的最小存储单位是扇区,数据所存储的最小单位则不是扇区,因为用扇区来存储效率就太低了.一个扇区只有512字节,而磁头是一个扇区一个扇区地读取,也就是说,如果文件是10MB,那么为了读这个文件,磁头必须要进行读取20480次.这样效率是极其低下的. 逻辑块 为了提高效率,就有了逻辑块(Block)的概念,也可以叫做数据块

Linux文件系统中硬链接和软链接的区别 (转)

建立硬链接命令:ln src-link dest-link建立软链接:ln -s src-link dest-link 1. 硬链接是别名,软链接是快捷方式 2. 硬链接和源链接指向同一个i节点,软链接不同 3. 硬链接不能跨文件系统,而软链接可以 4. 删除硬链接和软链接都不会影响原链接 5. 硬链接只能针对文件,软链接可以针对文件和目录 6.关于 I节点的问题 .硬连接不管有多少个,都指向的是同一个I节点,会把 结点连接数增加 ,只要结点的连接数不是 0,文件就一直存在,不管你删除的是源文件

Linux基础系列(四)Linux系统软链接硬链接知识

软链接 软链接(Soft Link)也称为符号链接(SymbolicLink).Linux里的软链接文件就类似与Windows系统中的快捷键方式.Linux里的软链接文件实际上是一个特殊的文件,文件类型是l.软链接文件实际行可以理解为一个文本文件,这个文件中包含有软链接指向另一源文件的位置信息内容,因此,通过访问这个"快捷方式"就可以迅速定位到软链接所指向的源文件实体. 文件软链接 ln -s 源文件   目标文件 软链接的创建: 执行命令"ln -s 源文件  链接文件&q

Linux 20180413 软链接硬链接

软链接文件 所谓软链接就是存储路径.路径越长,文件越大.软链接可以节省空间,省去了拷贝. 如何做软链接? ln -s 源文件  软链接文件 不仅仅是可以软链接文件, 也可以软链接目录. 尽量使用据对路径,下面的红色说明不存在,原因就是使用了相对路径.使用了绝对路径之后就没有问题了. 实际工作场景的例子: df -h 查看磁盘分区 假设其中的一个磁盘的内存即将使用完毕,同时还有进程在不停的写入数据,可能会导致磁盘满导致问题. 解决办法: 把写的文件放到另外的有足够空间的分区下面.但是前提是不能弄这

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

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

Linux软链接硬链接的区别

ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间. 1.命令格式: ln [参数][源文件或目录][目标文件或目录] 2.命令功能:Linux文件系统中,有所谓的链接(link),我们可以将其视为档案的别名,而链接又可分为两种 : 硬链接(h

Linux中有两种不同的文件链接类别。 符号链接(又称软链接) 硬链接

Linux中有两种不同的文件链接类别.符号链接(又称软链接)硬链接1.软链接文件的大小与源文件不同,软链接文件存储的是 软链接到源文件指向关系,所以很好理解他们的大小不同,可以理解为指针. 2.硬链接文件的索引节点编号,大小,最后修改时间完全相同,可以理解为 cp -p 了源文件,拷贝了一份源文件,且保留的源文件的属性 硬链接创建一个单独的文件,引用该硬链接文件的效果跟引用源文件一样:1.创建硬链接的方式方法一:cp -l 源文件 硬链接文件方法二:使用ln(取link之意),ln源文件 硬链接

[Linux] Linux软连接和硬链接

转载自:http://www.cnblogs.com/itech/archive/2009/04/10/1433052.html 1.Linux链接概念Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接. [硬连接]硬连接指通过索引节点来进行连接.在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索 引节点号(Inode Index).在Linux中,多个文件名指向同

软链接&硬链接

软链接&硬链接 刚开始系统学习linux,如果有错误的地方还请多多指出 linux下创建和删除软.硬链接 一.硬链接 ln [参数] (源文件)(目标文件) ln /root/install.log /root/install.log.txt //(install.log 链接源文件,install.log.txt 新创建的链接文件) 1.硬链接,以文件副本的形式存在.但不占用实际空间.2.不允许给目录创建硬链接3.硬链接只有在同一个文件系统中才能创建 二.软链接 ln [参数] (源文件或目录