Linux 文件軟連接、硬連接

linux的硬連接和軟連接node

連接方式有兩種:硬連接和軟連接linux

在Linux的文件系統中,保存在磁盤分區中的文件無論是什麼類型都給它分配一個編號,稱爲索引節點號(Inode Index)。ide

(1)硬連接:多個文件名指向同一索引節點索引

做用:容許一個文件擁有多個有效路徑名,這樣用戶就能夠創建硬鏈接到重要文件,以防止「誤刪」的功能。it

其實一個硬連接就是一個文件的一個別名,只刪除一個鏈接並不影響索引節點自己和其它的鏈接,只有當最後一個鏈接被刪除後,文件的數據塊及目錄的鏈接纔會被釋放。也就是說,文件真正刪除的條件是與之相關的全部硬鏈接文件均被刪除。class

硬連接文件有兩個限制file

1)、不容許給目錄建立硬連接權限

2)、只有在同一文件系統中的文件之間才能建立硬連接數據

ln 命令爲現有文件建立新的硬連接。該命令懂得第一個參數爲現有文件,後面能夠跟一個或者多個額外的硬連接。硬連接能夠處在任何位置上。touch

在/tmp目錄中爲現有的文件newfile.text建立硬連接mewfile-link1.text

[root@localhost ~]# cd /tmp

[root@localhost tmp]# touch newfile.text

[root@localhost tmp]# ln newfile.text /tmp/newfile-link.text

[root@localhost tmp]# ll newfile.text /tmp/newfile-link.text

-rw-r--r--. 2 root root 0 Nov 16 04:04 newfile.text

-rw-r--r--. 2 root root 0 Nov 16 04:04 /tmp/newfile-link.text

即便原來文件刪除,只要有一個硬連接存在,該文件的內容就依然可讀

[root@localhost tmp]# echo 'hello,world' > newfile.text

[root@localhost tmp]# rm -f newfile.text 

[root@localhost tmp]# ll /tmp/newfile-link.text 

-rw-r--r--. 1 root root 12 Nov 16 04:10 /tmp/newfile-link.text

[root@localhost tmp]# cat /tmp/newfile-link.text 

hello,world

(2)軟連接

軟連接又叫符號連接,這個文件包含了另外一個文件的路徑名。其實就是Windows中的快捷方式。

軟鏈接沒有硬連接那麼多的限制

1)軟連接有本身的文件屬性及權限等。

2)可對不存在的文件或目錄建立軟連接。

3)軟連接可交叉文件系統。

4)軟連接可對文件或目錄建立,並且目錄能夠位於不一樣獲得文件系統

5)建立軟連接時,連接計數 i_nlink 不會增長。

6)刪除軟連接並不影響被指向的文件,但若被指向的原文件被刪除,則相關軟鏈接被稱爲死連接(即 dangling link,若被指向路徑文件被從新建立,死連接可恢復爲正常的軟連接)。

ln -s 命令建立軟連接

[root@localhost /]# touch newfile-link2.tetx

[root@localhost /]# ln -s newfile-link2.tetx /tmp/newfile-symlink.text 

[root@localhost /]# ll newfile-link2.tetx /tmp/newfile-symlink.text 

-rw-r--r--. 1 root root  0 Nov 16 04:19 newfile-link2.tetx

lrwxrwxrwx. 1 root root 18 Nov 16 04:20 /tmp/newfile-symlink.text -> newfile-link2.tetx

當原始文件刪除時,連接文件依然指向該文件,但目標消失。指向缺失的文件的軟連接稱爲「懸掛的軟連接」、

[root@localhost /]# rm -f newfile-link2.tetx 

[root@localhost /]# ll /tmp/newfile-symlink.text 

lrwxrwxrwx. 1 root root 18 Nov 16 04:20 /tmp/newfile-symlink.text -> newfile-link2.tetx

[root@localhost /]# cat /tmp/newfile-symlink.text 

cat: /tmp/newfile-symlink.text: No such file or directory

相關文章
相關標籤/搜索