總結軟連線和硬連線區別,並用例項操作

2022-07-11 06:09:08 字數 2195 閱讀 4306

軟鏈結

ln -s 原檔案 目標檔案

特徵:1、相當於windows的快捷方式

2、符號鏈結,所以鏈結檔案大小都很小

3、當執行軟連線的時候,會根據鏈結指向找到真正的檔案,然後執行

4、所有鏈結檔案的許可權都是777,而真正的許可權是由指向的那個檔案決定的

5、原檔案丟失後,軟鏈結無法訪問,會報找不到的錯誤

6、ls -al ,軟連線後面箭頭執行的時原始檔

硬鏈結ln 原始檔 目標檔案

3、當原檔案丟失,硬鏈結檔案還可以訪問

4、不能跨分割槽,不能針對目錄使用

5、原理:原檔案和硬鏈結檔案的節點相同的,1個檔名只能對應1個節點號。但是1個節點號能對應多個檔名。所以,他們的屬性完全相同,並且修改了其中乙個的內容另外乙個也會跟著修改。

所以:

1、硬鏈結是同乙個檔案多個名字,軟鏈結不是同乙個檔案

2、硬鏈結不能跨分割槽、裝置,軟鏈結可以

3、硬鏈結的連線數增長,軟鏈結不增長

4、節點編號:硬鏈結的節點編號相同,軟鏈結不一樣

5、原始檔案刪掉,硬鏈結的檔案可以訪問,軟鏈結的原始檔案刪掉,訪問失效

6、軟連線的指向檔案大小是路徑的大小,硬鏈結的大小就是檔案的大小

7、硬鏈結不支援目錄、軟鏈結支援目錄

8、相對路徑寫法不一樣,硬鏈結不能用相對路徑,寫相對路徑就會找不到檔案路徑,而軟鏈結可以使用相對路徑

例項:

[root@centos6 ~]# ln -s a a.link

[root@centos6 ~]# ll -i

total 6728

394681 -rw-r--r-- 1 root root 6888896 nov 10 21:42 a

394522 lrwxrwxrwx 1 root root 1 nov 10 21:45 a.link -> a

從命令的執行結果上看,結論如下:

1、a檔案的inode號為394681,a.link檔案inode為394522,inode號不一致。

2、符號鏈結,所以鏈結檔案大小都很小。a.link大小為1bit,而a檔案的大小為6.6m。

3、所有a.link檔案的許可權都是777,而真正的許可權是由指向的那個檔案決定的

刪除檔案a,訪問a.link鏈結檔案

[root@centos6 ~]# mv a a.bak

[root@centos6 ~]# cat a.link

cat: a.link: no such file or directory

建立a檔案的硬鏈結a.hard,檢視a和軟鏈結檔案a.link的inodes、許可權、大小等元資料。

[root@centos6 ~]# ln a a.hard

[root@centos6 ~]# ll -i

total 13456

394681 -rw-r--r-- 3 root root 6888896 nov 10 21:42 a

394681 -rw-r--r-- 3 root root 6888896 nov 10 21:42 a.hard

394522 lrwxrwxrwx 1 root root 1 nov 10 21:45 a.link -> a

刪除a檔案後,硬鏈結檔案a.hard的情況

[root@centos6 ~]# mv a a.bak

[root@centos6 ~]# ll -i

total 13456

394699 -rw-r--r-- 2 root root 6888896 nov 10 22:39 a.bak

394699 -rw-r--r-- 2 root root 6888896 nov 10 22:39 a.hard

394522 lrwxrwxrwx 1 root root 1 nov 10 21:45 a.link -> a

[root@centos6 ~]# tail a.hard

999991

999992

999993

999994

999995

999996

999997

999998

999999

1000000

[root@centos6 ~]# echo "1">>a.bak

[root@centos6 ~]# tail -1 a.hard

1

總結軟連線和硬連線區別,並用例項操作說明。

軟鏈結 ln s 原檔案 目標檔案 特徵 1 相當於windows的快捷方式 2 符號鏈結,所以鏈結檔案大小都很小 3 當執行軟連線的時候,會根據鏈結指向找到真正的檔案,然後執行 4 所有鏈結檔案的許可權都是777,而真正的許可權是由指向的那個檔案決定的 5 原檔案丟失後,軟鏈結無法訪問,會報找不到...

linux硬連線和軟連線區別

root amusitelangpao data vim yuanwenjian.txt 檔案i節點相當於程式設計中的id,唯一識別檔案,ls i 可以檢視i節點 root amusitelangpao data ln yuanwenjian.txt hard.txt 硬連線相當於乙個i節點指向多個...

硬連線和軟連線的區別

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