1. 程式人生 > >Linux檔案連結命令 軟連線與硬連結

Linux檔案連結命令 軟連線與硬連結

ln命令 
  該命令在檔案之間建立連結。這種操作實際上是給系統中已有的某個檔案指定另外一個可用於訪問它的名稱。對於這個新的檔名,我們可以為之指定不同的訪問許可權,以控制對資訊的共享和安全性的問題。 如果連結指向目錄,使用者就可以利用該連結直接進入被連結的目錄而不用打一大堆的路徑名。而且,即使我們刪除這個連結,也不會破壞原來的目錄。 
  語法:ln [選項] 目標 [連結名] 
  ln [選項] 目標 目錄 
  連結有兩種,一種被稱為硬連結(Hard Link),另一種被稱為符號連結(Symbolic Link)。建立硬連結時,連結檔案和被連結檔案必須位於同一個檔案系統中,並且不能建立指向目錄的硬連結。而對符號連結,則不存在這個問題。預設情況下,ln產生硬連結。 
  在硬連結的情況下,引數中的“目標”被連結至[連結名]。如果[連結名]是一個目錄名,系統將在該目錄之下建立一個或多個與“目標”同名的連結檔案,連結檔案和被連結檔案的內容完全相同。如果[連結名]為一個檔案,使用者將被告知該檔案已存在且不進行連結。如果指定了多個“目標”引數,那麼最後一個引數必須為目錄。 
  如果給ln命令加上- s選項,則建立符號連結。如果[連結名]已經存在但不是目錄,將不做連結。[連結名]可以是任何一個檔名(可包含路徑),也可以是一個目錄,並且允許它與“目標”不在同一個檔案系統中。如果[連結名]是一個已經存在的目錄,系統將在該目錄下建立一個或多個與“目標”同名的檔案,此新建的檔案實際上是指向原“目標”的符號連結檔案。 

================================================================

對於一個檔案來說,有唯一的索引接點(inode)與之對應,而對於一個索引接點號,卻可以有多個檔名與之對應。因此,在磁碟上的同一個檔案可以通過不同的路徑去訪問該檔案。注意在Linux下是一切皆檔案的啊,資料夾、新加的硬碟 ...都可以看著檔案來處理的啊。
    連線有軟連線和硬連線(hard link)之分的,軟連線(symbolic link)又叫符號連線。符號連線相當於Windows 下的快捷方式。
*************************** 不可以對  資料夾/目錄  建立硬連線的,我們通常用的還是軟連線比較多。    
    
eg:
    ln -s source dist        # 建立軟連線
    ln source dist            # 建立硬連線
 
    它們到底有什麼區別呢?上次也好好的看了,好象同文件系統的結構有一定的關係,沒怎麼太詳細的研究下次看明白了再加上。

----------------------
    軟連結實際上只是一段文字,裡面包含著它所指向的檔案的名字,系統看到軟連結後自動跳到對應的檔案位置處進行處理;相反,硬連結為檔案開設一個新的目錄項,硬連結與檔案原有的名字是平權的,在Linux看來它們是等價的。由於這個原因,硬連結不能連線兩個不同檔案系統上的檔案。
 
軟連線與windows下的快捷方式類似

至於硬連線,舉個例子說吧,你把dir1/file1硬連線到dir2/file2, 就是在dir2下建立一個dir1/file1的映象檔案file2,它與file1是佔用一樣大的空間的,並且改動兩者中的一個,另一個也會發生同樣的改動.

軟連線和硬連線可以這樣理解:
硬連線就像一個檔案有多個檔名,
軟連線就是產生一個新檔案(這個檔案內容,實際上就是記當要連結原檔案路徑的資訊),這個檔案指向另一個檔案的位置,
硬連線必須在同一檔案系統中,而軟連線可以跨檔案系統

硬連線 :原始檔名和連結檔名都指向相同的實體地址,目錄不能夠有硬連線,檔案在磁碟中只有一個複製,可以節省硬碟空間,由於刪除檔案要在同一個索引節點屬於唯一的連線時才能成功,因此可以防止不必要的誤刪除軟連線(符號連線)用ln -s命令建立檔案的符號連線,符號連線是linux特殊檔案的一種,作為一個檔案,它的資料是它所連線的檔案的路徑名,類似於硬體方式,******可以刪除原始檔案 而連線檔案仍然存在。********

 
本文試圖清晰徹底的解釋軟連結和硬連結檔案的區別
 一 連結檔案
    連結有兩種方式,軟連結和硬連結。
  1 軟連結檔案
  軟連結又叫符號連結,這個檔案包含了另一個檔案的路徑名。可以是任意檔案或目錄,可以連結不同檔案系統的檔案。
    **********連結檔案甚至可以連結不存在的檔案,這就產生一般稱之為"斷鏈"的問題(或曰“現象"),連結檔案甚至可以迴圈連結自己。類似於程式語言中的遞迴。
  用ln -s 命令可以生成一個軟連線,如下:
  [[email protected] test]# ln -s  source_file softlink_file
  在對符號檔案進行讀或寫操作的時候,系統會自動把該操作轉換為對原始檔的操作,但刪除連結檔案時,系統僅僅刪除連結檔案,而不刪除原始檔本身。
  2 硬連結檔案
  info ln 命令告訴您,硬連結是已存在檔案的另一個名字(A "hard link" is another name for an existing file),這多少有些令人困惑。硬連線的命令是
  ln -d existfile newfile
  硬連結檔案有兩個限制
  1)、不允許給目錄建立硬連結;
  2)、只有在同一檔案系統中的檔案之間才能建立硬連結。
  ***********對硬連結檔案進行讀寫和刪除操作時候,結果和軟連結相同。但如果我們刪除硬連結檔案的原始檔,硬連結檔案仍然存在,而且保留了願有的內容。
    ***********這時,系統就“忘記”了它曾經是硬連結檔案。而把他當成一個普通檔案。
二  兩者之間的區別
    硬連線指通過索引節點來進行的連線。在Linux的檔案系統中,儲存在磁碟分割槽中的檔案不管是什麼型別都給它分配一個編號,稱為索引節點號(Inode Number)。
    在Linux中,多個檔名指向同一索引節點是存在的。一般這種連線就是硬連線。*******硬連線的作用是允許一個檔案擁有多個有效路徑名,這樣使用者就可以建立硬連線到重要
    檔案,以防止“誤刪”的功能。其原因如上所述,因為對應該目錄的索引節點有一個以上的連線。只刪除一個連線並不影響索引節點本身和其它的連線,只有當最後一個
    連線被刪除後,檔案的資料塊及目錄的連線才會被釋放。也就是說,檔案才會被真正刪除。
    軟連結檔案有點類似於Windows的快捷方式。它實際上是特殊檔案的一種。在符號連線中,檔案實際上是一個文字檔案,其中包含的有另一檔案的位置資訊。
三  個人體會
    軟連結是另一個檔案,作用可以理解為一個指標,******作用在這個檔案上的操作除了刪除都直接轉向實際指向檔案,由於是一個真實的檔案所以佔用磁碟空間
    硬連結可以認為不是一個檔案,它只是實際檔案的一個別名,它的作用是防止真實檔案被誤操作,給一個檔案建立硬連結後,他們互為別名,刪除其中任意一個,
    這樣用RM命令只會刪除該別名,實際檔案並不會被刪除。只有連結數為0時,才會刪除原始檔案。

相關推薦

Linux檔案連結命令 連線連結

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

linux連線連結的本質區別

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

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

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

連線連結

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

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

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

Linux連線連線 ln -s

對於一個檔案來說,有唯一的索引接點與之對應,而對於一個索引接點號,卻可以有多個檔名與之對應。因此,在磁碟上的同一個檔案可以通過不同的路徑去訪問 該檔案。   1.連線有軟連線和硬連線(hard link)之分的,軟連線(symbolic link)又叫符號連線。符號連線相當

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連線連結的區別

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

Linux連線連結

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

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

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

linux 連線連結的區別

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

連線連結的區別是什麼?

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

Linux檔案連結連結的聯絡和區別

在Linux的檔案系統中,儲存在磁碟分割槽中的檔案不管是什麼型別都給它分配一個編號,稱為索引節點號inode 。軟連線,其實就是新建立一個檔案,這個檔案就是專門用來指向別的檔案的(那就和windows 下的快捷方式的那個檔案有很接近的意味)。軟連結產生的是一個新的檔案,但這個

Linux常用基本命令(鏈接鏈接 )

多個 類型 文件 文件類型 for lin 影響 rec AR 硬鏈接:相當於文件的多個入口,作用:備份文件,創建快照等 軟鏈接:相當於windows的快捷方式 命令格式: ln option 源文件 目標文件 -s: 創建軟鏈接 1,創建硬鏈接: ghos

Linux連結連結

說明一下軟連結與硬連結建立的語法 ln -s test test.soft ln test test.hard 硬連結與軟連結的特點 硬連結是對原始檔的操作就相當於cp -p+同步更新 硬連結在實際開發環境使用較少,要注意的是雖說

Linux連結連線的區別以及建立

硬連結:已存在的檔案的一個別名,當原始檔刪除時仍可使用,且inode可共享,僅檔名不同的檔案,硬連結的建立會使連結數加1。 軟連線:符號連結,也就是快捷方式,不共享inode,有自己的inode,可對不存在的檔案建立軟連結,建立時連結數不加一,當原始檔刪除時,則

Linux系統的連結連線

一. 硬連結 硬連結是為檔案開設一個新的目錄項,可以看做是為原檔案的備份。硬連結與檔案原有的名字是平權的,在Linux看來它們是等價的。由於這個原因,硬連結不能連線兩個不同檔案系統上的檔案。 硬連線不管有多少個,都指向的是同一個I節點,會把 結點連線數增加,只要

Linux基礎第三天—Linux連結連結、安裝nginx以及基本配置、LNMP和LAMP的搭建

ln    建立硬連結 ln oldboy.txt oldgirl.txt    建立硬連結,原檔案oldboy.txt寫在前面,兩檔案inode相同,存在同一個block中, 內容同步刪除,但其中一個刪除 另一個並不會消失,因為block, l

linux連結連結的區別

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

Linux連結連結

硬連結就是同一個檔案使用了多個別名(他們有共同的inode編號)。 硬連結可由命令link或in建立,如 link existing-file new-link ln existing-file new-link 由於硬連結有著相同的inode編號,因