软链接
软链接正式名称为符号(symbolic link)链接,是指向另一个文件的文件。
和桌面快捷方式差不多
比如典型的 /bin 目录
zhoux@westnorth:~$ ll /bin
lrwxrwxrwx 1 root root 7 Apr 22 2024 /bin -> usr/bin/按以下方式可以简单创建一对链接,-s 就是 soft
ln -s [源文件] [快捷方式]对软链接的修改与对源文件的修改是同步的
删除源文件,软链接将消失
硬链接
与软链接不同,硬链接是同一份数据的多个名字,删除一个名字不会删除数据,只有所有名字都删除后数据才会消失。
也就是说,硬链接是一个节点,而链接的文件只是接口,删除接口,文件不会消失
创建硬链接
touch hardfile
ln hardfile hardlink1
ln hardfile hardlink2
ln hardfile hardlink3
#同样是源文件-链接的顺序权限列后的数字反应了链接数(文件访问端口数),自己+3 个硬链接=4
zhoux@westnorth:~/linux_practice/scripts$ ls -l
total 0
-rw-r--r-- 4 zhoux zhoux 0 Dec 5 12:19 hardfile
-rw-r--r-- 4 zhoux zhoux 0 Dec 5 12:19 hardlink1
-rw-r--r-- 4 zhoux zhoux 0 Dec 5 12:19 hardlink2
-rw-r--r-- 4 zhoux zhoux 0 Dec 5 12:19 hardlink3对源文件的改动将同步至硬链接
zhoux@westnorth:~/linux_practice/scripts$ echo "xibei we love you" > hardfile
zhoux@westnorth:~/linux_practice/scripts$ cat hardlink1
xibei we love you删除源文件,硬链接不会消失
zhoux@westnorth:~/linux_practice/scripts$ rm ./hardfile
zhoux@westnorth:~/linux_practice/scripts$ cat ./hardlink1
xibei we love you硬链接的意义
硬链接看起来像是一份副本,但与复制文件存在本质上的区别
- 修改是同步的
- 不会多占用磁盘空间,因为文件始终只有源文件一个
适合使用硬链接的场景:
-
需要多个入口访问同一数据
-
想节省磁盘空间
-
需要文件自动同步
-
防止重要文件被误删(但防不了覆写)