[root@localhost lyz]# cat /etc/issue
CentOS release 6.5 (Final)
Kernel \r on an \m
硬链接 里面的内容是什么
[root@localhost lyz]# cat /tmp/issue.hard
CentOS release 6.5 (Final)
Kernel \r on an \m
然后再像源文件里面末尾写入一行信息
[root@localhost lyz]# echo "" >> /etc/issue
然后查看源文件
[root@localhost lyz]# cat /etc/issue
CentOS release 6.5 (Final)
Kernel \r on an \m
查看目标文件,你会发现 也会同步更新信息
[root@localhost lyz]# cat /tmp/issue.hard
CentOS release 6.5 (Final)
Kernel \r on an \m
此时再查看 软连接 也会有相同的信息 ,因为软连接也是指向源文件的,所以也是查得出来
[root@localhost lyz]# cat /tmp/issue.soft
CentOS release 6.5 (Final)
Kernel \r on an \m
[root@localhost lyz]#
这样我们看不出来软连接和硬连接有啥区别,我们来做一下实验:
我们先备份 源文件,然后删除源文件,然后再查看软连接,你会发现找不到那个文件,而硬链接却还能找到
[root@localhost lyz]# cp /etc/issue /etc/issue.bak
[root@localhost lyz]# cat /etc/issue.bak
CentOS release 6.5 (Final)
Kernel \r on an \m
[root@localhost lyz]# rm /etc/issue
rm:是否删除普通文件 "/etc/issue"?y
[root@localhost lyz]# cat /tmp/issue.soft
cat: /tmp/issue.soft: 没有那个文件或目录
[root@localhost lyz]# cat /tmp/issue.hard // 再查看硬链接,你会发现没有影响,这就说命令cp -p 的功能了,
CentOS release 6.5 (Final)
Kernel \r on an \m
[root@localhost lyz]#
再来查看软连接的详细信息的时候,你会发现 它的源文件一直在闪烁,说明源文件丢失了
一个文件只能有一个i 节点 ,一个i 节点可以对应多个文件
比如 我把备份文件 分别生成一个软连接和一个硬链接 如下:
[root@localhost tmp]# ln /etc/issue.bak issue.bak.hard
[root@localhost tmp]# ln -s /etc/issue.bak issue.bak.soft
查看i 节点 ,会发现硬链接和源文件对应同一个i 节点,映射到同一个i节点,所以会同步更新
[root@localhost tmp]# ls -i /etc/issue.bak issue.bak.hard issue.bak.soft
402520 /etc/issue.bak 402520 issue.bak.hard 402522 issue.bak.soft
[root@localhost tmp]#
硬链接不能跨分区,软连接可以,如: tmp 是在跟分区下的, 我把他硬链接到 /boot 分区下回提示如下:
[root@localhost tmp]# ln /tmp/issue.hard /boot/issue.hard.hard
ln: 创建硬链接"/boot/issue.hard.hard" => "/tmp/issue.hard": 无效的跨设备连接
[root@localhost tmp]#
软连接:可以成功夸分区
[root@localhost tmp]# ln -s /tmp/issue.hard /boot/issue.hard.hard
[root@localhost tmp]# ls /boot
config-2.6.32-431.el6.x86_64 initrd-2.6.32-431.el6.x86_64kdump.img System.map-2.6.32-431.el6.x86_64
efi issue.hard.hard vmlinuz-2.6.32-431.el6.x86_64
grub lost+found
initramfs-2.6.32-431.el6.x86_64.img symvers-2.6.32-431.el6.x86_64.gz
[root@localhost tmp]#
硬链接不能针对目录使用,软连接可以 如:
[root@localhost tmp]# ln /tmp /root/tmp.hard
ln: "/tmp": 不允许将硬链接指向目录
[root@localhost tmp]#
软连接:[root@localhost tmp]# ln -s /tmp /root/tmp.soft
[root@localhost tmp]#
什么时候回用到软连接呢,其实就是在i想用类似于Windows 的快捷方式的时候,你就可以用软连接来连接