Linux 軟硬連接詳解

軟連接

軟連接: 相似於windows的快捷方式,—>文本文件,可是包含了真實文件的地址
               源文件刪除,則軟鏈接也刪除
               軟連接能夠放在任何文件系統
               目錄能夠建立軟鏈接 --> 和源文件不一樣的文件,由於軟鏈接目錄能夠放在任何地方
       html

 命令:[root@localhost omc]# ln -s ftl/ ftl.soft   (第一個參數表示源文件,inittab.soft表示快捷方式)
 查看:[root@localhost omc]# readlink ftl.soft  (目標文件不能事先存在,須要ln命令建立)
 刪除軟鏈接::[root@localhost omc]#  rm -f oldboy_soft_link

硬連接

硬連接:硬連接(Inode一致)與真實文件的大小和建立日期徹底相同(相同inode號),相似於copy,同步更新。node

                 經過inode索引連接,硬連接多個文件名指向同一個索引,至關於文件的入口,硬連接一個文件有多個入口,至關於文件備份shell

原理:經過命令ls –i ,發現硬連接文件和源文件的i結點數字相同,而內核是根據文件的i結點來標識文件的,這兩個文件的i結點相同,全部被認爲是一個文件,全部同時寫入和修改數據。
       硬連接不能跨文件系統,即不能跨分區,相似於windows內不能將C盤的硬連接放在D盤。windows

 與拷貝區別:拷貝與真實文件的建立日期不一樣
       硬連接屬於複製,源文件刪除不影響硬連接
       當全部的硬連接和源文件被刪除以後,再放入新的數據佔用此空間、磁盤檢測,刪除的數據會被回收
       能夠經過設置硬連接,防止文件被誤刪除
       注意目錄不作硬連接spa

命令: ln /etc/inittab /test/inittab.hard
查看: ls -l /etc/inittab /test/inittab.hard
查看全部文件的inode: find / -type f | xargs ls -lhi | more

 

文件連接

文件連接的小結:
       -1.ln 默認不帶參數到的狀況下,建立硬連接, -s  表示建立軟鏈接
        0.軟鏈接能夠經過readlink 查看其指向
        1.刪除軟鏈接對原文件和硬連接文件無影響
        2.刪除硬連接對源文件和軟鏈接文件無影響
        3.刪除原文件,對硬連接沒影響,可是會致使軟鏈接失效
        4.同時刪除源文件,硬連接,會致使整個文件被刪除(沒有後臺進程調用的話)
        5.硬件設備的拍照功能就是應用了硬連接的原理
        6.硬連接和源文件有相同的inode,能夠認爲是同一個文件或者是同一個文件的多個入口
        7.同時刪除硬連接以及源文件,整個文件纔會被刪除
        8.軟鏈接和源文件有不一樣的inode,是由於建立了2個不一樣的文件,至關於快捷方式,還有源文件的位置指向
        9.軟鏈接是一個新文件,裏面記錄了原文件的路徑,軟鏈接的名稱必須由ln建立,不能事先存在htm

目錄連接

目錄連接的小結:
        1.對於目錄,不能建立硬連接,能夠建立軟鏈接
            默認爲2【
                1.建立的目錄自己爲一個硬連接。
                2.新目錄ett下的隱藏目錄.(點號)爲建立的新目錄的又一個硬連接,也算一個連接數
                  所以,硬連接數是2】
          硬連接不能跨文件系統  (若是2個文件系統的時候,inode會不同,因此不容許)
        2.對於目錄能夠建立軟鏈接,由於軟鏈接能夠跨系統,至關於目錄的快捷方式,有一個新的inode
        3.目錄的硬連接不能跨越文件系統(硬連接原理上)
        4.每一個目錄下面有一個硬連接符號 .  ,和對應上級目錄的硬連接 .. 
        5.在父目錄裏面建立一個子目錄,父目錄的連接數目增長1(多了一個..來指向父目錄)
            可是建立文件,連接數目不會增長(文件內不會有..來指向上層目錄)blog

相關文章
相關標籤/搜索