链接文件:ln

2018-05-14  本文已影响0人  chocolee911

链接分为硬链接以及符号链接(也可叫做软链接)。
两种链接实现机理不同,因此要求与效果也都不同

1. 硬链接(Hard Link)

[root@localhost ~]# ll aaa                      # 注意观察列表的第二列,此列展示的是多少个文件指向与其相同的 inode,此时该列为‘1’
-rw-r--r--. 1 root root 0 5月  15 06:43 aaa
[root@localhost ~]# ln aaa aaa-hard             # 建立 aaa-hard,使其指向 aaa 文件的 inode
[root@localhost ~]# ll -i
总用量 0
67914933 -rw-r--r--. 2 root root 0 5月  15 06:43 aaa     
67914933 -rw-r--r--. 2 root root 0 5月  15 06:43 aaa-hard    # 看!两者使用了相同的 indoe,而且第二列的值变为了‘2’
[root@localhost ~]# ll -id /root/
67165921 dr-xr-x---. 3 root root 4096 5月  15 06:43 /root/    # 咦?/root/所用的 67165921 竟然链接有3个文件名

[root@localhost ~]# ll -id /root/. /root/.ssh/..
67165921 dr-xr-x---. 3 root root 4096 5月  15 06:43 /root/.               # 一个是该目录下的 .
67165921 dr-xr-x---. 3 root root 4096 5月  15 06:43 /root/.ssh/..         # 另一个是该目录的子目录下的 ..

## 可以得出规律:一个目录下的链接数减去1,就等于其下1级子目录的个数

2. 符号链接(Symbolic Link)

[root@localhost ~]# touch a
[root@localhost ~]# ln -s a a-link-short;ln -s /root/a a-link-long;ll   # 用两种文件写法来做链接
总用量 0
-rw-r--r--. 1 root root 0 5月  15 07:30 a
lrwxrwxrwx. 1 root root 7 5月  15 07:31 a-link-long -> /root/a          # 明明是链接到同一个文件,为何文件大小不同?
lrwxrwxrwx. 1 root root 1 5月  15 07:31 a-link-short -> a

## 软链接的文件大小,主要看指定链接时使用的源文件名字或路径的长度

问题
如果某个分区快满了,该分区中有一些大文件,且经常被访问。这时硬盘上还有一个较为空闲的分区。
请问如何处理才能够在缓解容量的同时不影响用户的正常使用?

解法
a. 在空闲分区建立新的目录;
b. 将大文件 file-1 转移至新建的目录(推荐使用 rsync,因为其支持增量备份);
c. 在旧目录中新建与原文件同名的文件(file-1),并软链接至真实的 file-1文件;

(The End)

上一篇 下一篇

猜你喜欢

热点阅读