ln 硬链接与软链接

1. 命令功能

ln 可以看做是link的简写,功能是创建链接文件,链接文件包括硬链接(hard link)和软链接(符号链接,symbolic link)

2. 语法格式

ln  [option]  source  target

ln  选项  源文件或目录  目标文件或目录

参数

参数说明

无选项

创建硬链接

-s

创建软链接(符号链接)

目录没有硬链接,只有软链接。

3. 硬软链接文件知识

1. 硬链接

硬链接文件创建方式:ln 源文件  目标文件

每个文件都有一个inode(索引)节点,这个inode就是指向文件在磁盘中具体存放的位置编号。创建硬链接,就是在创建一个文件名,这个文件名指向同一个inode索引,相当于给文件的另一个入口。例如到一个房子开始只有一个门能进入,现在又开了另一个门当做出口。这样做的好处,例如备份文件,删除源文件,只是把源文件名删除了,还可以通过硬链接文件访问这个文件,放置误删除。

硬链接的特性:

  1. 具有相同inode节点的多个文件互为硬链接。
  2. 删除源文件或硬链接文件其中之一,文件实体没有被删除。
  3. 只有删除源文件及全部硬链接文件后,文件实体才会被删除。
  4. 可以给文件设置硬链接,来防止重要文件被误删。
  5. 硬链接可以用rm命令删除。
  6. ls –lih 查看第三列,即硬链接数。
  7. 对于静态文件(文件没有被调用),当对应的硬链接数为0时,文件就会被删除

实例:创建硬链接

[root@localhost DIR]# ln 123 abc

[root@localhost DIR]# ls -l

total 0

-rw-r--r--. 2 root root 0 Mar 13 23:21 123

-rw-r--r--. 2 root root 0 Mar 13 23:21 abc    #abc是123的硬链接文件

[root@localhost DIR]# ls –lih

total 0

786446 -rw-r--r--. 2 root root 0 Mar 13 23:21 123  #inode号相同;2 表示有硬链接数:3

786446 -rw-r--r--. 2 root root 0 Mar 13 23:21 abc

[root@localhost DIR]# ln 123 def

[root@localhost DIR]# ls -lih

total 0

786446 -rw-r--r--. 3 root root 0 Mar 13 23:21 123  # 硬链接数有3

786446 -rw-r--r--. 3 root root 0 Mar 13 23:21 abc

786446 -rw-r--r--. 3 root root 0 Mar 13 23:21 def

[root@localhost DIR]# ls -lih 123

786446 -rw-r--r--. 3 root root 0 Mar 13 23:21 123

2. 软链接

软链接(符号链接),类似windows中的快捷方式。

软链接创建方式:ln –s 源文件 目标文件

[root@localhost home]# ls -l test.txt

-rw-r--r--. 1 root root 27 Mar 14 22:45 test.txt

[root@localhost home]# ln -s test.txt test.txt_link   #创建软链接

[root@localhost home]# ls -l test.txt test.txt_link

-rw-r--r--. 1 root root 27 Mar 14 22:45 test.txt

lrwxrwxrwx. 1 root root  8 Mar 14 22:45 test.txt_link -> test.txt  #l:软链接标识符

软链接文件和源文件的inode号不一样,链接数也不一样

[root@localhost home]# ls -lih test.txt test.txt_link

786434 -rw-r--r--. 1 root root 27 Mar 14 22:45 test.txt

786448 lrwxrwxrwx. 1 root root  8 Mar 14 22:45 test.txt_link -> test.txt

原文地址:https://www.cnblogs.com/joechu/p/8664267.html