什么是Linux软链接和Linux硬链接

 更新时间:2016年05月03日 09:30:43   作者:缘天  
这篇文章主要为大家详细介绍了什么是Linux软链接和Linux硬链接,在默认情况下,ln命令产生硬链接,感兴趣的小伙伴们可以参考一下

Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为软链接(Symbolic Link)。默认情况下,ln命令产生硬链接。

一、[硬链接]-->指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户 就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和 其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。

语法:ln 【源文件】 【硬连接文件】

[root@CentOS-study pc]# touch test1
[root@CentOS-study pc]# ll
total 0
-rw-r--r-- 1 root root 0 Dec 10 00:34 test1
[root@CentOS-study pc]# ln test1 test2
[root@CentOS-study pc]# ll
total 0
-rw-r--r-- 2 root root 0 Dec 10 00:34 test1
-rw-r--r-- 2 root root 0 Dec 10 00:34 test2
[root@CentOS-study pc]# 

如果删除上面的test1,那么test2是会继续存在的,并且数据也会保留

[root@CentOS-study pc]# rm test1
rm: remove regular empty file `test1'? y
[root@CentOS-study pc]# ll
total 0
-rw-r--r-- 1 root root 0 Dec 10 00:34 test2

硬连接总结:

(1)硬链接的inode相同

(2)只能对文件创建,不能应用于目录

(3)不能跨分区

二、软链接 

  相当于windows中的快捷方式,由于软连接所创建的文件为一个独立的新的文件,所以会占用掉indoe与block

系统有个/root/crontab,它是/etc/crontab的软连接,如果删掉源文件/root/crontab,那么/etc/crontab这个文件的数据也不能查看了,就好像windows里面的桌面快捷方 式,源文件被删除了,快捷方式也失效了。

语法:ln -s  【源文件或目录】  【软件链名字】

范列:

[root@CentOS-study pc]# ll
total 0
-rw-r--r-- 1 root root 0 Dec 10 00:34 test2
[root@CentOS-study pc]# ln -s test2 test3
[root@CentOS-study pc]# ll
total 0
-rw-r--r-- 1 root root 0 Dec 10 00:34 test2
lrwxrwxrwx 1 root root 5 Dec 10 00:42 test3 -> test2
[root@CentOS-study pc]# 

  如果我删除源文件,那么软连接文件也将无法查看里面的数据,并且查看软连接的时候,它会一直闪。  

软连接总结:

(1)可以应用于目录

(2)可以跨文件系统

(3)不会增加被链接文件的链接次数

(4)大小为指定的绝对路径所包含的字符总数

(5)有自己的inode号

(6)权限无关紧要

三、总结 

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

相关文章

  • linux下如何创建守护进程的步骤

    linux下如何创建守护进程的步骤

    本篇文章主要介绍了linux下如何创建守护进程的步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • Linux系统中时间的获取和使用

    Linux系统中时间的获取和使用

    时间的获取在我们日常工作中是经常遇到的,下面这篇文章主要给大家介绍了关于Linux系统中时间的获取和使用的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2018-11-11
  • linux添加和增大交换分区(swap)的方法

    linux添加和增大交换分区(swap)的方法

    介绍linux添加和增大交换分区(swap)的方法,提供大家参考
    2013-11-11
  • linux下日志定时轮询的流程详解

    linux下日志定时轮询的流程详解

    这篇文章主要给大家介绍了关于在linux下日志定时轮询流程的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-06-06
  • Linux系统架构类型的5条常用查看命令

    Linux系统架构类型的5条常用查看命令

    很多时候我们都需要查看当前 Linux 系统是 32 位还是 64 位系统架构类型,本文中我将向大家推荐 5 条常用命令,感兴趣的小伙伴们可以参考一下
    2016-07-07
  • Win7下XAMPP集成环境中Apache无法启动的问题解决

    Win7下XAMPP集成环境中Apache无法启动的问题解决

    这篇文章主要介绍了Win7下XAMPP集成环境中Apache无法启动的问题解决,通常是端口冲突,文中也讲到了PotgreSQL的相关问题,需要的朋友可以参考下
    2015-07-07
  • CentOS系统中PHP和MySQL的升级方法

    CentOS系统中PHP和MySQL的升级方法

    yum是CentOS系统自带的用于方便地添加/删除/更新RPM包的工具,它能自动解决包的倚赖性问题。
    2010-06-06
  • VMware10下CentOS 7安装配置图文教程

    VMware10下CentOS 7安装配置图文教程

    这篇文章主要为大家详细介绍了VMware10下CentOS 7安装配置图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • Ubuntu 14.04下安装Eclipse的经验分享

    Ubuntu 14.04下安装Eclipse的经验分享

    在linux下配置开发环境有点麻烦,对于linux刚入门的菜鸟来说,命令使用不熟悉,环境也是朦朦胧胧,今天整理了一下ubnutu14.04下安装eclipse的步骤,希望对大家有用。废话不多说,进入主题
    2014-09-09
  • Linux用if判断目录是否存在实例方法

    Linux用if判断目录是否存在实例方法

    在本篇文章中小编给各位整理的是关于Linux如何使用if判断目录是否存在的相关内容,有需要的朋友们可以参考下。
    2020-03-03

最新评论