软链接与硬链接的区别

  这两牵扯到链接,那么先介绍以下链接。

  在文件系统中,有一种可以把不同的文件相连接到一起的机制,这个机制叫做链接。通俗的话来说就是打开两个不同的文件夹,其实进去的是同一个。它可以把一个文件用不同的名字和路径来表示出来。系统通过inode(索引节点,文件唯一标识)来识别是否为同一个文件,无论系统上有有多少个链接,在磁盘上只有一个唯一的inode,只要这个文件的的链接数不为0,那么这个文件件的inode会一直存在,文件会一直保存。

 

例如用ls-l可以查看文件的详情:

软链接与硬链接的区别

在这文件中,绿色的3txt与2.txt构成了一个链接。在Linux中->就代表着链接。

硬链接:

   硬链接就相当于一个指针,指向文件的索引节点,系统并不会为他重新分配新的inode,但是没添加一个硬链接,文件链接数会加一。

   硬链接允许一个文件同时又多个路径名,用户只删除一个硬链接并不影响这个文件的inode与其他相连接,只有最后一个链接被删除后,这个文件的inode就释放,数据块就保持在空闲状态允许被写入。用这种硬链接可以有效的防止误删除。但是硬链接不能跨分区创建,不再同一个分区是无法直接与数据块的inode相连接。也不允许给目录创建硬链接。在创建硬链接时可以相对于当前路径去创建,每创建一个硬链接就会会增加额外的记录项以引用文件。硬链接也不会占用节点号,但会增加链接数。同一个文件无论创建多少个硬链接,他们的属性都是完全相同的,这相当于是一个物理文件的不同名字。就像我们人一样,一个人可以有多个名字,无论你叫什么名字,你还是你,你自己的属性是不会改变的,总不会换一个名字就瘦了几斤或者长高了吧。


语法:

                            ln  filename [linkname]

软链接:

    又被称作为符号链接。软链接我们可以理解为windowx的快捷方式,相信大家都用过吧。创建一个软链接其实就是创建一个特殊的文件,这个文件内容就是这个链接的信息。软链接文件的大小就是这个路径的大小。软链接就是一个位置的处理,跟硬链接有本质的区别。举个例子:当你对A创建一个软链接,然后把A文件删除了,那时这个链接并不会一起呗删除,只是失效了。当你再重新在原来的地方创建一个以A命名的文件,再使用原来这个软链接。你会发现,又连接进了新建的这个A文件里了。说明软链接并不指定文件,而是指定的位置,等于给这个位置创建了另一条路径。就相当于家房子的地址如果你搬家不住这了那么这个地址会不被你使用了,并不是这个地址就不存在了。当小明买了你家的房子住进去后,这个地址就会变为他们家的地址。所以软链接就是一个链接符,指向了一个地址而已。创建软链接后文件的链接数不会增长,不会增加目标inode的引用计数,因为只是指向一个地址,所以软链接不但可以连接目录而且还能跨分区进行连接。

语法:

       ln -s filename [linkname]

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

(0)
phosphorphosphor
上一篇 2017-05-25 09:16
下一篇 2017-05-25 10:49

相关推荐

  • Centos 6.5下DNS服务器主从复制搭建及测试

    一、实验环境及IP地址规划     VMware Workstation 10.0, CentOS 6.5 X86系统     主DNS服务器:192.168.1.102     从DNS服务器:192.168.1.110     www服务器:  …

    Linux干货 2015-04-18
  • CentOS程序安装的3种方式{ 源码包安装 | rpm包安装 | yum安装;}

    CentOS程序安装的3种方式{ 源码包安装 | rpm包安装 | yum安装;} CentOS软件安装主要由3种方式,第一种是源码包安装,需要从网站下载并解压之后通过手动编译的方式安装,过程相对比较复杂;第二种是rpm包安装,通过rmp这个包管理器实现程序的安装、升级、卸载等操作,rpm包管理器是RPM Package Manager的简称,功能非常强大,…

    Linux干货 2016-08-24
  • 第九周脚本练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; awk -F: ‘{if($NF!=”/sbin/nologin”) print $1}’ /etc/passwd | wc -l 2、写一个脚本 (1) 获取当前主机的主机名,保存于ho…

    Linux干货 2017-03-30
  • LinuxGrub修复方法

    Linux因Grub损坏的修复方法: 1)救援模式修复(备份了MBR) 2)救援模式修复(无备份MBR) 3)Grub下手动启动Linux系统 1、救援模式修复(备份了MBR)     MBR中存放了Bootloader信息(Grub),在磁盘的最开始512字节,当这512字节出现故障,系统将无法引导启动。 &nbsp…

    Linux干货 2016-06-22
  • echo显示闪烁,screen用法及显示时间的前后

    我们这门今天学习的一些主要内容 标准的命令的格式 命令(COMMAND)  [选项(OPTIONS)….[参数(ARGUMENTS…)] 选项:启用或者关闭命令的某个或某些功能 参数:命令作用的对象,比如文件名,用户名等 首先我们来统计一下学习到的linux的一些基础的命令 who  查询当前用户 hostname 显…

    Linux干货 2016-08-04
  • 马哥教育网络班20期+第二周课程练习

    Table of Contents 1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 目录管理 文件管理 2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。 脚本返回值 命令或路径补全和展开 3、请使用命令行展开功能来完成以下练习: (1)、创建/tmp目录下的:a_c, a_d, b_c, b (2…

    Linux干货 2016-06-23