来自Linux操作系统的inode和软硬链接介绍

运维 系统运维
如果说操作系统的半壁江山是微软的,那另一半估计应该属于Linux操作系统的了。于是很多人开始学习Linux操作系统这个新贵。本文为你介绍Linux的inode、软链接、硬链接的知识。对你学习Linux的进程有所提高。

如果说操作系统的半壁江山是微软的,那另一半估计应该属于Linux操作系统的了。于是很多人开始学习Linux操作系统这个新贵。本文为你介绍Linux的inode、软链接、硬链接的知识。对你学习Linux的进程有所提高。

inode

Linux的文件系统(硬盘)分为2部分:inode table 与 data area。inode table上有许多的inode, 每个inode分别记录一个档案的属性与这个档案分布在哪些datablock上(也就是我们说的指针)。inode有两个功能:记录档案属性和指针。data area由很多datablock构成,data area记录文件的真实内容。
 
硬链接

Hard Link 只是在某个目录下新增一个该档案的关连数据而已!
 
1.举个例子来说,我的 /home/vbird/crontab 为一个 hard link 的档案,他连结到 /etc/crontab 这个档案,也就是说,其实 /home/vbird/crontab 与 /etc/crontab是同一个档案,只是有两个目录( /etc 与 /home/vbird )记录了 crontab 这个档案的关连数据罢了!也就是说,我由 /etc 的 Block 所记录的关连数据可知道 crontab 的 inode 放置在 A 处,而由 /home/vbird 这个目录下的关连数据,contab 同样也指到 A处的 inode! 所以,crontab 这个档案的 inode 与 block 都没有改变,有的只是有两个目录记录了关连数据.
 
2.使用 hard link 设定连结文件时,磁盘的空间与 inode 的数目都不会改变!由上面的说明来看,我们可以知道, hard link 只是在某个目录下的 block 多写入一个关连数据,所以当然不会用掉 inode 与磁盘空间。
 
3.当我们修改其中一个文件的内容时,互为硬链接的文件的内容也会跟着变化。如果我们删除互为硬链接关系的某个文件时,其它的文件并不受影响.
 
4.由于 hard link 是在同一个 partition 上面进行数据关连的建立,所以 hard link 是有限制的:
a. 不能跨 Filesystem.
b. 不能 link 目录。


5.假设已经建立若干me.txt的硬链接:ln me.txt hard_me.txt ……。
之后运行 ls -l: -rw-r--r-- 3 younes younes   40 2009-12-03 16:36 hard_me.txt ,其中橙色底纹的数字代表指向该文件硬链接的数目。

软链接
 
1. 软链接也叫符号链接,他和硬链接有所不同,软链接文件只是其源文件的一个标记。当我们删除了源文件后,链接文件不能独立存在,虽然仍保留文件名,但我们却不能查看软链接文件的内容了.
 
2. Symbolic Link 与 Windows 的快捷方式可以给他划上等号,由 Symbolic link 所建立的档案为一个独立的新的档案,所以会占用调inode与block。

这就是Linux操作系统的inode、软链接、硬链接。

【编辑推荐】

  1. 阐述Linux操作系统安装无线网卡驱动
  2. Wine成功运行Bitcomet于Linux操作系统中
  3. 浅析Linux操作系统中开源Cisco路由虚拟机
  4. Linux操作系统基本知识
  5. 学习手册:Linux操作系统下的poll和select
责任编辑:小霞 来源: NET130
相关推荐

2009-12-23 10:36:48

Linux操作系统

2009-12-15 10:47:29

linux操作系统

2009-12-16 09:40:26

Linux操作系统

2009-12-11 16:53:52

Linux操作系统

2011-01-04 15:36:45

linux特征

2009-12-22 13:05:15

Linux sysfs

2010-01-06 10:57:05

Linux操作系统

2011-01-04 18:15:21

2010-04-29 14:08:38

Unix操作系统

2010-04-22 12:51:59

Aix操作系统命令

2009-12-02 14:50:28

操作系统

2009-06-25 08:53:03

Linux操作系统

2009-07-03 06:55:33

Linux

2009-06-29 08:38:14

Linux操作系统

2010-05-04 13:09:21

Unix操作系统

2009-12-09 17:25:19

Linux操作系统

2010-02-23 17:14:25

Ubuntu Linu

2015-09-22 14:50:16

2012-05-29 09:42:08

Linux服务器窗口管理

2009-12-22 13:44:33

Linux操作系统
点赞
收藏

51CTO技术栈公众号