日期:2014-05-16  浏览次数:20819 次

linux硬连接和软连接

?

Linux中的文件读取方式为:

?? 先通过一层一层的目录获取文件相关的关联数据;

? 在到对应的inode获取文件属性,以及文件内容数据所在的快;

? 最后到块区域获取文件的数据;

?

1.硬连接(实际连接)

?? 硬连接只是在莫个目录下新增一个该文件的关联数据而已,

????? 例:假设/root/crontab为一个硬连接的文件,连接到/etc/crontab文件,其实/root/crontab和/etc/crontab是同一个文件,

只是有连个目录(/etc与/root)记录了crontab文件的关联数据。即,有/etc目录记录的关联数据克制,crontab的inode放在

A处,而/root目录下的关联数据,crontab同样也指到A处的inode,所以crontab文件的inode与块都没有改变,只是有两个

目录记录来关联 数据

硬连接的限制:

  • ??????? 不能跨文件系统;
  • ??????? 不能连接目录

2.符号连接(快捷方式)

???????? 符号连接就是建立一个独立的文件,这个文件会让那个数据的读取指向它连接文件的内容。由于只是利用文件来作为

指向的动作,所以,当源文件被删除之后,符号连接的文件不能打开。会占用inode与块

?

?

3.命令

??? ln [-sf] 源文件 目标文件

???? 参数:

?????? -s:如果ln不加任何参数旧进行连接,那么就是硬连接, -s是符号连接

?????? -f:如果目标文件存在时,旧主动将目标文件之际删除后在建立