ln:make links between files。为文件创建链接,链接分为硬链接和软连接(符号链接)。
ln 源文件 目标文件 硬链接
ln -s 源文件 目标文件 软连接
ln -f 当创建链接时,如果目标文件已经存在,则删除目标文件后创建。(有时候我们需要删除后再创建,免去删除步骤)
一.硬链接介绍:
1.是通过索引节点inode进行链接的,硬链接的数量就是-rw-r--r--. 2 root root 610 8月 26 05:29 test.txt
2.多个文件的指向同一个inode节点,硬链接文件就相当于文件的另一个入口。如下实例和图
3.删除任何一个文件名,inode和block都还存在,起到备份的作用
4.不能跨文件系统创建硬链接
5.不能为目录创建硬链接
[root@www ~]# ll -id /root /tmp 50 dr-xr-x---. 3 root root 4096 8月 28 05:47 /root 20 drwxrwxrwt. 3 root root 4096 8月 28 05:24 /tmp [root@www ~]# ll -i test.txt 6050 -rw-r--r--. 1 root root 610 8月 26 05:29 test.txt [root@www ~]# ln test.txt /tmp/test_ln.txt [root@www ~]# ll -i test.txt /tmp/test_ln.txt 6050 -rw-r--r--. 2 root root 610 8月 26 05:29 test.txt 6050 -rw-r--r--. 2 root root 610 8月 26 05:29 /tmp/test_ln.txt [root@www ~]#
二.软连接
创建一个独立的链接文件,而文件的内容是指向文件的文件名
删除源文件,链接文件将失效
目录可以创建软连接
选项:
-s 创建软连接
-f 强制建立
-i 询问是否覆盖
[root@www ~]# ln -s test.txt test_soft_link.txt [root@www ~]# ln test.txt test_hard_link.txt [root@www ~]# ls -li test.txt test_soft_link.txt test_hard_link.txt 6050 -rw-r--r--. 3 root root 610 8月 26 05:29 test_hard_link.txt 6197 lrwxrwxrwx. 1 root root 8 8月 28 18:40 test_soft_link.txt -> test.txt 6050 -rw-r--r--. 3 root root 610 8月 26 05:29 test.txt [root@www ~]#
注意:
有时ln -s会报Too many levels of symbolic links:
当创建的软连接与源不在一个目录下时,需要源的绝对路径。