軟鏈接與硬鏈接的區別

  這兩牽扯到鏈接,那么先介紹以下鏈接。

  在文件系統中,有一種可以把不同的文件相連接到一起的機制,這個機制叫做鏈接。通俗的話來說就是打開兩個不同的文件夾,其實進去的是同一個。它可以把一個文件用不同的名字和路徑來表示出來。系統通過inode(索引節點,文件唯一標識)來識別是否為同一個文件,無論系統上有有多少個鏈接,在磁盤上只有一個唯一的inode,只要這個文件的的鏈接數不為0,那么這個文件件的inode會一直存在,文件會一直保存。

 

例如用ls-l可以查看文件的詳情:

軟鏈接與硬鏈接的區別

在這文件中,綠色的3txt與2.txt構成了一個鏈接。在Linux中->就代表著鏈接。

硬鏈接:

   硬鏈接就相當于一個指針,指向文件的索引節點,系統并不會為他重新分配新的inode,但是沒添加一個硬鏈接,文件鏈接數會加一。

   硬鏈接允許一個文件同時又多個路徑名,用戶只刪除一個硬鏈接并不影響這個文件的inode與其他相連接,只有最后一個鏈接被刪除后,這個文件的inode就釋放,數據塊就保持在空閑狀態允許被寫入。用這種硬鏈接可以有效的防止誤刪除。但是硬鏈接不能跨分區創建,不再同一個分區是無法直接與數據塊的inode相連接。也不允許給目錄創建硬鏈接。在創建硬鏈接時可以相對于當前路徑去創建,每創建一個硬鏈接就會會增加額外的記錄項以引用文件。硬鏈接也不會占用節點號,但會增加鏈接數。同一個文件無論創建多少個硬鏈接,他們的屬性都是完全相同的,這相當于是一個物理文件的不同名字。就像我們人一樣,一個人可以有多個名字,無論你叫什么名字,你還是你,你自己的屬性是不會改變的,總不會換一個名字就瘦了幾斤或者長高了吧。


語法:

                            ln  filename [linkname]

軟鏈接:

    又被稱作為符號鏈接。軟鏈接我們可以理解為windowx的快捷方式,相信大家都用過吧。創建一個軟鏈接其實就是創建一個特殊的文件,這個文件內容就是這個鏈接的信息。軟鏈接文件的大小就是這個路徑的大小。軟鏈接就是一個位置的處理,跟硬鏈接有本質的區別。舉個例子:當你對A創建一個軟鏈接,然后把A文件刪除了,那時這個鏈接并不會一起唄刪除,只是失效了。當你再重新在原來的地方創建一個以A命名的文件,再使用原來這個軟鏈接。你會發現,又連接進了新建的這個A文件里了。說明軟鏈接并不指定文件,而是指定的位置,等于給這個位置創建了另一條路徑。就相當于家房子的地址如果你搬家不住這了那么這個地址會不被你使用了,并不是這個地址就不存在了。當小明買了你家的房子住進去后,這個地址就會變為他們家的地址。所以軟鏈接就是一個鏈接符,指向了一個地址而已。創建軟鏈接后文件的鏈接數不會增長,不會增加目標inode的引用計數,因為只是指向一個地址,所以軟鏈接不但可以連接目錄而且還能跨分區進行連接。

語法:

       ln -s filename [linkname]

原創文章,作者:phosphor,如若轉載,請注明出處:http://www.www58058.com/76850

(0)
phosphorphosphor
上一篇 2017-05-25 09:16
下一篇 2017-05-25 10:49

相關推薦

  • 創建,擴展,縮減LVM2及快照

    相關概念     lvm英文 Logical Volume Manager,邏輯卷管理類似于raid,但又有別于raid, 它是能夠將一個或多個底層塊設     備組織成一個邏輯設備的模塊不具備容錯功能,任一設備損壞或分區損壞,對數據是致命的;它主要有三個部分…

    Linux干貨 2016-02-14
  • 第四周博客作業

    趁著這幾天有時間,先把第四周的作業寫了,好在沒有什么新的知識點考核?! ?、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 [root@localhost ~]# cp -r /etc/skel/ /home/tuser1 […

    Linux干貨 2016-12-21
  • M20 – 1- 第二周(1):課堂練習與作業

    課堂練習:  1、字符終端登錄時,顯示當前登錄終端號,主機名和當前時間 [root@centos6 ~]# tty             #顯示當前終端號 /dev/pts/0 [root@cent…

    Linux干貨 2016-08-02
  • 馬哥教育網絡班21期+第9周課程練習

    1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現; #!/bin/bash while read line; do     if [[ $line&n…

    Linux干貨 2016-09-06
  • 分布式文件系統MogileFS

    1、分布式系統的目標:加強A、P,在C上進行妥協 ? ? BASE模型 CAP理論: C:Consistency(一致性)? 任何一個讀操作總是能夠讀取之前完成的寫操作。 A:Availability(可用性) 每一次操作總是能夠在確定的時間返回。 P: Partition Tolerance ( 分區容錯性 )?? 在出現網絡分區的情況下,仍然能夠滿足一致…

    2017-11-23
  • Linux系統的終端類型

    Linux系統的終端類型    Linux系統的終端主要包括控制臺終端、控制終端、串口終端、偽終端、虛擬終端。 1.  控制臺終端(/dev/console)。    在Unix系統中,計算機顯示器通常被稱為控制臺終端。Console與虛擬終端相關聯,內核將信息送到控制臺終端上(/dev/conso…

    Linux干貨 2015-09-14
欧美性久久久久