软链接与硬链接
读取软链接的内容:
硬链接用了同一个inode(inode属于VFS的四大组件之一,应该可以理解为是一个通用的结构体,但是找到inode之后的具体访问应该就要涉及不同文件系统类型了),所以硬链接不能跨文件系统吧;
而对于软链接则不然,它相当于两个独立的文件,先从软链接文件中读出文本内容,再根据这个文本内容进行二次访问,所以软链接是可以跨文件系统的。
cp一个软链接
博士学长提醒了我一个比较需要注意的问题:就是如果一个目录dir是软链接,那么一定不要cp这个目录(cp dir .),而是要cp dir/* .,否则会只拷贝了软链接过来,删除或者修改文件则还是在原来的目录下进行的;
先说结论:
- 对软链接的文件copy,得到的是一个新的原文件的副本;
- 对软链接的目录copy,得到的是一个新的指向原目录的软链接;
- 对软链接的目录cp -r,得到的仍然是一个新的指向原目录的软链接;(其实由于参数是一个软链接文件,所以这里的-r参数根本就没有作用)