Linux-ln创建链接

发布时间 2023-05-24 16:08:24作者: 业余砖家

1.ln命令介绍

ln命令可以看作是 link 的缩写,其功能是创建文件间的链接,链接类型包括硬链接(hard link)和软链接(符号链接,symbolic link)

 

2.ln命令格式

ln 命令的基本格式如下:

ln [选项] 源文件 目标文件

选项:

-s:建立软链接文件。如果不加 "-s" 选项,则建立硬链接文件;

-f:强制。如果目标文件已经存在,则删除目标文件后再建立链接文件;

 

3.软连接

ln -s [源文件] [目标文件]   ## 创建软连接

说明:软链接生成的是符号链接文件(l 类型)

          源文件没了或者路径改变,ls -l 查看时会看到源文件有红色背景不断闪烁。

示例:

ln -s /linux/file.txt softlink.txt

 

软链接小结:

1)、软链接类似于 Windows 的快捷方式,里面存放着源文件的路径,指向源文件实体;

2)、删除了源文件,软链接文件依然存在,但是无法访问指向源文件路径的内容;

3)、源文件和软链接文件是不同类型的文件,inode 索引节点也不相同;

4)、对于目录,不可以创建硬链接,但是可以创建软链接;

 

4.硬链接

ln [源文件] [目标文件]   ##创建硬链接

说明:硬链接生成的是普通文件(- 字符 f类型)

         硬链接除了名称和位置,其它信息都相同, 包括日期, 没法区分。

         权限信息后面一列,可以看到文件被link的次数

示例:

ln /linux/file.txt hardlink.txt
ls -i   ##查看文件的inode号

 

硬链接小结:

1)、源文件和硬链接文件具有相同的 inode 索引节点号;两者可以看成同一个文件或一个文件的多个入口;

2)、删除硬链接文件或删除源文件任意之一,文件实体并未被删除;

3)、只有删除了源文件和对应的硬链接文件,文件实体才会被删除;

4)、通过给文件设置硬链接文件,来防止重要文件被误删;

5)、许多硬件设备中的快照功能,就是利用硬链接的原理;

 

5.软连接和硬链接区别

1)硬链接原文件&链接文件共用一个inode号,说明他们是同一个文件;而软链接原文件&链接文件拥有不同的inode号,表明他们是两个不同的文件;

2)链接数目(inode)是不一样的,软链接的链接数目不会增加,硬链接会相应的加1;

3)在文件属性上软链接明确写出了是链接文件,而硬链接没有写出来,因为在本质上硬链接文件和原文件是完全平等关系,就像文件被复制了一份一样;  

4)文件大小是不一样的,硬链接文件显示的大小是跟原文件是一样的,而这里软链接显示的大小与原文件就不同了。

5)使用限制上,不能对目录创建硬链接,不能对不同文件系统创建硬链接,不能对不存在的文件创建硬链接;可以对目录创建软连接,可以跨文件系统创建软连接,可以对不存在的文件创建软连接。

 

6.打包链接文件

-h参数:打包软链接文件指向的真实源文件

示例:

tar  zcfh  test.tar.gz  softlink.txt