日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux文件系统中的链接

發布時間:2023/12/10 linux 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux文件系统中的链接 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • inode

?? ? 在討論Linux系統的鏈接之前,不得不先說下inode。Linux文件系統中的每一個對象都有唯一的inode索引,每一個inode號和文件系統的一個對象一一對應,要查看文件或目錄的inode號可在ls命令中使用-i選項,每個目錄下的.(當前目錄)和..(上級目錄)都是硬鏈接。如下面例子:

root@vrlab726-desktop:~/Desktop# pwd
/root/Desktop
root@vrlab726-desktop:~/Desktop# ls -ial
total 8672
6447440 drwxr-xr-x 9 root root 4096 2011-12-14 19:27 .

?? ? 目錄/root/Desktop的inode號為6447440,下面再看下/root/Desktop/test/..的inode號:

root@vrlab726-desktop:~/Desktop# cd test
root@vrlab726-desktop:~/Desktop/test# pwd
/root/Desktop/test
root@vrlab726-desktop:~/Desktop/test# ls -ial
total 8
7668672 drwxr-xr-x 2 root root 4096 2011-12-14 19:27 .
6447440 drwxr-xr-x 9 root root 4096 2011-12-14 19:27 ..

?? ? ?從中可以發現二者的inode號完全一樣,即兩者鏈接到物理磁盤上的同一個條目。

  • 硬鏈接

?? ? ?一個inode號可以和任意多個硬鏈接對應,當所有硬鏈接都刪除后,此inode號也將由系統自動刪除,ls -ial命令的第三列即為和當前inode號關聯的硬鏈接數目。創建硬鏈接的命令為:

root@vrlab726-desktop:~/Desktop/test# touch file
root@vrlab726-desktop:~/Desktop/test# echo "helloWorld" > file
root@vrlab726-desktop:~/Desktop/test# more file
helloWorld
root@vrlab726-desktop:~/Desktop/test# ln file fileHardLink
root@vrlab726-desktop:~/Desktop/test# ls -ial
total 16
7668672 drwxr-xr-x 2 root root 4096 2011-12-14 20:19 .
6447440 drwxr-xr-x 9 root root 4096 2011-12-14 19:27 ..
7668707 -rw-r--r-- 2 root root 11 2011-12-14 20:19 file
7668707 -rw-r--r-- 2 root root 11 2011-12-14 20:19 fileHardLink

?? ? ?從中可以看出硬鏈接都指向了同一個inode條目,因此所占用的空間相同。然而,Linux系統中的硬鏈接有兩個限制:1.硬鏈接只能鏈接到文件,而不能鏈接到文件夾。盡管.和..是系統創建的鏈接到目錄的硬鏈接,但不允許用戶(即使是root賬戶)創建鏈接到目錄的硬鏈接。2.硬鏈接不能跨文件系統。

  • 軟鏈接(符號鏈接)
實際上,軟鏈接比硬鏈接更為常用,符號鏈接是一種特殊的文件類型,它只是通過文件名鏈接到另一個文件,而不是直接鏈接到inode。如果鏈接的目標文件被刪除了,那么會導致鏈接到該目標文件的所有軟鏈接斷開,不再可用。創建軟連接的命令如下: root@vrlab726-desktop:~/Desktop/test# ln -s file fileSoftLink
root@vrlab726-desktop:~/Desktop/test# ls -ial
total 16
7668672 drwxr-xr-x 2 root root 4096 2011-12-14 20:25 .
6447440 drwxr-xr-x 9 root root 4096 2011-12-14 19:27 ..
7668707 -rw-r--r-- 2 root root 11 2011-12-14 20:19 file
7668707 -rw-r--r-- 2 root root 11 2011-12-14 20:19 fileHardLink
7668708 lrwxrwxrwx 1 root root 4 2011-12-14 20:25 fileSoftLink -> file 可以從兩方面辨別出符號鏈接,ls -ial的第二列中第一個字母為l;在最后一列中的目標文件前有->符號。 總結: 硬鏈接基于inode實現,而軟鏈接基于名稱(或路徑)實現;硬鏈接只允許用戶創建鏈接到文件的硬鏈接,而軟鏈接既可鏈接到文件又可鏈接到目錄;硬鏈接不允許跨文件系統(因不同文件系統中的inode號可能相同),而軟鏈接由于通過路徑實現,所以可以跨文件系統。

轉載于:https://www.cnblogs.com/sujz/archive/2011/12/14/2288050.html

總結

以上是生活随笔為你收集整理的Linux文件系统中的链接的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。