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