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 ~]#

linux命令---ln_知识

二.软连接

  1. 创建一个独立的链接文件,而文件的内容是指向文件的文件名

  2. 删除源文件,链接文件将失效

  3. 目录可以创建软连接

选项:

-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:

当创建的软连接与源不在一个目录下时,需要源的绝对路径。