硬链接:ln源文件新建名
指向同一个文件,并独立存在。当源文件删除不会影响硬链接文件的读取。不能跨文件系统和目录建连接。
例:新建一个文件吧!名字test硬链接为t1。
查看文件,发现2个文件最前的数字是一样的,而这一窜数字称之为inode。
Indoe包含了里面存储了此文件的属性,包括文件大小、所有者、以及访问权限等等。
所以2个inode相同很明显是一个文件(区别于软连接)。还有权限后的数字,就代表了硬链接的份数。每次对t1或test文件添加一个硬链接,数值在原有的基础上加1。
可以认为是备份数,但与备份区别的是,硬链接的每份都是有关联的,在任何一份硬链接上文件做修改,就会对每份硬链接做相同的改动。
软连接:In –s源文件新建名
相当于windows中的快捷方式依赖源文件。如源文件删除,软连接则无法执行。可以跨文件系统和目录建连接。
例:当我们挂在光驱时,常常会打入#mount /dev/cdrom /mnt/cdrom.但只要#mount,就会发现,其实挂载的并不是/dev/cdrom,而是/dev/hdc;
这时你就可以想到了,可能是软连接的缘故,文件指向的是hdc
注意权限,虽然软连接指向源文件,但并不会和源文件的权限相同。一定会出现这问题,或许你会将软连接的权限改为700时。并不代表只有文件所有者能访问。一切还是要以源文件的权限为准。(如果真要问我软连接的权限是干嘛用的,这个嘛。。再议。。。。。。。。)。
注意inode,并不是相同的,所以这就是和硬链接的本质区别。
总结
硬链接不能跨文件系统和不能对目录创建,而软连接可以。
硬链接的inode是相同的,而软连接是不同的。
硬链接每新建一次,值就会在原有基础上加1。而软连接则没此项。
不要被软连接的权限迷惑,最终还是要以源文件的权限为准。
新闻热点
疑难解答