这个图很清楚的表示出硬链接和软链接的方式。

1.硬链接:

基本定义:硬链接是有着相同inode号的仅文件名不同的文件(该文件名包含路径信息)。

理解:如图,hard link和原始file通过同一个inode实现链接。在使用stat/ls -li查看这两个文件名的时候,可以看到他们的inode号是一样的。

特性:

文件有相同的inode和data block

只能对已存在的文件进行创建hard link

不能交叉文件系统进行创建

不能对目录进行创建,只能对文件创建

删除一个hard link文件并不影响其他有相同inode 号的文件,并且该文件也不会被删除,只有等到所有的硬链接都删除了,才删除该inode及其相关data block的信息

2.软链接:

基本定义:某文件的数据块中存放的内容是另一文件的路径名的指向(通过实验发现,省去了相同的路径部分)。则该文件就是symbol link。symbol link 有着自己的inode号以及用户数据块。

理解:如图,symbol link有自己的inode,但是其数据块中的内容是所链接的文件的文件名。

特性:

  • 软链接有自己的文件属性及权限等;
  • 可对不存在的文件或目录创建软链接;
  • 软链接可交叉文件系统;
  • 软链接可对文件或目录创建;
  • 创建软链接时,链接计数 i_nlink 不会增加;
  • 删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接被称为死链接(即
    dyling link,若被指向路径文件被重新创建,死链接可恢复为正常的软链接)。
相关操作:
创建硬链接:
ln 原始文件 硬链接文件
ln -s 原始文件 软链接文件
stat或者ls -li 文件名 查看inode号等信息
find 起始目录 -inum 1000 :从起始目录开始查找inode号为1000的文件

最新文章

  1. Android控件之SlidingDrawer(滑动式抽屉)详解与实例
  2. linux打开文件数量的查看方法
  3. eclipse 工程加入ant以支持自动打war包
  4. 自定义实现简单的Android颜色选择器(附带源码)
  5. android SQLite使用SQLiteOpenHelper类对数据库进行增删查改
  6. IoC容器Autofac之IOC/DI基本概念(二)
  7. WeakReference and WeakHashMap
  8. Android MulticastSocket IP组播
  9. v2013调试无法访问此网站 localhost 拒绝了我们的连接请求
  10. 源码安装H2O Http 服务端程序到Ubuntu服务器
  11. async/await 的使用
  12. 在Winform开发框架中实现对数据库的加密支持(转)
  13. ssh 登录出现Are you sure you want to continue connecting (yes/no)?解决方法
  14. Android studio导入eclipse项目遇到的错误解决方案
  15. 图结构练习——判断给定图是否存在合法拓扑序列(sdutoj)
  16. 【Python】【元编程】【三】【元类】
  17. 协同过滤 spark scala
  18. bzoj 3669: [Noi2014]魔法森林 -- 动点spfa
  19. 长尾分布,重尾分布(Heavy-tailed Distribution)
  20. 6,Flask 中内置的 Session

热门文章

  1. Java导出Excel和CSV(简单Demo)
  2. Oracle数据库还原方法
  3. ios+oc面试题
  4. 使用c语言编写cgi程序
  5. 关于Verilog 中的for语句的探讨
  6. linux学习笔记---一些有趣的命令
  7. 哟哟哟,JAVA组装的聊天室,最简单的实现
  8. nodejs触发事件的两种方式
  9. 【转】android ListView详解---- 不错不错
  10. linux下的webserver BOA及CGIC库的使用指南(转帖)