一、链接的概念

在Linux系统中,链接可分为两种;一种为硬链接(Hard Link),另一个位软连接或符号链接(Symbolic Link or link)。我们在前面讲解过ln这个命令就是创建链接文件的,在默认不带参数的情况下,执行ln命令创建的链接是硬链接。

如果使用ln -s 创建链接则为软链接,前面文件类型为l(字母为L)的是软链接。

硬链接:ln 源文件  目标文件

软链接:ln -s 源文件  目标文件 (目标文件不能事先存在)

1.1 硬链接

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

硬链接原理图:

硬链接的创建:

硬链接是普通文件,因此可以用rm命令删除

硬链接与复制的区别:

硬链接是一个文件,复制是不同的文件。

1.2 软链接

软链接(Soft Link)也称为符号链接(Symbolic Link)。Linux里的软链接文件就类似与Windows系统中的快捷方式。linux里的软链接文件实际上是一个特殊的文件,文件类型是l。软链接文件实际上可以理解为一个文本文件,这个文件中包含有软链接指向另一源文件的位置信息内容,因此,通过访问这个“快捷方式”就可以迅速定位到软链接所指向的源文件实体。

从上图可以看到软链接文件的inode不一样,文件类型和权限也不一样。

一道题

解答:

软链接的创建:

软链接文件的文件类型为(l),可以用rm命令删除。

软硬链接的对比:

由上图可知;

1、源文件和硬链接的索引节点(inode)相同,和软链接的索引节点不同。

2、源文件和硬链接的文件类型、权限、个数相同,和软链接的不同。

1.3链接总结

文件链接的小结:

全局结论:删除软链接文件对源文件及硬链接文件无任何影响。

全局结论:删除硬链接文件对源文件及软链接文件五任何影响。

全局结论:删除源文件对硬链接没有影响,但是会导致软链接文件失效白字红底闪烁。

目录链接的小结:

不允许目录创建硬链接:

一道题:

1. linux下通过mkdir命令创建一个新目录/dongdaxia/ett ,它的硬链接数是多少,为什么?

如果在/dongdaxia/ett下面再创建一个目录test。再问/dongdaxia/ett的硬链接数是多少?为什么。

解答:

1)

硬连接数为2,包含本身和  "."

2)

硬连接数为2,包含本身和  dongdaxia/ett/.  , 还有dongdaxia/ett/test/..

一道面试题

官方文档:

最新文章

  1. Jmeter 学习(三)
  2. 【PHP的异常处理【完整】】
  3. JQuery $.ajax()方法详解
  4. cvSave in VS2010 or Linux
  5. [代码片段]读取BMP文件
  6. windows的页自映射机制
  7. '@P0' 附近有语法错误
  8. iOS程序员的自我修养之道
  9. solaris X86-64下一个ORACLE战斗11.2.0.3.8在一波折叠补丁
  10. 一元线性回归分析及java实现
  11. Serial Splitter 4.2 串口拆分说明
  12. 网站 HTTP 升级 HTTPS 完全配置手册
  13. CSS查漏补缺【未完】
  14. apache安装及相应配置
  15. Mac终端的Cocoapods的安装及使用
  16. 第一次使用autohotkey的记录
  17. vim定位到指定行数
  18. servlet Filter过滤javascript
  19. SQL Developer 警告--无法安装某些模块
  20. Spark Streaming job的生成及数据清理总结

热门文章

  1. 题解 【NOIP2006】作业调度方案
  2. Vivado与Modelsim联合仿真
  3. PHP mysqli_fetch_array() 函数
  4. 有关 C# WebAPI知识
  5. linux系统编程--文件IO
  6. CF883H
  7. Android webView加载图片显示过大的问题
  8. idea2018.3.2版本如何破解
  9. Mac配置jdk以及maven
  10. Docker的镜像制作与整套项目一键打包部署