linux命令判斷軟鏈接 linux中軟鏈接和硬鏈接的區(qū)別

Linux 硬鏈接和軟鏈接的區(qū)別

1、定義不同

創(chuàng)新互聯(lián)建站擁有網(wǎng)站維護技術(shù)和項目管理團隊,建立的售前、實施和售后服務(wù)體系,為客戶提供定制化的成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、網(wǎng)站維護、成都天府聯(lián)通服務(wù)器托管解決方案。為客戶網(wǎng)站安全和日常運維提供整體管家式外包優(yōu)質(zhì)服務(wù)。我們的網(wǎng)站維護服務(wù)覆蓋集團企業(yè)、上市公司、外企網(wǎng)站、商城系統(tǒng)網(wǎng)站開發(fā)、政府網(wǎng)站等各類型客戶群體,為全球1000多家企業(yè)提供全方位網(wǎng)站維護、服務(wù)器維護解決方案。

軟鏈接又叫符號鏈接,這個文件包含了另一個文件的路徑名??梢允侨我馕募蚰夸洠梢枣溄硬煌募到y(tǒng)的文件。

硬鏈接就是一個文件的一個或多個文件名。把文件名和計算機文件系統(tǒng)使用的節(jié)點號鏈接起來。因此我們可以用多個文件名與同一個文件進行鏈接,這些文件名可以在同一目錄或不同目錄。

2、限制不同

硬鏈接只能對已存在的文件進行創(chuàng)建,不能交叉文件系統(tǒng)進行硬鏈接的創(chuàng)建;

軟鏈接可對不存在的文件或目錄創(chuàng)建軟鏈接;可交叉文件系統(tǒng);

/iknow-pic.cdn.bcebos.com/35a85edf8db1cb13784969b9d354564e92584b73"target="_blank"title="點擊查看大圖"class="ikqb_img_alink"/iknow-pic.cdn.bcebos.com/35a85edf8db1cb13784969b9d354564e92584b73?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto"esrc=""/

3、創(chuàng)建方式不同

硬鏈接不能對目錄進行創(chuàng)建,只可對文件創(chuàng)建;

軟鏈接可對文件或目錄創(chuàng)建;

4、影響不同

刪除一個硬鏈接文件并不影響其他有相同inode號的文件。

刪除軟鏈接并不影響被指向的文件,但若被指向的原文件被刪除,則相關(guān)軟連接被稱為死鏈接(即danglinglink,若被指向路徑文件被重新創(chuàng)建,死鏈接可恢復(fù)為正常的軟鏈接)。

linux中什么命令可以判斷硬鏈接和軟鏈接

ls -l 就可以查看啦,如下:

ls -l

-rw-rwxrw- 2 root root 4 Sep 2 09:53 a.txt

-rw-rwxrw- 2 root root 4 Sep 2 09:53 a.txt.hard // 硬鏈接

lrwxrwxrwx 1 root root 5 Sep 2 15:09 a.txt.soft - a.txt //軟鏈接

進行hard link的時候,文件內(nèi)容不會改變,只是在查詢的時候,利用原來的inode與后來的inode 均可找到數(shù)據(jù)放置的地點,因此兩個文件的內(nèi)容會是一樣的

符號鏈接(軟鏈接)就是再建立一個獨立的文件,而這個文件會讓數(shù)據(jù)讀取指向他link的那個文件內(nèi)容。如果源文件被刪除,那么符號鏈接將不再有效

Linux軟鏈接和硬鏈接的區(qū)別之ln命令詳解

1. 先來了解一下Linux數(shù)據(jù)是如何保存和查詢的

對操作系統(tǒng)來說,數(shù)據(jù)分為兩種:1. 用戶數(shù)據(jù) (user data) 2.元數(shù)據(jù) (metadata)。用戶數(shù)據(jù)就是保存和記錄文件的內(nèi)容。比如一個1M的ppt文件,500K的txt文件。這都屬于用戶數(shù)據(jù)。這個文件總有屬性吧,比如大小、修改時間、訪問時間、創(chuàng)建時間、存儲的位置(文件所在的inode)、文件創(chuàng)建者等等信息。這些屬性信息或者理解為匯總信息,我們稱它為元數(shù)據(jù)。一句話,用戶數(shù)據(jù)是文件的真實內(nèi)容,而元數(shù)據(jù)則是匯總信息。

在 Linux 中,元數(shù)據(jù)中的 inode 號(inode 號即索引節(jié)點號)才是文件的唯一標(biāo)識而非文件名。文件名僅是為了方便人們的記憶和使用,系統(tǒng)或程序通過 inode 號尋找正確的文件數(shù)據(jù)塊。

2. 查看文件對應(yīng)的inode號

134474678 latest.tar.gz

linux查看文件對應(yīng)的inode號

可以看出latest.tar.gz這個文件, inode 號是134474678,Linux查找讀寫該文件時,以為個inode號碼為標(biāo)識,而不是文件名。文件名類似于網(wǎng)站域名,僅僅是方便人類記憶。

也就是說, inode134474678有一個硬鏈接,它就是latest.tar.gz。

3. 根據(jù)inode號查找對應(yīng)的文件

那么,問題來了,系統(tǒng)上有沒有第二個文件,它的inode號碼也是13447467。

使用find查找一下:

查找結(jié)果如下:

/root/latest.tar.gz

/root/latest2.tar.gz

linux根據(jù)inode號查找對應(yīng)的文件

硬盤上真的有第二個文件它的inode號碼也是134474678,像這種情況,我們認為inode134474678有兩個硬鏈接。當(dāng)然,這是本文作者提前準(zhǔn)備好的。

為解決文件的共享使用,Linux 系統(tǒng)引入了兩種鏈接:硬鏈接 (hard link) 與軟鏈接(又稱符號鏈接,即 soft link 或 symbolic link)。鏈接為 Linux 系統(tǒng)解決了文件的共享使用,還帶來了隱藏文件路徑、增加權(quán)限安全及節(jié)省存儲等好處。

4. 確認硬鏈接的數(shù)量

查看一下文件latest.tar.gz

輸出結(jié)果如下:

-rwxr-xr-x. 2 root root 8743850 Oct 11 15:00 latest.tar.gz

請留意輸出的結(jié)果中的數(shù)字2,表示該文件存在2個硬鏈接。

正常情況下,一個inode只有一個鏈接,如下例

輸出結(jié)果:

-rw-r--r--. 1 root root 9 Nov 21 11:39 abc.txt

請留意輸出的結(jié)果中的數(shù)字1,表示該文件只存在1個硬鏈接,默認情況下,文件都是只有一個硬鏈接的。

5. 查看軟鏈接

再來看一個文件

lrwxrwxrwx. 1 root root 15 Sep 26 15:57 /dev/stdout - /proc/self/fd/1

linux查看軟鏈接

我們發(fā)現(xiàn),/dev/stdout實際上指向另一個文件/proc/self/fd/1,這就是軟鏈接。類似于Windows系統(tǒng)上的快捷方式。

6. 軟鏈接與硬鏈接的區(qū)別

6.1 軟鏈接特點

6.2 硬鏈接特點

ln鏈接符原理如下:

Linux ln鏈接符原理圖

7. 創(chuàng)建文件的鏈接

Linux ln命令是一個非常重要而且常用命令,它用于為文件或者目錄創(chuàng)建鏈接。

7.1 創(chuàng)建軟鏈接

創(chuàng)建一個文件,用于演示軟鏈接。

創(chuàng)建軟鏈接示例:

檢查結(jié)果:

輸出文件屬性

lrwxrwxrwx. 1 root root 8 Nov 26 17:48 soft123.txt - soft.txt

linux創(chuàng)建軟鏈接

可以看出這個文件指向當(dāng)前目錄soft.txt,配置成功。7.2 創(chuàng)建硬鏈接

創(chuàng)建一個文件,用于演示硬鏈接。

創(chuàng)建硬鏈接,沒有使用選項

檢查結(jié)果:

輸出文件屬性:

-rw-r--r--. 2 root root 0 Nov 26 17:47 hard123.txt

linux創(chuàng)建硬鏈接

留意以上輸出數(shù)字2,表明該文件有2個副本。

8. 總結(jié)

ln命令可以創(chuàng)建文件的副本,也可以創(chuàng)建軟鏈接。

linux下查看軟鏈接的命令是什么?

用命令:ls -l 查看, 最前面有“l(fā)”的就是軟鏈接了,其他類型的文件都可以用這個命令看到。

網(wǎng)站欄目:linux命令判斷軟鏈接 linux中軟鏈接和硬鏈接的區(qū)別
分享路徑:http://muchs.cn/article0/dosdcoo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)定制網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、外貿(mào)建站、響應(yīng)式網(wǎng)站、

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)