概念
为某一个文件在另外一个位置建立一个同步的链接。
语法
ln [参数] [源文件或目录] [目标文件或目录]
参数格式:
[-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}]
[--help] [--version] [--]
功能
Linux文件系统中,有所谓的链接(link),我们可以将其视为档案的别名,而链接又可分为两种 : 硬链接(hard link)与软链接(symbolic link),硬链接的意思是一个档案可以有多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。
不论是硬链接或软链接都不会将原本的档案复制一份,只会占用非常少量的磁盘空间。
软链接
软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式。可以认为是一个别名,用于指向原文件,当原文件被删除后,软链接文件本身也随之失效。
特点
1)软链接可以跨文件系统 ,硬链接不可以
2)软链接可以对一个不存在的文件名进行链接
[root@localhost Link_Test]# ls
dong_hard.txt dong_soft.txt dong.txt
[root@localhost Link_Test]# ln -s 1.txt 2.txt
[root@localhost Link_Test]# ls
2.txt dong_hard.txt dong_soft.txt dong.txt
[root@localhost Link_Test]# cat 2.txt
cat: 2.txt: 没有那个文件或目录
[root@localhost Link_Test]#
3)软链接可以对目录进行链接
4)软链接文件的大小大概率比原文件要小,硬链接文件的大小和原文件大小一定相同
5)删除原文件,软链接文件不存在
注意:
软链接文件的权限为“rwxrwxrwx”,且以“l”开头。所有当我们遇见“lrwxrwxrwx”的文件时,可以认为它是软链接文件。
硬链接
硬链接,以文件副本的形式存在,但不占用实际空间
特点
1)不允许给目录创建硬链接
[root@localhost Link_Test]# mkdir tmp
[root@localhost Link_Test]# ls
2.txt dong_hard.txt dong_soft.txt dong.txt tmp
[root@localhost Link_Test]# ln tmp tmp_bak
ln: "tmp": 不允许将硬链接指向目录
[root@localhost Link_Test]#
2)硬链接只有在同一个文件系统中才能创建
3)删除原文件,硬链接文件依然存在
[root@localhost Link_Test]# ls
2.txt dong_hard.txt dong_soft.txt dong.txt tmp
[root@localhost Link_Test]# rm dong.txt
rm:是否删除普通文件 "dong.txt"?y
[root@localhost Link_Test]# cat dong_hard.txt
1234
[root@localhost Link_Test]# cat dong_soft.txt
cat: dong_soft.txt: 没有那个文件或目录
[root@localhost Link_Test]#
命令参数
必要参数
-b 删除,覆盖以前建立的链接
-d 允许超级用户制作目录的硬链接
-f 强制执行
-i 交互模式,文件存在则提示用户是否覆盖
-n 把符号链接视为一般目录
-s 软链接(符号链接)
-v 显示详细的处理过程
示例
创建dong.txt文件,为其创建软链接dong_soft.txt
[root@localhost Link_Test]# ls
dong.txt
[root@localhost Link_Test]# ln -s dong.txt dong_soft.txt
[root@localhost Link_Test]# ls
dong_soft.txt dong.txt
[root@localhost Link_Test]# ll
总用量 4
lrwxrwxrwx 1 root root 8 5月 19 21:07 dong_soft.txt -> dong.txt
-rwxr-xr-x 1 root root 5 5月 19 21:06 dong.txt
[root@localhost Link_Test]#
为dong.txt创建硬链接dong_hard.txt
[root@localhost Link_Test]# ln dong.txt dong_hard.txt
[root@localhost Link_Test]# ll
总用量 8
-rwxr-xr-x 2 root root 5 5月 19 21:06 dong_hard.txt
lrwxrwxrwx 1 root root 8 5月 19 21:07 dong_soft.txt -> dong.txt
-rwxr-xr-x 2 root root 5 5月 19 21:06 dong.txt
[root@localhost Link_Test]#