linux檔案鏈結

2022-07-14 09:15:08 字數 2220 閱讀 3059

我的github,歡迎關注,分享知識與技術

我們首先來了解一下幾個名詞:

要了解鏈結,我們首先得了解乙個概念,叫索引節點(inode)。在linux系統中,核心為每乙個新建立的檔案分配乙個inode(索引結點),每個檔案都有乙個惟一的inode號,我們可以將inode簡單理解成乙個指標,它永遠指向本檔案的具體儲存位置。檔案屬性儲存在索引結點裡,在訪問檔案時,索引結點被複製到內存在,從而實現檔案的快速訪問。系統是通過索引節點(而不是檔名)來定位每乙個檔案。

ln [options] existingfile newfile

ln [options] existingfile-list directory

用法:

第一種為」existingfile」建立硬鏈結,檔名為」newfile」。

第二種在」directory」目錄中,為」 existingfile-list」中包含的所有檔案建立乙個同名的硬鏈結。

常用可選[options]:-f 無論」newfile」存在與否,都建立鏈結。-n 如果」newfile」已存在,就不建立鏈結。

ln -s existingfile newfile

ln -s existingfile-list directory

下面我們用乙個例項來說明硬鏈結和軟鏈結。

現在目錄下有兩個檔案,乙個名為file1,乙個名為file2。

引用

$

ls–il

1052671-rw

-r--

r--1

leanx

leanx

02010-03

-2913:46

file1

1052670-rw

-r--

r--1

leanx

leanx

02007-03

-2913:46

file2

首先先做乙個file1的硬鏈結。

$ ln file1 file1hard

$ls –il

1052671

-rw-r

--r--

2 leanx leanx 0

2010-03

-2913:46 file1

1052670

-rw-r

--r--

1 leanx leanx 0

2010-03

-2913:46 file12

1052671

-rw-r

--r--

2 leanx leanx 0

2010-03

-2913:46 file1hard

這裡我們注意在建立鏈結前,file1顯示的鏈結數目為1,建立鏈結後

可見進行了ln命令的操作結果:file1和file1hard是同乙個檔案的兩個名字,它們具有同樣的索引節點號和檔案屬性,建立檔案file1的硬鏈結,就是為 file1的檔案索引節點在當前目錄上建立乙個新指標。你可以刪除其中任何乙個,如rm file1,每次只會刪除乙個指標,鏈結數同時減一,只有將所有指向檔案內容的指標,也即鏈結數減為0時,核心才會把檔案內容從磁碟上刪除。

接著我們做乙個指向file2的軟鏈結,軟鏈結克服了硬鏈結的不足,沒有任何檔案系統的限制,任何使用者可以建立指向目錄的符號鏈結。因而現在更為廣泛使用,它具有更大的靈活性,甚至可以跨越不同機器、不同網路對檔案進行鏈結。

$ ln -s file2 file2soft

$ ls –il

總用量 0

1052671

-rw-r

--r--

2 leanx leanx 0

2010-03

-2913:34 file1

1052670

-rw-r

--r--

1 leanx leanx 0

2010-03

-2913:35 file2

1053313 lrwxrwxrwx 1 leanx leanx 5

2010-03

-2913:45 file2soft -> file2

1052671

-rw-r

--r--

2 leanx leanx 0

2010-03

-2913:34 file1hard

linux鏈結檔案

鏈結檔案有點類似於windows 的所謂快捷方式,但並不完全一樣。鏈結有兩種方式,軟鏈結和硬鏈結。軟鏈結檔案 軟鏈結又叫符號鏈結,這個檔案包含了另乙個檔案的路徑名。可以是任意檔案或目錄,可以鏈結不同檔案系統的檔案。鏈結檔案甚至可以鏈結不存在的檔案,這就產生一般稱之為 斷鏈 的問題 或曰 現象 鏈結檔...

linux檔案鏈結

鏈結 一種在共享檔案和訪問它的使用者的若干目錄項之間建立聯絡的一種方法。我們首先來了解一下幾個名詞 索引節點 inode 要了解鏈結,我們首先得了解乙個概念,叫索引節點 inode 在linux系統中,核心為每乙個新建立的檔案分配乙個inode 索引結點 每個檔案都有乙個惟一的inode號,我們可以...

linux檔案鏈結

鏈結 一種在共享檔案和訪問它的使用者的若干目錄項之間建立聯絡的一種方法。我們首先來了解一下幾個名詞 索引節點 inode 要了解鏈結,我們首先得了解乙個概念,叫索引節點 inode 在linux系統中,核心為每乙個新建立的檔案分配乙個inode 索引結點 每個檔案都有乙個惟一的inode號,我們可以...