标签:引用计数 文件 test sts 显示 分区 roo dir des
在同一分区中,不能使用同一个节点编号。
同一个文件不允许由多个节点编号。
一个文件可以起多个文件名 相当于马甲
硬链接本质上就给一个文件起一个新的名称,实质是同一个文件
ln link的简写 创建链接的命令
硬链接创建的文件彼此之间没有依赖关系
[root@C8-1 ~]# ln /boot/bigfile /boot/bigfileHln1
[root@C8-1 ~]# ln /boot/bigfile /boot/bigfileHln2
[root@C8-1 ~]# ln /boot/bigfile /boot/bigfileHln3
[root@C8-1 ~]# ln /boot/bigfile /boot/bigfileHln4
[root@C8-1 ~]# ln /boot/bigfile /boot/bigfileHln5
[root@C8-1 ~]# ll -ih /boot/
total 131M
309 -rw-r--r--. 7 root root 0 Jun 20 02:58 bigfile
309 -rw-r--r--. 7 root root 0 Jun 20 02:58 bigfileHln
309 -rw-r--r--. 7 root root 0 Jun 20 02:58 bigfileHln1
309 -rw-r--r--. 7 root root 0 Jun 20 02:58 bigfileHln2
309 -rw-r--r--. 7 root root 0 Jun 20 02:58 bigfileHln3
309 -rw-r--r--. 7 root root 0 Jun 20 02:58 bigfileHln4
309 -rw-r--r--. 7 root root 0 Jun 20 02:58 bigfileHln5
改一个文件,其余都改
[root@C8-1 ~]# echo {1..5}{a..b} >/boot/bigfileHln3
[root@C8-1 ~]# cat /boot/bigfile
1a 1b 2a 2b 3a 3b 4a 4b 5a 5b
[root@C8-1 ~]# cat /boot/bigfileHln5
1a 1b 2a 2b 3a 3b 4a 4b 5a 5b
删一个,文件不影响,Inodes数减,文件本身不变
相当于快捷方式 soft 可以跨分区 可以对文件夹
创建软链接,和原始文件根本不是一个文件,inodes不增加,像一个小名,
把原始文件删除,则软链接失效,依赖于原始文件
创建软链接的相对路径是相对于链接文件所在目录的相对路径
一个符号链接指向另一个文件,就像windows中快捷方式,软链接文件和原文件本质上不是同一个文件
#绝对路径
ln -s /data/dir /data/dirlink
#相对路径
cd /data
ln -s ../data/dir /root/dirlink
rm -rf /data/dirlink #删除软链接本身,不会删除源目录内容
rm -rf /data/dirlink/ #删除源目录的文件,不会删除链接文件
#查看链接文件指向的原文件
readlink /data/dirlink
实际举例
软件的升级和回滚
使用软链接指向不同的文件夹
升级 指向高版本目录
回滚 指向原目录
很要命的小细节 删文件夹
删软链接不会影响到源文件夹
删软链接时 若加/ 则会删掉源文件夹内的文件
[root@C8-1 ~]# ll
total 0
[root@C8-1 ~]# mkdir /data/test/
[root@C8-1 ~]# touch /data/test/{1..10}.test
[root@C8-1 ~]# ln -s /data/test/1.test ./testSln1.test
[root@C8-1 ~]# ln -s /data/test/ ./testSln
[root@C8-1 ~]# ll
total 0
lrwxrwxrwx. 1 root root 11 Jun 20 05:06 testSln -> /data/test/
lrwxrwxrwx. 1 root root 17 Jun 20 05:04 testSln1.test -> /data/test/1.test
##在当前工作目录中创建 /data/test/文件夹的软链接
[root@C8-1 ~]# ln -s /data/test/ ./testSln
[root@C8-1 ~]# ll
total 0
lrwxrwxrwx. 1 root root 11 Jun 20 05:06 testSln -> /data/test/
lrwxrwxrwx. 1 root root 17 Jun 20 05:04 testSln1.test -> /data/test/1.test
##删除刚创建的软链接
[root@C8-1 ~]# rm testSln
rm: remove symbolic link ‘testSln‘? y
##查看一下,软链接已删除
[root@C8-1 ~]# ll
total 0
lrwxrwxrwx. 1 root root 17 Jun 20 05:04 testSln1.test -> /data/test/1.test
##重新创建软链接
[root@C8-1 ~]# ln -s /data/test/ ./testSln
[root@C8-1 ~]# ll
total 0
lrwxrwxrwx. 1 root root 11 Jun 20 05:08 testSln -> /data/test/
lrwxrwxrwx. 1 root root 17 Jun 20 05:04 testSln1.test -> /data/test/1.test
##显示软链接文件夹中的内容
[root@C8-1 ~]# ls testSln
10.test 1.test 2.test 3.test 4.test 5.test 6.test 7.test 8.test 9.test
##直接删除软链接
[root@C8-1 ~]# rm testSln
rm: remove symbolic link ‘testSln‘? y
##查看一下源文件夹中的内容,并没有变化
[root@C8-1 ~]# ll /data/test/
total 0
-rw-r--r--. 1 root root 0 Jun 20 05:01 10.test
-rw-r--r--. 1 root root 0 Jun 20 05:01 1.test
-rw-r--r--. 1 root root 0 Jun 20 05:01 2.test
-rw-r--r--. 1 root root 0 Jun 20 05:01 3.test
-rw-r--r--. 1 root root 0 Jun 20 05:01 4.test
-rw-r--r--. 1 root root 0 Jun 20 05:01 5.test
-rw-r--r--. 1 root root 0 Jun 20 05:01 6.test
-rw-r--r--. 1 root root 0 Jun 20 05:01 7.test
-rw-r--r--. 1 root root 0 Jun 20 05:01 8.test
-rw-r--r--. 1 root root 0 Jun 20 05:01 9.test
##重新把软链接建立起来
[root@C8-1 ~]# ln -s /data/test/ ./testSln
##删除软链接的时候一不小心多加了一个斜杠 /
[root@C8-1 ~]# rm -rf testSln/
##再查看一下当前工作目录下,软链接并未被删除
[root@C8-1 ~]# ll
total 0
lrwxrwxrwx. 1 root root 11 Jun 20 05:09 testSln -> /data/test/
lrwxrwxrwx. 1 root root 17 Jun 20 05:04 testSln1.test -> /data/test/1.test
##查看一下源目录,原目录下的文件已经被删除
[root@C8-1 ~]# ll /data/test/
total 0
标签:引用计数 文件 test sts 显示 分区 roo dir des
原文地址:https://www.cnblogs.com/bpzblog/p/13169498.html