Linux中的文件與鏈接
Linux系統(tǒng)中的文件又:普通文件、目錄文件、鏈接文件、設(shè)備文件。
Linux中文件的元數(shù)據(jù)塊存放文件的屬性,文件數(shù)據(jù)塊存放文件真實內(nèi)容。元數(shù)據(jù)塊至少包含:文件名,文件數(shù)據(jù)塊的Inode編號。 ——參考博客
?
對于一個Inode指向的區(qū)域,只要還有文件的Inode指向該處,這個文件就還存在。刪除時,判斷指向該Inode的硬鏈接數(shù),若為0,則刪除該文件,否則刪除對應(yīng)的硬鏈接。
?
Ubuntu中的鏈接的特點 ——參考
鏈接分為軟鏈接和硬鏈接,都是使用ln命令生成的,,無論是軟鏈接還是硬鏈接,文件都保持同步變化。
硬鏈接:生成一個文件,該文件的Inode索引和源文件的Inode索引相同,所以是指向相同的文件。相當(dāng)于引用。
軟鏈接:生成一個文件,該文件的Inode與源文件不同,Inode指向的文件block內(nèi)會存有源文件的Inode。相當(dāng)于指針。
使用限制:不能對目錄、不同文件系統(tǒng)、不存在的文件創(chuàng)建硬鏈接,但軟鏈接都可以。
?
命令:
ln [-s] source target ? ?# 在target處建立一個source的鏈接;軟鏈接需要-s參數(shù),硬鏈接不用
#?source和target必須為絕對路徑,命令才能有效。
rm -rf path/to/target ? ?# 刪除軟鏈接,注意:target不能以斜杠'/'結(jié)尾 ——參考
?
eg:軟鏈接
sudo ln -s full_source_path /usr/lib # 注意源路徑寫完整的,不以“/”結(jié)尾
sudo ldconfig # 使生效
ll /usr/lib # 查看相關(guān)鏈接
sudo rm -rf /usr/lib/xxx # 刪除鏈接文件,不影響源目錄
sudo rm -rf /usr/lib/xxx/ # 刪除鏈接文件指向的源目錄下的文件,鏈接不受影響
** 即 target是軟鏈接,target/指向鏈接指向的內(nèi)容?
鏈接:https://www.dianjilingqu.com/471478.html