軟鏈接和硬鏈接詳解

    • 軟連接和硬鏈接圖解

    • 硬鏈接

    • 符號鏈接

    • 軟鏈接和硬鏈接詳解

軟鏈接和硬鏈接詳解

Linux下的鏈接文件有點類似于Windows的快捷方式,但又不完全一樣。鏈接文件有兩種:一種是硬鏈接,另一種是符號鏈接(又稱軟鏈接)。

UNIX文件系統提供了一種將不同文件鏈接至同一個文件的機制,我們稱這種機制為鏈接。它可以使得單個程序對同一文件使用不同的名字。這樣的好處是文件系統只存在一個文件的副本,系統簡單地通過在目錄中建立一個新的登記項來實現這種連接。

軟連接和硬鏈接圖解

QQ截圖20160905030801.png

硬鏈接

硬鏈接是通過索引節點進行的鏈接。 該登記項具有一個新的文件名和要連接文件的inode 號,文件的目錄登記項就是所謂的文件硬鏈接(硬鏈接,目錄登記項: 文件名‐‐>文件的inode;文件名可以有多個,但文件inode 只是一個)。不論一個文件有多少硬鏈接,在磁盤上只有一個描述它的inode, 只要該文件的鏈接數不為0,該文件就保持存在。硬鏈接不能跨越文件系統,為避免無限遞歸,一般也不能在目錄上建立hard link。 硬連接是直接建立在節點表上的(inode),建立硬連接指向一個文件的時候,會更新節點表上面的計數值。舉個例子,一個文件被連接了兩次(硬連接),這個文件的計數值是3,而無論通過3個文件名中的任何一個訪問,效果都是完全一樣的,但是如果刪除其中任意一個,都只是把計數值減1,不會刪除實際的內容的,(任何存在的 文件本身就算是一個硬連接)只有計數值變成0也就是沒有任何硬連接指向的時候才會真實的刪除內容。對任何一個硬鏈接文件修改,都會對原文件進行修改。

硬鏈接可由命令 link 或 ln 創建,如:

link oldfile newfile 
ln oldfile newfile

符號鏈接

軟鏈接(也叫符號鏈接)它是指向另一個文件的特殊文件,這種文件的數據部分僅包含它所要鏈接文件的路徑名。軟鏈接是為了克服硬鏈接的不足而引入的,軟鏈接不直接使用inode 號作為文件指針,而是使用文件路徑名作為指針(軟鏈接:文件名+數據部分‐‐>目標文件的路徑名)。軟件有自己的inode,并在磁盤上有一小片空間存放路徑名。因此,軟鏈接能夠跨文件系統,也可以和目錄鏈接; 其二,軟鏈接可以對一個不存在的文件名進行鏈接,但直到這個名字對應的文件被創建后,才能打開其鏈接。當軟鏈接指向的文件刪除重命名或移動后,軟鏈接并不會發生更新,會維持原來的值不變。

例如某個文件文件系統空間已經用完了,但是現在必須在該文件系統下創建一個新的目錄并存儲大量的文件,那么可以把另一個剩余空間較多的文件系統中的目錄鏈接到該文件系統中,這樣就可以很好的解決空間不足問題。刪除軟鏈接并不影響被指向的文件,但若被指向的原文件被刪除,則相關軟連接就變成了死鏈接。

使用-s選項的ln命令即可創建符號鏈接,命令如下:

ln -s old.file soft.link
ln -s old.dir soft.link.dir

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

(1)
M20_heM20_he
上一篇 2016-09-06 08:51
下一篇 2016-09-06 08:51

相關推薦

  • Nginx及Nginx模塊——更加輕量級的HTTP server

    Nginx engine X = Nginx      NGINX is a free, open-source, high-performance HTTP server and reverse proxy, as well as an IMAP/POP3 proxy server. NGINX is known f…

    Linux干貨 2016-10-25
  • CentOS7內核編譯

    一.centos7內核編譯(支持ntfs文件系統) 1.下載內核源代碼內核文件(https://www.kernel.org/) 2.解壓縮源代碼文件到指定目錄 tar xvf linux-4.8.10.tar.xz -C /usr/src 3.創建軟鏈接解壓后的文件 cd /usr/src ln -s linux-4.8.10/ linux 4.復制當前系…

    Linux干貨 2016-11-28
  • 操作系統,內核以及硬件之間的關系

    一般我們將計算機系統區分為硬件系統與軟件系統構成。 計算機硬件我們可以分成5大組件構成,即: 1)計算器:用于數據計算,如:CPU 2)控制器:控制數據流和指令流,與各個組件之間進行數據交互,并控制協調各個組件之間協同工作,如:主板的南橋,內橋,各個組件自身的獨立控制芯片等 3)存儲器:用戶數據的存放,如:一級/二級等內存芯片;flash芯片 4)輸入設備:…

    Linux干貨 2016-10-26
  • bind的安裝實現

    首先介紹一下我的測試環境:centos 7+入網(為了試行一下自己的安裝文檔,才裝的虛擬機) 1> yum install bind bind-chroot -y     因為剛剛安裝的虛擬機,這里我就不檢查了; 2>vim named.conf [root@localhost named]# cat /e…

    Linux干貨 2016-03-20
  • N22+張zhangzhang+第6周博客作業

    請詳細總結vim編輯器的使用并完成以下練習題   vim編輯器是vi編輯器的增強版,是全屏文本編輯器,用于完成文本的輸出、刪除、查找、替換、塊操作等眾多功能。一般分三種模式:編輯模式、輸入模式、末行模式。 vim各種按鍵的功能 編輯模式: 1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以…

    Linux干貨 2016-09-20
  • 第八周網絡基礎以及腳本聯系

    1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。 ![](http://i.imgur.com/5u2IMF8.png) 三層交換機:將路由技術和交換技術合二為一的技術,當對第一次數據流進行路由后,會產生一個MAC地址與IP地址相對應的映射表,當同樣的數據流再次通過時,將根據映射表進行數據交換而不在進行路由。 路由器:工作于網絡…

    Linux干貨 2017-03-30
欧美性久久久久