php 删除硬链接,为什么要用软链接硬链接

http://bbs.chinaunix.net/forum/viewtopic.php?t=434579&show_type=&postdays=0&postorder=asc&start=30

俺的贴子里有这段,摘抄过来

符号链接

存在两种不同类型的链接,软链接和硬链接。修改其中一个,硬连接指向的是节点(inode),而软连接指向的是路径(path)

软链接文件

软链接又叫符号链接,这个文件包含了另一个文件的路径名。可以是任意文件或目录,可以链接不同文件系统的文件。和win下的快捷方式差不多。链接文件甚至可以链接不存在的文件,这就产生一般称之为"断链"的问题(或曰“现象"),链接文件甚至可以循环链接自己。类似于编程语言中的递归。

命令格式:

代码:

ln [-s] source_path target_path

硬链接文件

info ln 命令告诉您,硬链接是已存在文件的另一个名字,硬连接的命令是

代码:

ln -d existfile newfile

引用:

硬链接文件有两个限制

1、不允许给目录创建硬链接;

2、只有在同一文件系统中的文件之间才能创建链接。

对硬链接文件进行读写和删除操作时候,结果和软链接相同。但如果我们删除硬链接文件的源文件,硬链接文件仍然存在,而且保留了愿有的内容。这时,系统就“忘记”了它曾经是硬链接文件。而把他当成一个普通文件。修改其中一个,与其连接的文件同时被修改

代码:

$umask 022

$ cp /etc/httpd/conf/httpd.conf /usr/sam

原来前面做的试验,改变了系统默认的umask值,现在改回来为022,

举个httpd.conf文件做例 子

代码:

$ ln httpd.conf httpd1.conf

$ ln -s httpd.conf httpd2.conf

第一条为硬链接,第二条为软链接

代码:

$ ls -li

代码:

总用量 80

1077669   -rw-r--r--    2 sam      adm         34890 10月 31 00:57 httpd1.conf

1077668  lrwxrwxrwx    1 sam      adm            10 10月 31 00:58 httpd2.conf ->; httpd.conf

1077669  -rw-r--r--    2 sam      adm         34890 10月 31 00:57 httpd.conf

可以看到,使用ls -li,软连接只产生了10字节的快捷而已,硬连接却实实在在的的拷贝。最前面的inode硬链接和源文件是一样的,而软链接不一样,具体看一下回复

对http1.conf进行编辑,可以发现httpd.conf也发生了一样的变化

代码:

$ rm httpd.conf

现在删除链接的源文件,来比较不同之处

代码:

$ ls -l

总用量 44

drw-r--r--    2 sam      adm          4096 10月 30 20:14 file6

-rw-r--r--    1 sam      adm         34890 10月 31 00:57 httpd1.conf

lrwxrwxrwx    1 sam      adm            10 10月 31 00:58 httpd2.conf ->; httpd.conf

发现,httpd2.conf实际已经不存在了,是断链,而httpd1.conf变也了普通文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值