软链接和硬链接

假设我们有一个文件,称为 hello

通过 ln -s 创建一个软链接,通过 ln 可以创建一个硬链接。

1
2
3
4
5
6
7
8
$ ln -s hello hello-soft
$ ln hello hello-hard

$ ls -lh
total 768
45459612 -rw-r--r-- 2 xiange staff 153K 11 19 17:56 hello
45459612 -rw-r--r-- 2 xiange staff 153K 11 19 17:56 hello-hard
45463415 lrwxr-xr-x 1 xiange staff 5B 11 19 19:40 hello-soft -> hello

他们的区别有以下几点:

  • 软链接可理解为指向源文件的指针,它是单独的一个文件,仅仅只有几个字节,它拥有独立的 inode
  • 硬链接与源文件同时指向一个物理地址,它与源文件共享存储数据,它俩拥有相同的 inode