php 删除硬链接,为什么要用软链接硬链接
http://bbs.chinaunix.net/forum/viewtopic.php?t=434579&show_type=&postdays=0&postorder=asc&start=30
俺的貼子里有這段,摘抄過(guò)來(lái)
符號(hào)鏈接
存在兩種不同類(lèi)型的鏈接,軟鏈接和硬鏈接。修改其中一個(gè),硬連接指向的是節(jié)點(diǎn)(inode),而軟連接指向的是路徑(path)
軟鏈接文件
軟鏈接又叫符號(hào)鏈接,這個(gè)文件包含了另一個(gè)文件的路徑名。可以是任意文件或目錄,可以鏈接不同文件系統(tǒng)的文件。和win下的快捷方式差不多。鏈接文件甚至可以鏈接不存在的文件,這就產(chǎn)生一般稱(chēng)之為"斷鏈"的問(wèn)題(或曰“現(xiàn)象"),鏈接文件甚至可以循環(huán)鏈接自己。類(lèi)似于編程語(yǔ)言中的遞歸。
命令格式:
代碼:
ln [-s] source_path target_path
硬鏈接文件
info ln 命令告訴您,硬鏈接是已存在文件的另一個(gè)名字,硬連接的命令是
代碼:
ln -d existfile newfile
引用:
硬鏈接文件有兩個(gè)限制
1、不允許給目錄創(chuàng)建硬鏈接;
2、只有在同一文件系統(tǒng)中的文件之間才能創(chuàng)建鏈接。
對(duì)硬鏈接文件進(jìn)行讀寫(xiě)和刪除操作時(shí)候,結(jié)果和軟鏈接相同。但如果我們刪除硬鏈接文件的源文件,硬鏈接文件仍然存在,而且保留了愿有的內(nèi)容。這時(shí),系統(tǒng)就“忘記”了它曾經(jīng)是硬鏈接文件。而把他當(dāng)成一個(gè)普通文件。修改其中一個(gè),與其連接的文件同時(shí)被修改
代碼:
$umask 022
$ cp /etc/httpd/conf/httpd.conf /usr/sam
原來(lái)前面做的試驗(yàn),改變了系統(tǒng)默認(rèn)的umask值,現(xiàn)在改回來(lái)為022,
舉個(gè)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,軟連接只產(chǎn)生了10字節(jié)的快捷而已,硬連接卻實(shí)實(shí)在在的的拷貝。最前面的inode硬鏈接和源文件是一樣的,而軟鏈接不一樣,具體看一下回復(fù)
對(duì)http1.conf進(jìn)行編輯,可以發(fā)現(xiàn)httpd.conf也發(fā)生了一樣的變化
代碼:
$ rm httpd.conf
現(xiàn)在刪除鏈接的源文件,來(lái)比較不同之處
代碼:
$ 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
發(fā)現(xiàn),httpd2.conf實(shí)際已經(jīng)不存在了,是斷鏈,而httpd1.conf變也了普通文件
總結(jié)
以上是生活随笔為你收集整理的php 删除硬链接,为什么要用软链接硬链接的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: php自定义中文分词方法,php实现的中
- 下一篇: php7.2 加载pgsql驱动,PHP