成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

理解Linux的硬鏈接與軟鏈接(二)

系統 Linux
在本系列的第一篇文章中,我們認識了硬鏈接、軟鏈接,知道在很多時候鏈接是非常有用的。鏈接看起來比較簡單,但是也有一些不易察覺的奇怪的地方需要注意。這就是我們這篇文章中要講的。

[[248953]]

我們繼續這個系列,來看一些你所不知道的微妙之處。

本系列的***篇文章中,我們認識了硬鏈接、軟鏈接,知道在很多時候鏈接是非常有用的。鏈接看起來比較簡單,但是也有一些不易察覺的奇怪的地方需要注意。這就是我們這篇文章中要講的。例如,像一下我們在前一篇文章中創建的指向 libblah 的鏈接。請注意,我們是如何從目標文件夾中創建鏈接的。

  1. cd /usr/local/lib
  2. ln -s /usr/lib/libblah

這樣是可以工作的,但是下面的這個例子卻是不行的。

  1. cd /usr/lib
  2. ln -s libblah /usr/local/lib

也就是說,從原始文件夾內到目標文件夾之間的鏈接將不起作用。

出現這種情況的原因是 ln 會把它當作是你在 /usr/local/lib 中創建一個到 /usr/local/lib 的鏈接,并在 /usr/local/lib 中創建了從 libblahlibblah 的一個鏈接。這是因為所有鏈接文件獲取的是文件的名稱(`libblah),而不是文件的路徑,最終的結果將會產生一個壞的鏈接。

然而,請看下面的這種情況。

  1. cd /usr/lib
  2. ln -s /usr/lib/libblah /usr/local/lib

是可以工作的。奇怪的事情又來了,不管你在文件系統的任何位置執行這個指令,它都可以好好的工作。使用絕對路徑,也就是說,指定整個完整的路徑,從根目錄(/)開始到需要的文件或者是文件夾,是***的實現方式。

其它需要注意的事情是,只要 /usr/lib/usr/local/lib 在一個分區上,做一個如下的硬鏈接:

  1. cd /usr/lib
  2. ln libblah /usr/local/lib

也是可以工作的,因為硬鏈接不依賴于指向文件系統內的文件來工作。

如果硬鏈接不起作用,那么可能是你想跨分區之間建立一個硬鏈接。就比如說,你有分區 A 上有文件 fileA ,并且把這個分區掛載到 /path/to/partitionA/directory 目錄,而你又想從 fileA 鏈接到分區 B 上 /path/to/partitionB/directory 目錄,這樣是行不通的。

  1. ln /path/to/partitionA/directory/file /path/to/partitionB/directory

正如我們之前說的一樣,硬鏈接是分區表中指向的是同一個分區的數據的條目,你不能把一個分區表的條目指向另一個分區上的數據,這種情況下,你只能選擇創建一個軟鏈接:

  1. ln -s /path/to/partitionA/directory/file /path/to/partitionB/directory

另一個軟鏈接能做到,而硬鏈接不能的是鏈接到一個目錄。

  1. ln -s /path/to/some/directory /path/to/some/other/directory

這將在 /path/to/some/other/directory 中創建 /path/to/some/directory 的鏈接,沒有任何問題。

當你使用硬鏈接做同樣的事情的時候,會提示你一個錯誤,說不允許那么做。而不允許這么做的原因量會導致無休止的遞歸:如果你在目錄 A 中有一個目錄 B,然后你在目錄 B 中鏈接 A,就會出現同樣的情況,在目錄 A 中,目錄 A 包含了目錄 B,而在目錄 B 中又包含了 A,然后又包含了 B,等等無窮無盡。

當然你可以在遞歸中使用軟鏈接,但你為什么要那樣做呢?

我應該使用硬鏈接還是軟鏈接呢?

通常,你可以在任何地方使用軟鏈接做任何事情。實際上,在有些情況下你只能使用軟鏈接。話說回來,硬鏈接的效率要稍高一些:它們占用的磁盤空間更少,訪問速度更快。在大多數的機器上,你可以忽略這一點點的差異,因為:在磁盤空間越來越大,訪問速度越來越快的今天,空間和速度的差異可以忽略不計。不過,如果你是在一個有小存儲和低功耗的處理器上使用嵌入式系統上使用 Linux, 則可能需要考慮使用硬鏈接。

另一個使用硬鏈接的原因是硬鏈接不容易損壞。假設你有一個軟鏈接,而你意外的移動或者刪除了它指向的文件,那么你的軟鏈接將會損壞,并指向了一個不存在的東西。這種情況是不會發生在硬鏈接中的,因為硬鏈接直接指向的是磁盤上的數據。實際上,磁盤上的空間不會被標記為空閑,除非***一個指向它的硬鏈接把它從文件系統中擦除掉。

軟鏈接,在另一方面比硬鏈接可以做更多的事情,而且可以指向任何東西,可以是文件或目錄。它也可以指向不在同一個分區上的文件和目錄。僅這兩個不同,我們就可以做出唯一的選擇了。 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2018-11-09 10:10:09

Linux硬鏈接軟鏈接

2017-01-15 15:27:51

Linux軟連接和硬鏈接

2019-06-21 10:52:28

軟連接硬鏈接Linux

2020-06-01 19:00:42

Linux軟鏈接硬鏈接

2019-11-01 11:06:02

Linux操作系統Windows

2022-02-28 09:44:09

Linux硬鏈接軟鏈接

2023-11-15 08:27:46

Linux系統

2022-10-21 08:18:54

Linuxln 命令

2021-06-18 08:15:37

Linux軟鏈接硬鏈接

2010-05-04 13:09:21

Unix操作系統

2010-07-09 10:13:42

UDP協議

2021-07-16 10:20:56

Linux 硬鏈接Linux 系統

2023-07-25 16:55:15

Linuxinode

2023-03-05 16:36:14

Linux鏈接目標文件

2021-11-15 05:37:19

Linux 符號鏈接命令

2011-08-25 09:53:43

SOA云計算

2023-02-13 11:26:03

符號鏈接Linux

2009-01-09 22:33:19

服務器磁盤RAID

2010-03-10 09:27:36

Linux鏈接文件類型

2017-12-04 13:30:12

Linux文件系統鏈接
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩精品视频中文字幕 | 一区二区三区四区在线视频 | www.青青草 | 老头搡老女人毛片视频在线看 | 日韩成人中文字幕 | 91精品久久久久久久久 | 性高湖久久久久久久久3小时 | 欧美日韩精品专区 | 久久久国产网站 | 成人永久免费 | 日韩一二三区视频 | 夜夜爽99久久国产综合精品女不卡 | 国产免费一区二区 | 激情欧美一区二区三区中文字幕 | 国产探花在线精品一区二区 | 亚洲情视频 | 国产精品一区视频 | 黄色精品 | 九九热在线视频观看这里只有精品 | 欧美一区二区三区在线看 | 日本一区二区三区在线观看 | 国产一级片免费在线观看 | 日韩成人在线网站 | 欧美一区二区三区在线 | 超碰在线网站 | 日韩电影免费在线观看中文字幕 | 久久久久久久久久久久久久av | 神马久久久久久久久久 | 成人精品视频 | 国产日韩一区二区三免费高清 | 亚洲日日 | 国产免费拔擦拔擦8x高清 | 亚洲视频一区二区三区四区 | 国产一区二区精 | 亚洲国产免费 | 久久久精品久 | 成人在线一区二区三区 | 91短视频网址 | 国产视频日韩 | 国产成都精品91一区二区三 | 久久久久亚洲精品 |