软链接和硬链接的区别

软链接和硬链接的区别

什么是链接:

文件都是文件名和数据组成的,在linux中被分成两部分:数据和元数据。数据是记录文件的真实内容的地方;元数据是记录文件属性的地方:创建者、大小、创建时间等信息。元数据中的inode号这是唯一标识文件身份的属性。在linux中,文件的inode号可以通过ls –i命令查看。在linux中为了解决文件共享使用,引入了两种链接:硬链接和软链接。链接为 Linux 系统解决了文件的共享使用,还带来了隐藏文件路径、增加权限安全及节省存储等好处。若一个 inode 号对应多个文件名,则称这些文件为硬链接。换言之,硬链接就是同一个文件使用了多个别名。

硬链接:

硬链接可以通过ln命令创建:

blob.png

硬链接有相同的inode号,只是文件名不同的文件,所以硬链接有以下的几点特性:

1、文件有相同的inode号、数据块;

blob.png

2、只能对已经存在的文件进行创建;

blob.png

3、不能跨分区进行创建;

blob.png

4、不能对目录创建硬链接,而只能对文件。因为在linux的目录中,有两个特殊的文件...,用命令查看这两个目录的inode号可以知道这两个是两个硬链接,如果可以创建硬链接的话,就会形成目录环;

blob.png

blob.png

5、删除一个硬链接并不影响其他有相同inode号的文件,将其中的一个硬链接删除后,其他的文件的链接数-1,只有当链接数为0时,文件删除;

blob.png

linux系统中,可以通过命令find PATH –inum XXX 命令来查看inode号为XXX的文件已经文件的路径。

注:在一个分区中,会出现inode号被用完但是磁盘还有空间剩余的情况,这时候在该分区中创建文件,会提示空间不足:

  blob.png

软链接:

若文件的数据中存放的是指向的另一个文件的路径名,这就是软连接。软链接就是一个普通文件,只是数据块内容有点特殊。软链接有着自己的 inode 号以及用户数据块。可以用ln –s XXX xxx命令来创建软链接。

与硬链接相比,软链接有以下的特点:

1、软链接有自己的文件属性、权限等;

2、可以跨分区创建;

3、可以对文件以及目录创建;

4、创建软链接时,链接计数不会增加;

5、删除软链接时,不会影响被指向的文件;但是当被指向的文件或目录被删除时,相关的链接就会出错;

原创文章,作者:王更生,如若转载,请注明出处:http://www.178linux.com/53284

(1)
上一篇 2016-10-20 21:06
下一篇 2016-10-20 21:21

相关推荐

  • Codis集群3.03安装配置基础

    Codis基础 01.codis是一个分布式的Redis解决方案,对于上层的应用来说,连接Codis Proxy和连接原生的Redis Server没有明显的区别。 codis底层会处理请求的转发,不停机的数据迁移等工作,所有后边的一切事情,对于前面客户端来说是透明的,可以简单的认为后边连接是一个内存无限大的Redis服务。 codis架构图如下: 02.c…

    Linux干货 2016-09-26
  • vi(vim)编辑器的使用

    vim编辑器:全屏编辑器,模式编辑器 vim模式:     编辑模式:     输入模式:     末行模式:     转换模式:      &nbs…

    Linux干货 2016-08-15
  • Linux小工具之cheat

    随着linux学习的深入,接触到的命令越来越多,此时,考验脑力的时候就到了,除非你是”脑王”,否则面对多如牛毛的linux命令,真的会崩溃!linux前辈们貌似也被同样的问题所困扰,所以,他们发明了cheat。cheat是在GNU通用公共许可证下,为Linux命令行用户发行的交互式备忘单应用程序。它提供显示Linux命令使用案例,包括该命令所有的选项和简短但…

    2017-08-10
  • Linux网络属性管理(一)

    MarkdownPad Document Linux网络属性管理(一) 将一台linux主机接入互联网一般需要配置以下几个方面的参数: IP/mask –>  IP地址和子网掩码 路由 –> 默认网关 DNS服务器 配置方式 静态指定:   1、ifcfg:ifconfig,route,netstat   2、i…

    Linux干货 2016-06-12
  • 78 款 Markdown 工具

    Markdown 是一种易写易读的文本标记语言。本文介绍了编写、查看 Markdown 的78种工具,涵盖桌面端、移动端和 web 端。     Markable 强大的在线 Markdown 编辑器,支持语法高亮、自动缩进、高亮所在行、显示行数、即时预览。它支持将 HTML 转换成 Markdown。 可以配合 Evernote、Dro…

    2015-03-26
  • sed 高级编辑命令、模式空间、保持空间、vi 可视化模式、vimrc、地址定界

    sed 高级编辑命令、模式空间、保持空间、vi 可视化模式、vimrc、地址定界 sed(stream deitor):行编辑器 【概述】sed是一种流式编辑器,它一次处理一行内容。处理时,把当前处理的行的所有内容存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,逐行处理,不修改文件。sed主要…

    Linux干货 2016-08-11