Linux 链接

磁盘分区

进行硬盘分区的时候,最小都是以磁柱为单位进行分割的,那么分割完成之后自然就是格式化(format),在 Linux里面进行格式化的时候必须要考虑到Block与inode的信息。
Block(块)是磁盘可以存取的最小单位,是由数个扇区所组成的,所以块的大小通常为n*512 bytes。

Block

记录文件内容数据的地方

innode

是记录文件属性、及该文件放置在哪个块上

文件读取过程

Linux 链接_第1张图片
1. 当Linux系统要找到某个文件时,他会先去搜寻inode table找到这个文件的属性及数据放置的地方,然后再去找数据存放的Block进而将数据取出利用。
2. inode数目在一开始格式化时就会被设定好,他的设定方式通常是利用 (硬盘大小/一个容量 ),这个容量至少应该比Block要大一些较佳。
3. 例如块设定为4K,那么inode可以订为8K左右。所以,一块1GB的硬盘,如果以8K来规划他的inode表的话,他的inode就会有 131072 个。
inode的大小为128bytes
4. 分区被格式化为一个文件系统之后,基本上他一定会有 inode table与data area两个区块

硬链接(共享innode号,删除一个链接,还能通过其他链接找到数据)

  1. hard link就是直接再建立一个inode连结到文件放置的block。
  2. 进行hard link的时候,文件内容不会改变,只是在查询的时候,利用原来的inode与后来的inode 均可找到数据放置的地点,因此两个文件的内容会是一样的,对前一个文件的存取动作与对后一个文件一样。
  3. 目录本身只消耗inode,没有数据,所以hard link不能link目录。  
  4. 硬链接的限制
    不能跨文件系统,因为不同的文件系统有不同的inode表
    不能 link 目录
  5. 由于硬链接是有着相同 inode 号仅文件名不同的文件,因此,删除一个硬链接文件并不影响其他有相同 inode 号的文件。硬链接不能对目录进行创建,只可对文件创建。
ln xxxx xxx

软链接(快捷方式,删除一个链接,无法找回)

  1. 软链接(也叫符号链接)与硬链接不同,文件用户数据块中存放的内容是另一文件的路径名的指向。软链接就是一个普通文件,只是数据块内容有点特殊。
  2. 软链接可对文件或目录创建。
  3. 删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接就变成了死链接。
类似于windows的快捷方式
ln -s xxxx xxx

区别

Linux 链接_第2张图片

ln input input.hard
rm -rf input
cat input.hard(innode可找到,故可找到文件)
ln -s input input.soft
rm -rf input
cat input.soft(innode找不到,故找不到数据文件)

你可能感兴趣的:(Linux 链接)