总结软连接和硬连接区别,并用实例操作说明

软链接
   ln -s 原文件  目标文件
   特征:1、相当于windows的快捷方式

          2、符号链接,所以链接文件大小都很小
           3、当运行软连接的时候,会根据链接指向找到真正的文件,然后执行
                   4、所有链接文件的权限都是777,而真正的权限是由指向的那个文件决定的
                   5、原文件丢失后,软链接无法访问,会报找不到的错误
                   6、ls -al ,软连接后面箭头执行的时源文件
  
硬链接
   ln 源文件 目标文件
   特征:1、原文件和链接文件的属性完全一样
      2、链接文件和源文件的关系类似于:复制+同步更新
      3、当原文件丢失,硬链接文件还可以访问
      4、不能跨分区,不能针对目录使用
      5、原理:原文件和硬链接文件的节点相同的,1个文件名只能对应1个节点号。但是1个节点号能对应多个文件名。所以,他们的属性完全相同,并且修改了其中一个的内容另外一个也会跟着修改。

实例如下:

创建a文件的软连接b,并查看a和软链接文件a.link的inodes、权限、大小,如下:

[[email protected]_0_15_centos ~]# ln -s a a.link
[[email protected]_0_15_centos ~]# ll -i
total 6728
394681 -rw-r--r-- 1 root root 6888896 Nov 10 21:42 a
394522 lrwxrwxrwx 1 root root       1 Nov 10 21:45 a.link -> a

从命令的执行结果上看,结论如下:

1、a文件的inode号为394681,a.link文件inode为394522,inode号不一致。

2、符号链接,所以链接文件大小都很小。a.link大小为1bit,而a文件的大小为6.6M。

3、所有a.link文件的权限都是777,而真正的权限是由指向的那个文件决定的

删除文件a,访问a.link链接文件

[[email protected]_0_15_centos ~]# mv a a.bak
[[email protected]_0_15_centos ~]# cat a.link
cat: a.link: No such file or directory

总结:原文件丢失后,软链接无法访问,会报找不到文件的错误

创建a文件的硬链接a.hard,查看a和软链接文件a.link的inodes、权限、大小等元数据。

[[email protected]_0_15_centos ~]# ln a a.hard
[[email protected]_0_15_centos ~]# ll -i
total 13456
394681 -rw-r--r-- 3 root root 6888896 Nov 10 21:42 a
394681 -rw-r--r-- 3 root root 6888896 Nov 10 21:42 a.hard
394522 lrwxrwxrwx 1 root root       1 Nov 10 21:45 a.link -> a

总结:原文件和链接文件的属性完全一样,元数据完全一样。

删除a文件后,硬链接文件a.hard的情况

[[email protected]_0_15_centos ~]# mv a a.bak
[[email protected]_0_15_centos ~]# ll -i
total 13456
394699 -rw-r--r-- 2 root root 6888896 Nov 10 22:39 a.bak
394699 -rw-r--r-- 2 root root 6888896 Nov 10 22:39 a.hard
394522 lrwxrwxrwx 1 root root       1 Nov 10 21:45 a.link -> a
[[email protected]_0_15_centos ~]# tail a.hard
999991
999992
999993
999994
999995
999996
999997
999998
999999
1000000

总结:当原文件丢失,硬链接文件还可以访问。

[[email protected]_0_15_centos ~]# echo "1">>a.bak

[[email protected]_0_15_centos ~]# tail -1 a.hard
1

总结:链接文件和源文件的关系类似于:复制+同步更新

综合以上实例,软连接和硬链接的区别总结如下:

软链接和硬链接的区别:在linux的文件系统中,保存在磁盘分区中的文件不管事什么类型都给它分配一个编号,称为索引节点号inode。具体如下:
 1、软连接,其实就是新建立一个文件,这个文件就是专门用来指向别的文件的。软连接的inode跟原文件的inode是不一致的
 2、硬链接是不会建立inode。他只是在文件原里的inode link count域再增加1而已,也因此硬链接是不可以跨越文件系统的。
 3、硬链接是一个文件别名。
 4、软链接可以跨文件系统,硬链接不可以
 5、软链接可以对一个不存在的文件名进行链接,硬链接不行。
 6、软链接可以对目录进行连接,硬连接不可以
 7、两种链接都可以通过ln来创建,ln默认创建的是硬链接
 8、使用-s开关可以创建软链接。

原文地址:https://www.cnblogs.com/mwd-123/p/11832274.html

时间: 2024-10-16 00:05:57

总结软连接和硬连接区别,并用实例操作说明的相关文章

详解「复制、拷贝、替身、软连接、硬连接」区别

在mac文件系统中可以对一个文件进行标题中的这5种操作,操作的结果都是生成一份副本,但是其中却有很大区别. 首先操作上的区别很明显 生成 软连接.硬连接 是通过命令行操作的 生成 替身.复制.拷贝 一般是通过finder进行操作的,右键某个文件,菜单中选择(其实复制也可以用命令cp来实现,跟finder操作是一个效果) 然后其中的 复制和拷贝 跟另外三种方式本质上不同,它们之间的区别也很好理解 他们的共同点是生成一份文件的副本,副本和原文件是两个独立的文件,两者的关系只有在生成时是关联的,在生成

软连接和硬连接

ln命令 该命令在文件之间创建链接.这种操作实际上是给系统中已有的某个文件指定另外一个可用于访问它的名称.对于这个新的文件名,我们可以为之指定不同的访问权限,以控制对信息的共享和安全性的问题. 如果链接指向目录,用户就可以利用该链接直接进入被链接的目录而不用打一大堆的路径名.而且,即使我们删除这个链接,也不会破坏原来的目录. 语法:ln [选项] 目标 [链接名] ln [选项] 目标 目录 链接有两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).

Linux 软连接与硬连接

对于一个文件来说,有唯一的索引接点与之对应,而对于一个索引接点号,却可以有多个文件名与之对应.因此,在磁盘上的同一个文件可以通过不同的路径去访问该文件.注意在Linux下是一切皆文件的啊,文件夹.新加的硬盘 ...都可以看着文件来处理的啊. 连接有软连接和硬连接(hard link)之分的,软连接(symbolic link)又叫符号连接.符号连接相当于Windows下的快捷方式. 硬连接可以看作是同一个文件的不同命名. 不可以对文件夹建立硬连接的,我们通常用的还是软连接比较多. eg: ln

第二周第四节、特殊权限(set_uid、set_gid、stick_bit)/软连接及硬连接

特殊权限 文件权限的机制是Linux系统中的一大特色,除了我们现在所熟知的读(r).写(w).执行(x)权限外,还有三个比较特殊的权限,分别为:setuid.setgid和stick bit(粘滞位)1.setuid与setgid讲解:查看系统中常用到它的地方,以/etc/passwd和/usr/bin/passwd为例:分析,/etc/passwd的权限为-rw-r--r--也是就是说,该文件对文件所有者是有读写权限的,而用户组成员和其他成员只有读的权限,我们知道,在系统中我们要修改一个用户

Linux软连接与硬连接 .

http://blog.csdn.net/ningxinghai/article/details/7342338 Linux的软连接相当于window系统的快捷方式,如我们桌面的QQ等. 硬连接相当于复制一个文件,但不同的是两个文件内容同步.如创建一个文件A的硬连接B, 如果我修改A里面的内容,同时B中的内容也会更新. 创建软连接的命令:ln -s  源文件  目标文件 创建硬连接的命令:ln   源文件  目标文件 硬连接不能跨区创建,比如/home 目录与/ect目录不在一个分区,a这个文件

linux中的软连接和硬连接

1. 创建软连接的方法 ln -s /path/to/original /path/to/linkName 当我们对软连接文件进行修改后,对应的修改也会反映到原始的文件(反之亦然). 当我们删除软连接文件时,原始文件不会做任何改变. 当我们删除原始文件时,软连接文件仍然存在,但是会指向一个不存在的文件,这种软连接叫做悬挂的连接. 2. 软件硬连接的方法 ln /path/to/original.file /path/to/link.file 3. 软连接和硬连接的不同 硬连接: 仅仅可以连接到一

Service系统服务(二):补充应用技巧、软连接与硬连接、man手册、zip备份、vim效率操作、自定义yum软件仓库、发布及测试yum仓库、编译安装软件包

一.补充应用技巧 目标: 本例要求掌握在运维中比较常用的一些扩展命令技巧的使用,完成下列小技巧操作: 1> 采用数值形式将目录/root的权限调整为 rwx------   2> 将记录的历史命令条数更改为 200 条   3> 统计 /boot./etc/pki 目录占用的空间大小   4> 以格式"yyyy-mm-dd HH:MM" 显示系统时间 方案: date日期时间工具: 1> 显示日期时间:date.date +"%Y-%m-%d %

linux下的连接文件——软连接和硬连接的区别

软连接可以理解为,源文件的快捷方式,软连接文件记录的是源文件的路径,占用空间非常小.当把源文件删除后,那么软连接文件也就变成一个坏文件了,不能使用了. 硬连接和源文件的inode信息是一模一样的,可以说硬链接文件只是复制了一份源文件的inode信息,在我们看来硬链接文件和源文件没有什么区别,删除任何一个文件对方都不受影响,唯一的是少了一份inode,硬链接只能在同一个分区下创建,而软连接不受限制.硬链接文件和源文件虽然看起来像是两个文件,但是只占用一个文件的磁盘空间. 软连接  ln -s  

Linux中软连接和硬连接的区别

首先,我们要清楚符号链接的目的,在不改变原目录/文件的前提下,起一个方便的别名(在这起个别名,让我想到前阶段学C里typedef也是起别名的). 1.软连接就相当于windows的快捷方式.例如:ln -s /data/dir /tmp/aaa ln -s 源目录,目标软连接 进入软连接. cd/tmp/aaa 实际上aaa这个软连接就相当于/data/dir了. 2.至于硬连接,比软连接更实际,虽然他不能做目录的链接,不过它的稳定性更高.先通俗的介绍一下硬连接:当你删除链接文件时,在利用软连接