Ⅰ linux硬鏈接和軟鏈接的區別
在Linux系統中,鏈接分為兩種,一種是硬鏈接(Hard link),另一種稱為符號鏈接或軟鏈接(Symbolic Link)。
①默認不帶參數的情況下,ln創建的是硬鏈接,帶-s參數的ln命令創建的是軟鏈接。
②硬鏈接文件與源文件的inode節點號相同,而軟鏈接文件的inode節點號,與源文件不同,
③ln命令不能對目錄創建硬鏈接,但可以創建軟鏈接。對目錄的軟鏈接會經常使用到。
④刪除軟鏈接文件,對源文件和硬鏈接文件無任何影響。
⑤刪除文件的硬鏈接文件,對源文件及軟鏈接文件無任何影響。
⑥刪除鏈接文件的源文件,對硬鏈接文件無影響,會導致其軟鏈接失效(紅底白字閃爍狀)。
⑦同時刪除源文件及其硬鏈接文件,整個文件才會被真正的刪除。
⑧很多硬體設備的快照功能,使用的就是類似硬鏈接的原理。
⑨軟鏈接可以跨文件系統,硬鏈接不可以跨文件系統。
Ⅱ Linux下軟鏈接和硬鏈接的區別是什麼
要深入理解軟鏈接和硬鏈接,那麼得先理解文件系統;
所以我只能粗略解釋下軟鏈接和硬鏈接;
硬鏈接:大小和block以及inode號都相同; 那麼說明他們根本就是同一個文件; 打個比方: 從上海坐飛機去北京, 飛機可以直飛北京, 也可以先去紐約轉一圈到北京, 這個就不同的飛行路線就是路徑, 但是目的都是相同的---北京(文件位置);;;
軟鏈接: 大小和block以及inode號都不同, 那麼說明他們根本就不是同一個文件, 那麼軟鏈接存放的是什麼呢? 存放的就是如何從上海到北京的路線(比如是從上海到紐約然後目標是北京的路線); 所以它得先到上海然後才能坐飛機到北京;
從上面的飛機例子中可以得出一個特性: 硬鏈接必須是上海到北京; 即: 必須是同一個文件系統;
軟體可以是其他地方到上海然後坐飛機到北京; 可以他可以在不同的文件系統;
stat filename 這個命令記住; 看看Inode號, 就能知道硬鏈接和軟鏈接是什麼了; Inode對於文件系統非常重要; Inode是一個文件的元數據, 如果相同的; 那麼根本就是同一個文件;;;
所以硬鏈接不是文件的復制2份; 說實話我不知道快捷方式的原理, 因為我沒有去解讀過NTFS文件系統; 所以軟鏈接是不是快捷方式我不好說, 但是軟鏈接其實就是存放著另一個文件的路徑的文件;;
Ⅲ linux 軟連接和硬鏈接的區別
軟鏈接:
1.軟鏈接,以路徑的形式存在。類似於Windows操作系統中的快捷方式
2.軟鏈接可以 跨文件系統 ,硬鏈接不可以
3.軟鏈接可以對一個不存在的文件名進行鏈接
4.軟鏈接可以對目錄進行鏈接
硬鏈接:
1.硬鏈接,以文件副本的形式存在。但不佔用實際空間。
2.不允許給目錄創建硬鏈接
3.硬鏈接只有在同一個文件系統中才能創建