php 删除硬链接,为什么要用软链接硬链接
http://bbs.chinaunix.net/forum/viewtopic.php?t=434579&show_type=&postdays=0&postorder=asc&start=30
俺的貼子里有這段,摘抄過來
符號鏈接
存在兩種不同類型的鏈接,軟鏈接和硬鏈接。修改其中一個,硬連接指向的是節點(inode),而軟連接指向的是路徑(path)
軟鏈接文件
軟鏈接又叫符號鏈接,這個文件包含了另一個文件的路徑名??梢允侨我馕募蚰夸?#xff0c;可以鏈接不同文件系統的文件。和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變也了普通文件
總結
以上是生活随笔為你收集整理的php 删除硬链接,为什么要用软链接硬链接的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php自定义中文分词方法,php实现的中
- 下一篇: php7.2 加载pgsql驱动,PHP