相關概念:
鏈接:簡單說,鏈接就是一種文件共享的方式,是POSIX中的概念,主流文件系統都支持鏈接文件。
inode:在Linux文件系統中,保存在磁盤的上的文件不管是什么類型,都給他分配一個編號,稱為索引節點號inode。
Linux用ln命令創建軟、硬鏈接。
1、軟鏈接
創建軟鏈接:ln -s 源文件 軟鏈接文件
示例:在/opt目錄下創建一個/tmp/test文件的軟鏈接slnfile1
總結:
1、軟鏈接相當於Windows的快捷方式
2、軟鏈接里面存放的是源文件的路徑,指向源文件
3、刪除源文件,軟鏈接文件依然存在,但是無法通過軟鏈接訪問源文件,已經失效,並且白字紅底閃爍
4、軟鏈接和源文件是不通的文件,iNode號不同,文件類型也不同
5、所有連接文件的權限都是777,而實際權限是由鏈接指向的源文件權限決定的
2、硬鏈接
創建硬鏈接:ln 源文件 硬鏈接文件
示例:在/opt目錄下創建/tmp/test文件的硬鏈接hlnfile1
總結:
1、具有相同iNode節點號的多個文件,互為硬鏈接文件
2、刪除硬鏈接文件或者源文件任意之一,文件實體並未被刪除,只有刪除了所有硬鏈接文件和源文件,文件實體才被刪除
3、硬鏈接文件只是文件的另一個入口
4、鏈接文件和源文件屬性相同
5、不能跨分區,不能對目錄使用
3、硬鏈接和軟鏈接區別
1、軟鏈接其實就是創建一個新文件,這個文件就是用來指向其他文件的,軟鏈接文件的inode號跟源文件的inod不同
2、硬鏈接是不會創建inode號的,他只是在源文件的inode link count域里再增加1,因此硬鏈接不可以跨文件系統,軟鏈接可以
3、硬鏈接是一個文件別名
4、硬鏈接不可以對不存在的文件和目錄創建,軟鏈接可以