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


如果说操作系统的半壁江山是微软的,那另一半估计应该属于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

相关内容