软连接:
概念:
相当于Windows上面的快捷方式,里面存放的是源文件的路径,及能够执行源文件
链接文件可以对文件目录创建软连接,也可以跨区链接
ln -s 源文件 链接文件
[root@lixian ~]# ln -s /root/lixian.txt /tmp [root@lixian ~]# [root@lixian ~]# ls /tmp/ lixian.txt [root@lixian ~]# ls -l /tmp/ total 0 lrwxrwxrwx. 1 root root 16 Dec 5 15:13 lixian.txt -> /root/lixian.txt
在创建链接文件时,源文件和链接文件写的路径要是绝对路径
如果是相对路径移动源文件或者删除源文件,链接文件会失效,出现红底白字闪烁
[root@lixian ~]# rm -f lixian.txt [root@lixian ~]# [root@lixian ~]# ls -l /tmp/ total 0 lrwxrwxrwx. 1 root root 16 Dec 5 15:13 lixian.txt -> /root/lixian.txt
企业应用场景:
版本升级或回退:
[root@lixian ~]# ll total 0 lrwxrwxrwx. 1 root root 10 Dec 5 20:08 nginx -> nginx-1.16 drwxr-xr-x. 2 root root 6 Dec 5 20:07 nginx-1.16 drwxr-xr-x. 2 root root 6 Dec 5 20:07 nginx-1.18 [root@lixian ~]# rm -rf nginx && ln -s nginx-1.18 nginx [root@lixian ~]# ll total 0 lrwxrwxrwx. 1 root root 10 Dec 5 20:09 nginx -> nginx-1.18 drwxr-xr-x. 2 root root 6 Dec 5 20:07 nginx-1.16 drwxr-xr-x. 2 root root 6 Dec 5 20:07 nginx-1.18 && #前面一个命令执行成功,才会执行后面的命令 || #前面一个命令执行失败,才会执行后面的命令
硬链接:
#多个文件指向同一个inode号的文件,我们称之为互为硬链接,一个有效的入口
[root@lixian ~]# ln test.log test.sh [root@lixian ~]# echo 456 >> test.sh [root@lixian ~]# cat test.log 123 456 [root@lixian ~]# rm -f test.log [root@lixian ~]# cat test.sh 123 456
总结:
硬链接总结: 1.相同的inode号,不相同的文件名。文件的数据块指向同一个磁盘位置 2.改变硬链接文件,就是相当于改变源文件 3.通过ln,命令直接创建 4.创建对象,只能对文件创建。 5.创建硬链接,主要是为了误删除。 6.删除硬链接,文件不会被删除。 7.删除源文件,对硬链接没有影响 8.只有文件的硬链接数量为0,这个文件才会被真正的删除。
软连接与硬链接的区别:
1.从概念:软链接相当于windows上面的快捷方式,硬链接就是有相同的inode号的文件 2.从创建:ln -s 创建软连接,ln命令默认创建硬链接 3.从创建对象:软连接可以对文件目录创建,可以跨区创建,而硬链接只能对文件创建 4.从删除原理: 删除软链接,对源文件和硬链接没有影响 删除硬链接,对源文件和软连接也是没有影响 删除源文件,对硬链接没有影响,软连接会失效,出现红底白字闪烁状 只有删除了源文件和所有的硬链接文件,文件才会被真正的删除。