linux系统链接---目录链接

这篇主要谈关于目录的硬链接和软链接。 
提示: 
目录不可以创建硬链接,但可以创建软链接。 
目录的软链接在生产场景中更经常用到,硬链接用的不多。

目录的硬链接

[root@ianLinux dirlnTest]# ln iandir iandir_hard_link
ln: `iandir': hard link not allowed for directory
  • 1
  • 2

hard link not allowed for directory不允许硬链接指向目录。 
这里写图片描述 
为什么a目录的硬链接数为2呢?目录不是不能创建硬链接的么? 
ls -a显示隐藏文件。以点开头的文件代表隐藏文件。 
这里写图片描述

我们可以发现a目录下的“.”隐藏文件的inode与a目录的inode相同。所以“.”隐藏文件与a目录互为硬链接,是同一文件。所以a目录的硬链接数为2。 
这里写图片描述 
a的上级目录是data。我们发现a目录下的“..”隐藏文件的inode与data的inode相同。所以“..”隐藏文件与data目录互为硬链接。 
这里写图片描述

data目录下的子目录有4个,每个子目录中都有一个“..”隐藏文件与data目录互为硬链接,data目录下本身有一个“.”隐藏文件与data目录互为硬链接。所以data目录的硬链接数为6。 
这里写图片描述

目录的软链接

目录的软链接创建和文件软链接软件是一样的。但是删除目录软链接的时候,还是用rm -f命令,目录软链接还是软链接文件,是文件。 
这里写图片描述

企业生产中目录软链接的作用: 
1、编译软件时指定版本号(/application/apache2.2.23),访问时希望去掉版本号(/application/apache),可以设置软链接到编译的路径。所有程序都访问软链接文件(/application/apache),当软件升级到高版本后,只需删除链接文件重建到高版本理解的软链接即可(/application/apache)。 
2、企业代码发布时(PHP程序),需要把所有代码传送到一个新发布的临时目录或者新的站点目录。发布时要么mv,但也可以重建软链接指向到这个新的临时目录或者新的站点目录。 

3、不方便目录移动,使用ln -s。

转载至https://blog.csdn.net/codetz/article/details/52425104

猜你喜欢

转载自blog.csdn.net/vic_qxz/article/details/80224371