一、 Linux 连接文件
Linux 有两种连接文件:符合连接(软连接)和硬连接,符号连接类似 Windows 下的快捷方式。硬连接通过文件系统的 inode 连接来产生新文件名,而不是产生新文件。
inode :记录文件属性,一个文件一个 inode 。 inode 相当于文件 ID ,查找文件的时候要先找到 inode ,然后才能读取文件的内容。
二、ln 文件(l是L)
ln 命令用于创建连接文件:
ln [选项] 源文件 目标文件
选项:
没有选项(硬连接)
-s 创建符号连接(软连接)
-f 强制创建软连接,如果目标存在,那么先删除掉目标文件,然后再建立连接文件。
三、硬连接
硬连接是多个文件都指向同意个 inode
硬连接特点:
①具有相同的 inode 的多个文件互为硬连接文件,创建硬连接相当于文件实体多个入口。
②对于硬连接文件,只有删除了源文件以及对应的所有硬连接文件,文件实体才会被删除。
③根据硬连接文件的特点,我们可以通过给文件创建硬连接的方式来防止文件误删除。
④不论修改源文件还是连接为你教案,另一个文件的数据都会改变。
⑤硬连接不能跨文件系统。
⑥硬连接不能连接目录。
因为以上这些限制,硬连接不常用。
四、符号连接(软连接)
符号连接类似 Windows 下的快捷方式,符号连接也叫软连接,软连接要用的多。符号连接相当于创建了一个独立的文件,这个文件会让数据读取指向它连接的那个文件的文件名。
软连接特点:
①可以连接到目录
②可以跨文件系统
③删除源文件以后,软连接文件就打不开了。
④符号连接文件通过->来指示具体的连接文件。
⑤符号连接要使用绝对路径,否者连接会出问题,比如是用 cp -d 进行复制的时候,如果是相对路径,复制的软连接文件会是无效的。
五、注意
Ubuntu 中 ls ,展示列表:绿色是可执行文件,蓝色是软连接、红色是无效的。
创建软连接使用绝对路径的时候,注意是源文件使用的是绝对路径不是目标文件。
硬连接不能跨文件系统,什么是文件系统呢,这里可以理解为不同盘的格式,比如 WIndows 下的 C: 盘是NTFS,D: 盘是 exFAT 或者 Linux 下的 / 和 /home 是两个独立的 ext4 分区,这些都有独立的 inode 表,硬连接的本质 就是创建了一个新标签,指向了这个 inode 号码。
1199

被折叠的 条评论
为什么被折叠?



