您的位置:首页 > 运维架构 > Linux

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

2016-09-03 20:00 381 查看
之前两篇是关于文件链接的。

硬链接:

http://blog.csdn.net/codetz/article/details/52414671

软链接:

http://blog.csdn.net/codetz/article/details/52422312

这篇主要谈关于目录的硬链接和软链接。

提示:

目录不可以创建硬链接,但可以创建软链接。

目录的软链接在生产场景中更经常用到,硬链接用的不多。

目录的硬链接

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


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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux