linux硬链接/符号链接
硬链接/符号链接
链接文件: 硬链接:不同目录下两个不同的名字,磁盘对应的inode是一个,只能在同一个分区创建 两个文件路径指向同一个inode编号
创建链接文件 1,cp -l 指明源 目标是链接 2,ln .. [root@localhost ~]# ll -i mark1 4063242 -rw-r--r--. 3 root root 9 Apr 4 01:25 mark1 [root@localhost ~]# cp -l mark mark1 [root@localhost ~]# ll -i mark1 mark 4063242 -rw-r--r--. 3 root root 9 Apr 4 01:25 mark1 4063242 -rw-r--r--. 3 root root 9 Apr 4 01:25 mark [root@localhost ~]# echo "hello word" > mark [root@localhost ~]# cat mark hello word [root@localhost ~]# [root@localhost ~]# cat mark1 hello word [root@localhost ~]#
特性: 1,对硬链接而言,目录不支持硬链接、 2,连接不能跨文件系统 3,硬链接文件与源文件是指向同一个inode,创建硬链接文件会增加inode的引用计数:
符号链接:链接文件是一个完全独立的新文件,但其指向了源文件的文件路径 ln -s [root@localhost ~]# ls anaconda-ks.cfg install.log install.log.syslog mark1 mark123 [root@localhost ~]# pwd /root [root@localhost ~]# ln -sv /root/mark1 /root/mark123/ `/root/mark123/mark1' -> `/root/mark1'
这里要注意了,两个文件的大小将不是相同的,因为这是软连接,类似windwos的快捷方式。 [root@localhost ~]# ll /root/mark123/ total 0 lrwxrwxrwx. 1 root root 11 Apr 4 01:38 mark1 -> /root/mark1 [root@localhost ~]# [root@localhost ~]# ls -l /root/mark123/mark1 lrwxrwxrwx. 1 root root 11 Apr 4 01:38 /root/mark123/mark1 -> /root/mark1 [root@localhost ~]# ls -l /root/mark1 -rw-r--r--. 1 root root 81 Apr 4 01:42 /root/mark1 [root@localhost ~]# 它的权限很独特,用户访问并不是真真拥有这个权限,而是说用户访问这个文件的权限其实取于被指向的文件权限,和当前文件的权限没有关系 由于符号链接的特别,它的权限展示位L [root@localhost ~]# ll /root/mark123/mark1 lrwxrwxrwx. 1 root root 11 Apr 4 01:38 /root/mark123/mark1 -> /root/mark1 [root@localhost ~]#
特性: 1,符号链接文件与原文件是两个各自独立的文件 2,符号链接支持对目录创建 3,可以跨文件系统 4,由于符号链接不是指向inode,删除链接不影响源文件,如果删除源文件,符号指向的路径将不复存在,因此,此链接文件将变成失效链接
符号链接其大小,并非真正原文件大小,而是指向的原文件路径字符串所包含的字节数