Linux硬链接与软链接原理及用法解析

 更新时间:2020年05月26日 14:59:59   作者:疯了的小蜗  
这篇文章主要介绍了Linux硬链接与软链接原理及用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

在linux系统中有种文件是链接文件,可以为解决文件的共享使用。链接的方式可以分为两种,一种是硬链接(Hard Link),另一种是软链接或者也称为符号链接(Symbolic Link)。

硬链接概念

硬链接(hard link, 也称链接)就是一个文件的一个或多个文件名

硬链接是指通过索引节点来进行链接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都会给它分配一个编号,这个编号被称为索引节点编号号(Inode

Index)或者Inode,它是文件或者目录在一个文件系统中的唯一标识,文件的实际数据放置在数据区域(data block),它存储着文件重要参数信息,也就是元数据 (metadata),比如创建时间、修改时间、文件大小、属主、归属的用户组、读写权限、数据所在block号等

硬链接建立起来后,源文件和链接文件同步,修改任何一方文件都会被修改

建立链接可以节省空间,只需维护链接关系,不需要拷贝文件

软链接概念

软链接(也叫符号链接),类似于windows系统中的快捷方式,与硬链接不同,软链接就是一个普通文件,只是数据块内容有点特殊,文件用户数据块中存放的内容是另一文件的路径名的指向,通过这个方式可以快速定位到软连接所指向的源文件实体。软链接可对文件或目录创建。

软链接作用:

  • 便于文件的管理,比如把一个复杂路径下的文件链接到一个简单路径下方便用户访问。
  • 节省空间解决空间不足问题,某个文件文件系统空间已经用完了,但是现在必须在该文件系统下创建一个新的目录并存储大量的文件,那么可以把另一个剩余空间较多的文件系统中的目录链接到该文件系统中。
  • 删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接就变成了死链接。

硬链接和软链接的本质区别

硬链接可认为是一个文件拥有两个文件名;而软链接则是系统新建一个链接文件,此文件指向其所要指的文件

硬链接的局限性

  • 软链接可以跨文件系统;硬链接不可以
  • 软链接可以对一个不存在的文件进行链接;硬链接不可以
  • 软链接可以对目录进行连接,硬链接不可以
  • 软链接克服了硬链接中的局限性。基于此,重点关注软链接。软链接又叫符号链接,相当于windows中的快捷方式。

建立软链接

ln -s src_file ln_file

删除软链接

rm ln_file

注:对于目录软练级

rm ln_dir 是删除软链接

rm ln_dir/ 是删除目录ln_dir中的文件,当然源目录中的文件也会删除(同步的嘛)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Vim 强制保存只读类型文件的方法

    Vim 强制保存只读类型文件的方法

    你是否会和我一样经常碰到这样的情景:在VIM中编辑了一个系统配置文件,当需要保存时才发现当前的用户对该文件没有写入的权限。这个时候就需要强制保存只读类型文件的方法了,这篇文章就介绍了Vim强制保存只读类型文件的方法,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-01-01
  • Apache Rewrite url重定向功能的简单配置

    Apache Rewrite url重定向功能的简单配置

    Rewrite url重定向就是实现URL的跳转和隐藏真实地址,基于Perl语言的正则表达式规范。平时帮助我们实现拟静态,拟目录,域名跳转,防止盗链等
    2010-08-08
  • linux(center OS7)安装JDK、tomcat、mysql 搭建java web项目运行环境

    linux(center OS7)安装JDK、tomcat、mysql 搭建java web项目运行环境

    这篇文章主要介绍了linux(center OS7)安装JDK、tomcat、mysql 搭建java web项目环境,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • Linux下高并发socket最大连接数所受的各种限制(详解)

    Linux下高并发socket最大连接数所受的各种限制(详解)

    下面小编就为大家带来一篇Linux下高并发socket最大连接数所受的各种限制(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • linux No space left on device由索引节点(inode)爆满引发500问题

    linux No space left on device由索引节点(inode)爆满引发500问题

    这篇文章主要介绍了linux No space left on device由索引节点(inode)爆满引发500问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • Linux系统下netstat命令详细介绍

    Linux系统下netstat命令详细介绍

    大家好,本篇文章主要讲的是Linux系统下netstat命令详细介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • 如何使用iostat查看linux硬盘IO性能

    如何使用iostat查看linux硬盘IO性能

    这篇文章主要介绍了如何使用iostat查看linux硬盘IO性能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • Ubuntu 18.04更换apt-get源的方法

    Ubuntu 18.04更换apt-get源的方法

    这篇文章主要介绍了Ubuntu 18.04更换apt-get源的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • linux注释crontab文件及crontab执行sh的坑记录

    linux注释crontab文件及crontab执行sh的坑记录

    这篇文章主要介绍了linux注释crontab文件及crontab执行sh的坑记录,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • Linux系统信息查看常用命令

    Linux系统信息查看常用命令

    本文总结了一些查看Linux系统信息的常用命令,使用这些命令可以看系统信息、资源使用情况、网络信息、磁盘使用状况、进程状态等,需要的朋友可以参考下
    2014-03-03

最新评论