1. 程式人生 > >Linux軟連線和硬連結———最精闢的分析

Linux軟連線和硬連結———最精闢的分析

1.Linux連結概念
Linux連結分兩種,一種被稱為硬連結(Hard Link),另一種被稱為符號連結(Symbolic Link)。預設情況下,ln命令產生硬連結。

【硬連線】
硬連線指通過索引節點來進行連線。在Linux的檔案系統中,儲存在磁碟分割槽中的檔案不管是什麼型別都給它分配一個編號,稱為索引節點號(Inode Index)。在Linux中,多個檔名指向同一索引節點是存在的。一般這種連線就是硬連線。硬連線的作用是允許一個檔案擁有多個有效路徑名,這樣使用者就可以建立硬連線到重要檔案,以防止“誤刪”的功能。其原因如上所述,因為對應該目錄的索引節點有一個以上的連線。只刪除一個連線並不影響索引節點本身和其它的連線,只有當最後一個連線被刪除後,檔案的資料塊及目錄的連線才會被釋放。也就是說,檔案真正刪除的條件是與之相關的所有硬連線檔案均被刪除。

【軟連線】
另外一種連線稱之為符號連線(Symbolic Link),也叫軟連線。軟連結檔案有類似於Windows的快捷方式。它實際上是一個特殊的檔案。在符號連線中,檔案實際上是一個文字檔案,其中包含的有另一檔案的位置資訊。

2.通過實驗加深理解

[[email protected]]$ touch f1          #建立一個測試檔案f1
[[email protected]]$ ln f1 f2          #建立f1的一個硬連線檔案f2
[[email protected]]$ ln -s f1 f3       #建立f1的一個符號連線檔案f3
[
[email protected]
]$ ls -li # -i引數顯示檔案的inode節點資訊 total 0 9797648 -rw-r--r-- 2 oracle oinstall 0 Apr 21 08:11 f1 9797648 -rw-r--r-- 2 oracle oinstall 0 Apr 21 08:11 f2 9797649 lrwxrwxrwx 1 oracle oinstall 2 Apr 21 08:11 f3 -> f1


從上面的結果中可以看出,硬連線檔案f2與原檔案f1的inode節點相同,均為9797648,然而符號連線檔案的inode節點不同。

[[email protected]]$ echo "I am f1 file" >>f1
[[email protected]]$ cat f1
I am f1 file
[[email protected]]$ cat f2
I am f1 file
[[email protected]]$ cat f3
I am f1 file
[[email protected]]$ rm -f f1
[[email protected]]$ cat f2
I am f1 file
[[email protected]]$ cat f3
cat: f3: No such file or directory


通過上面的測試可以看出:當刪除原始檔案f1後,硬連線f2不受影響,但是符號連線f1檔案無效

3.總結
依此您可以做一些相關的測試,可以得到以下全部結論:
1).刪除符號連線f3,對f1,f2無影響;
2).刪除硬連線f2,對f1,f3也無影響;
3).刪除原檔案f1,對硬連線f2沒有影響,導致符號連線f3失效;
4).同時刪除原檔案f1,硬連線f2,整個檔案會真正的被刪除。

轉載自:http://www.cnblogs.com/itech/archive/2009/04/10/1433052.html

相關推薦

Linux連線連結———精闢分析

1.Linux連結概念 Linux連結分兩種,一種被稱為硬連結(Hard Link),另一種被稱為符號連結(Symbolic Link)。預設情況下,ln命令產生硬連結。 【硬連線】 硬連線指通過索引節點來進行連線。在Linux的檔案系統中,儲存在磁碟分割槽中的檔案不管是什

linux 連線連結

1.軟連結: 建立軟連結:ln -s /usr/local/node-v4.2.6-linux-x86/bin/node /usr/local/bin/node 解釋:將/usr/local/node-v4.2.6-linux-x86/bin/下的node對

Linux連線連結

Linux連結概念 連結——是一種在共享檔案和訪問它的使用者的若干目錄項之間建立聯絡的一種方法。 Linux連結分兩種,一種被稱為硬連結(Hard Link),另一種被稱為符號連結(Symbolic Link)。預設情況下,ln命令產生硬連結。 硬連結

linux 連線連結的區別

4點不同 : (1)軟連線可以 跨檔案系統 ,硬連線不可以 。實踐的方法就是用共享檔案把windows下的 aa.txt文字文件連線到linux下/root目錄 下 bb,cc . ln -s aa.txt /root/bb 連線成功 。ln aa.txt /root/bb

Linux連線連結的區別

什麼是連結? 連結簡單說實際上是一種檔案共享的方式,是 POSIX 中的概念,主流檔案系統都支援連結檔案。 它是用來幹什麼的? 你可以將連結簡單地理解為 Windows 中常見的快捷方式(或是 OS X 中的替身),Linux 中常用它來解決一些庫版本的問題,通常也

詳解Linux系統中連線連結的區別與聯絡

Linux 系統中有軟連線和硬連結兩種特殊的“檔案”。 其中軟連線實際上可以看作是Windows中的快捷方式,而硬連結則可以看作類似於一個檔案的 “指標”(也不完全相同) 。 建立方法都很簡單: 1. 軟連線(符號連結) ln -s   source  target  2

連線連結的區別是什麼?

軟連線和硬連結的區別: 兩個檔案若互為對方的硬連結,則這兩個檔案指向同一個 inode,如果刪除了其中一個,對另外一個沒有影響。 每增加一個硬連結,inode 節點上的連結數增加一,每刪除一個硬連結,inode 節點上的連結數減一,直到為 0,inode 節點和對應的資

win7下ntfs檔案系統的連線連結

Windows 7下的mklink命令通過指定引數可以建立出不同形式的檔案或目錄連結,分為硬連結(hard link)、符號連結(symbolic link)和軟連結(目錄聯接)(junction)三種。 1.符號連結(symbolic link) 相當於快捷方式   建立

linux連線連結的本質區別

軟連線跟硬連結最大的區別在於: 1.檔案A和檔案B的inode號碼一樣,對檔案內容進行修改,會影響到所有檔名;但是,刪除一個檔名,不影響另一個檔名的訪問。這種情況就被稱為"硬連結"(hard link)。2.檔案A和檔案B的inode號碼雖然不一樣,但是檔案A的內容是檔案B

Linux檔案連結命令 連線連結

ln命令   該命令在檔案之間建立連結。這種操作實際上是給系統中已有的某個檔案指定另外一個可用於訪問它的名稱。對於這個新的檔名,我們可以為之指定不同的訪問許可權,以控制對資訊的共享和安全性的問題。 如果連結指向目錄,使用者就可以利用該連結直接進入被連結的目錄而不用打一大堆的路

連線連結

開發十年,就只剩下這套架構體系了! >>>   

Linux連線(Symbolic Link)連結(Hard Link)的區別(轉)

Linux連結分兩種,一種被稱為硬連結(Hard Link),另一種被稱為符號連結(Symbolic Link)。預設情況下,ln命令產生硬連結。--硬連線硬連線指通過索引節點來進行連線。在Linux的檔案系統中,儲存在磁碟分割槽中的檔案不管是什麼型別都給它分配一個編號,稱為索引節點號(Inode Inde

linux連結連結的區別與小結

首先我們需要了解linux下硬連結以及軟連線的基本概念. 硬連結:新建的檔案是已經存在的檔案的一個別名,當原檔案刪除時,新建的檔案仍然可以使用. 軟連結:也稱為符號連結,新建的檔案以“路徑”的形式來表示另一個檔案,和Windows的快捷方式十分相似,新建的軟連結可以指向不存在的檔案. 下

LInux連結連結的建立、刪除

軟連結:     1.以路徑的形式存在     2.軟連結可以跨檔案系統,硬連結不可以     3.軟連結可以對一個不存在的檔名進行連結     4.軟連結可以對

Linux連結連結簡單指引

在Linux中的連結方式有兩種,軟連結和硬連結。 軟連結的方式 link -s /home/hadoop/aaa.txt /home/aaa.txt 這種連結方式,相當於建立一個快捷方式,我可以使

Linux檔案系統----連結連結

更多Linux檔案系統知識:Linux檔案系統-----基礎IO Linux檔案系統的認知 1、Linux系統下一切皆檔案 現代作業系統為解決資訊能獨立於程序之外被長期儲存引入了檔案,檔案作為程序建立資訊的邏輯單元可被多個程序併發使用。在 UNIX 系統中,作業

linux 連線 連結

  建立一個檔案的過程:     先問super block獲取inode編號,然後把建立的檔案和inode進行繫結。 刪除一個檔案的過程:     先要釋放要刪除檔案的inode編號,然後解除檔案與inode的關係,再

linux連結連結

                簡而言之:軟連結相當於windows中的快捷方式硬連結相當於一個災備系統,資料存放在兩處,與複製不同的是兩處之間存在同步機制,一處資料的改變會實時同步到另一處,另外一處資料如果被刪除了,不會影響到另一處的資料.下面是詳細的介紹: 存在兩種不同型別的連結,軟連結和硬連結。修改其中

Linux學習筆記 連結連結

Linux 中,“everything is file”。接下來給大家介紹 linux 如何通過連結,達到節省磁碟空間、共享檔案等目的。連結檔案有兩種方式,軟連結(soft link)和硬連結(hard link)。 考慮這幾個場景。 1) 假如你在 Linux 系統中有一堆媒體檔案,你想將他們分

Linux檔案系統簡介連結連結的區別

Linux有著極其豐富的檔案系統,大體可分為如下幾類: 網路檔案系統:如nfs、cifs等; 磁碟檔案系統:如ext3、ext4等; 特殊檔案系統:如prco、sysfs、ramfs、tmpfs等; 一、Linux系統中一切皆檔案(除程序以外) Linux系統的頂層目錄結構如下 1 /