12、Linux软链接和硬链接详解

    • 软连接和硬链接图解
    • 硬链接
    • 符号链接
    • 软链接和硬链接详解

软链接和硬链接详解

Linux下的链接文件有点类似于Windows的快捷方式,但又不完全一样。链接文件有两种:一种是硬链接,另一种是符号链接(又称软链接)。

UNIX文件系统提供了一种将不同文件链接至同一个文件的机制,我们称这种机制为链接。它可以使得单个程序对同一文件使用不同的名字。这样的好处是文件系统只存在一个文件的副本,系统简单地通过在目录中建立一个新的登记项来实现这种连接。

软连接和硬链接图解

硬链接

硬链接是通过索引节点进行的链接。 该登记项具有一个新的文件名和要连接文件的inode 号,文件的目录登记项就是所谓的文件硬链接(硬链接,目录登记项: 文件名‐‐>文件的inode;文件名可以有多个,但文件inode 只是一个)。不论一个文件有多少硬链接,在磁盘上只有一个描述它的inode, 只要该文件的链接数不为0,该文件就保持存在。硬链接不能跨越文件系统,为避免无限递归,一般也不能在目录上建立hard link。 硬连接是直接建立在节点表上的(inode),建立硬连接指向一个文件的时候,会更新节点表上面的计数值。举个例子,一个文件被连接了两次(硬连接),这个文件的计数值是3,而无论通过3个文件名中的任何一个访问,效果都是完全一样的,但是如果删除其中任意一个,都只是把计数值减1,不会删除实际的内容的,(任何存在的 文件本身就算是一个硬连接)只有计数值变成0也就是没有任何硬连接指向的时候才会真实的删除内容。对任何一个硬链接文件修改,都会对原文件进行修改。

硬链接可由命令 link 或 ln 创建,如:

link oldfile newfile ln oldfile newfile

符号链接

软链接(也叫符号链接)它是指向另一个文件的特殊文件,这种文件的数据部分仅包含它所要链接文件的路径名。软链接是为了克服硬链接的不足而引入的,软链接不直接使用inode 号作为文件指针,而是使用文件路径名作为指针(软链接:文件名+数据部分‐‐>目标文件的路径名)。软件有自己的inode,并在磁盘上有一小片空间存放路径名。因此,软链接能够跨文件系统,也可以和目录链接; 其二,软链接可以对一个不存在的文件名进行链接,但直到这个名字对应的文件被创建后,才能打开其链接。当软链接指向的文件删除重命名或移动后,软链接并不会发生更新,会维持原来的值不变。

例如某个文件文件系统空间已经用完了,但是现在必须在该文件系统下创建一个新的目录并存储大量的文件,那么可以把另一个剩余空间较多的文件系统中的目录链接到该文件系统中,这样就可以很好的解决空间不足问题。删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接就变成了死链接。

使用-s选项的ln命令即可创建符号链接,命令如下:

ln -s old.file soft.linkln -s old.dir soft.link.dir
时间: 2024-10-19 06:47:33

12、Linux软链接和硬链接详解的相关文章

软链接和硬链接详解

软链接和硬链接详解 导读 Linux下的链接文件有点类似于Windows的快捷方式,但又不完全一样.链接文件有两种:一种是硬链接,另一种是符号链接(又称软链接).下面我给大家说说它们两者之间的区别. 硬链接 硬链接是通过索引节点进行的链接.在Linux中,多个文件指向同一个索引节点是允许的,像这样的链接就是硬链接.硬链接只能在同一文件系统中的文件之间进行链接,不能对目录进行创建.如果删除硬链接对应的源文件,则硬链接文件仍然存在,而且保存了原有的内容,这样可以起到防止因为误操作而错误删除文件的作用

ln 软链接,硬链接 详解

这里说一下 ln ,这个是 linux  下创建链接的命令 链接分为两种 : 硬链接 , 符号链接(也叫 软链接) 硬链接 : 指向同一个 inode 的不同路径 软链接 : 指向另一个的链接(存的是字符个数,也就是大小为对应目录字符个数),所以软链接 权限不影响 硬链接 : 用法 :  ln  源文件  生成的链接文件 用 ls -l 可以看出来一个文件被硬链接的次数,ls -l 的结果在 username 前面的数值 用 ls -il  可以看出来 硬链接文件都是指向同一个 inode 节点

第三章 Linux 软链接与硬链接

Linux 软链接与硬链接 通过实验加深理解 [[email protected]]$ touch f1          #创建一个测试文件f1 [[email protected]]$ ln f1 f2          #创建f1的一个 硬连接   文件f2 [[email protected]]$ ln -s f1 f3       #创建f1的一个 符号连接 文件f3  即软链接 [[email protected]]$ ls -li            # -i参数显示文件的ino

Linux 软链接和硬链接的理解与学习

要想弄明白Linux的软链接和硬链接的概念,首先要明白linux是怎么管理文件的. 以下笔记部分内容来自互联网搜索,个人理解加以整合所得. 1. 文件系统 (作者:Vamei 出处:http://www.cnblogs.com/vamei/archive/2012/09/09/2676792.html) 文件被组织到文件系统(file system)中,通常会成为一个树状(tree)结构.Linux有一个根目录/, 也就是树状结构的最顶端.这个树的分叉的最末端都代表一个文件,而这个树的分叉处则是

linux软链接与硬链接的区别

Linux 文件系统最重要的特点之一是它的文件链接.链接是对文件的引用,这样可以让文件在文件系统中多处被看到.不过,在 Linux 中,链接可以如同原始文件一样来对待.链接可以与普通的文件一样被执行.编辑和访问.对系统中的其他应用程序而言,链接就是它所对应的原始文件.当您通过链接对文件进行编辑时,您编辑的实际上是原始文件.链接不是副本,linux有两种类型的链接:硬链接和符号链接(软链接). 硬链接(hard link)只能引用同一文件系统中的文件.它引用的是文件在文件系统中的物理索引(也称为

Linux软链接和硬链接文件

下面是Linux系统软件底层的存储结构,我们将从底层上来去解释Linux系统下的软硬连接文件 <一>: 解释(底层) 硬链接,其实从底层数据上来看, 硬链接其实就是增加了一个目录项.底层对应的inode table.数据区中的值是不变的, 也不会重新创建. 软链接, 其实从底层接上看, 软链接其实就是相当于重新创建了一个文件,, 无论是目录项,inode table,以及数据区都是重新重建的,而这个文件功能比较特殊, 它是用来指向另外一个文件的. <二>:命令的使用 硬链接命令:

linux软链接和硬链接

1.Linux链接概念Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接. 在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号.文件属性保存在索引结点里,在访问文件时,索引结点被复制到内存在,从而实现文件的快速访问. QUOTE: ln [options] existingfile newfileln[options] existingfile

LINUX “软链接”和“硬链接”的区别

今天在知乎上看到一篇十分有趣的问题: 如何评价微软高级工程师痴迷于soft link这一linux常见概念? 虽然又是知名撕逼王曾某的撕逼帖,但是我还是想就题目中链接的问题简单地讲讲. 什么是链接? 链接简单说实际上是一种文件共享的方式,是 POSIX 中的概念,主流文件系统都支持链接文件. 它是用来干什么的? 你可以将链接简单地理解为 Windows 中常见的快捷方式(或是 OS X 中的替身),Linux 中常用它来解决一些库版本的问题,通常也会将一些目录层次较深的文件链接到一个更易访问的目

linux命令大全之ln命令详解(创建软链接和硬链接)

ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接,分为软链接.硬链接.软链接相当于windows的快捷方式,下面是使用方法和示例 ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间. 1.命令格式: