<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • x
    x

    新手指導:Linux系統中硬鏈接與軟鏈接的區別

    發布時間:2014-6-10 12:01    發布者:edu118gct

    Linux鏈接分兩種,一種被稱為硬鏈接(Hard Link),另一種被稱為符號鏈接(Symbolic Link)。默認情況下,ln命令產生硬鏈接。
    【硬連接】
    硬連接指通過索引節點來進行連接。在Linux的文件系統中,保存在磁盤分區中的文件不管是什么類型都給它分配一個編號,稱為索引節點號(Inode Index)。在Linux中,多個文件名指向同一索引節點是存在的。一般這種連接就是硬連接。硬連接的作用是允許一個文件擁有多個有效路徑名,這樣用戶就可以建立硬連接到重要文件,以防止“誤刪”的功能。其原因如上所述,因為對應該目錄的索引節點有一個以上的連接。只刪除一個連接并不影響索引節點本身和其它的連接,只有當最后一個連接被刪除后,文件的數據塊及目錄的連接才會被釋放。也就是說,文件真正刪除的條件是與之相關的所有硬連接文件均被刪除。
    【軟連接】
    另外一種連接稱之為符號連接(Symbolic Link),也叫軟鏈接。軟鏈接文件有類似于Windows的快捷方式。它實際上產生一個特殊的文件,這個文件內容實際上就是要鏈接的原文件路徑的信息,即這個文件指向要鏈接文件的位置。執行軟鏈接文件后,系統自動跳到對應的文件位置處進行處理。而硬鏈接相當為文件開設一個新的路徑,硬鏈接與文件原有的名字是平權的,在Linux看來它們是等價的。舉個例子,你把dir1/file1硬鏈接到dir2/file2, 就是在dir2下建立一個dir1/file1的鏡像文件file2,它與file1是占用一樣大的空間的,并且改動兩者中的一個,另一個也會發生同樣的改動;诖,硬鏈接文件有兩個限制:
      1)、不允許給目錄創建硬鏈接;
      2)、只有在同一文件系統中的文件之間才能創建硬鏈接。
    通過實驗加深理解:
    [oracle@Linux]$ touchf1         #創建一個測試文件f1
    [oracle@Linux]$ ln f1 f2          #創建f1的一個硬連接文件f2
    [oracle@Linux]$ ln -s f1 f3      #創建f1的一個符號連接文件f3
    [oracle@Linux]$ ls-li             #-i參數顯示文件的inode節點信息
    total 0
    9797648 -rw-r--r--  2 oracleoinstall 0 Apr 21 08:11 f1
    9797648 -rw-r--r--  2 oracleoinstall 0 Apr 21 08:11 f2
    9797649 lrwxrwxrwx  1 oracleoinstall 2 Apr 21 08:11 f3 -> f1
    從上面的結果中可以看出,硬連接文件f2與原文件f1的inode節點相同,均為9797648,然而符號連接文件的inode節點不同。
    [oracle@Linux]$ echo "I am f1 file" >>f1
    [oracle@Linux]$ cat f1
    I am f1 file
    [oracle@Linux]$ cat f2
    I am f1 file
    [oracle@Linux]$ cat f3
    I am f1 file
    [oracle@Linux]$ rm -f f1
    [oracle@Linux]$ cat f2
    I am f1 file
    [oracle@Linux]$ cat f3
    cat: f3: No such file or directory
    【個人體會】
        軟鏈接是另一個文件,作用可以理解為一個指針,作用在這個文件上的操作除了刪除都直接轉向實際指向文件,由于是一個真實的文件所以占用磁盤空間
        硬鏈接可以認為不是一個文件,它只是實際文件的一個別名,它的作用是防止真實文件被誤操作,給一個文件建立硬鏈接后,他們互為別名,刪除其中任意一個,深圳專業嵌入式實訓QQ754634522
        只會刪除該別名,實際文件并不會被刪除。由于只是別名沒有任何其他信息,所以并不占用原始文件大小的磁盤空間。

    本文地址:http://www.portaltwn.com/thread-129960-1-1.html     【打印本頁】

    本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
    您需要登錄后才可以發表評論 登錄 | 立即注冊

    廠商推薦

    • Microchip視頻專區
    • EtherCAT®和Microchip LAN925x從站控制器介紹培訓教程
    • MPLAB®模擬設計器——在線電源解決方案,加速設計
    • 讓您的模擬設計靈感,化為觸手可及的現實
    • 深度體驗Microchip自動輔助駕駛應用方案——2025巡展開啟報名!
    • 貿澤電子(Mouser)專區
    關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
    電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
    快速回復 返回頂部 返回列表
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷