新聞中心
linux ln 連接命令怎么用?
1、首先有一個目錄dir, 執(zhí)行l(wèi)n -s dir dir_link 創(chuàng)建目錄的軟鏈接。
成都創(chuàng)新互聯(lián)公司專注于企業(yè)全網(wǎng)整合營銷推廣、網(wǎng)站重做改版、鳩江網(wǎng)站定制設(shè)計、自適應品牌網(wǎng)站建設(shè)、H5響應式網(wǎng)站、商城網(wǎng)站建設(shè)、集團公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應式網(wǎng)頁設(shè)計等建站業(yè)務,價格優(yōu)惠性價比高,為鳩江等各大城市提供網(wǎng)站開發(fā)制作服務。
2、重新創(chuàng)建mkdir源目錄,目錄軟鏈接重新生效。
3、執(zhí)行命令ln dir dir_hard,創(chuàng)建目錄的硬鏈接。
4、執(zhí)行命令ln -s file file_link,創(chuàng)建文件file的軟鏈接file_link。
5、執(zhí)行命令ln file file_hard創(chuàng)建文件file的硬鏈接file_hard。
6、修改硬鏈接file_hard、cat file,同時更新到源文件中即可。
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é)點號)才是文件的唯一標識而非文件名。文件名僅是為了方便人們的記憶和使用,系統(tǒng)或程序通過 inode 號尋找正確的文件數(shù)據(jù)塊。
2. 查看文件對應的inode號
134474678 latest.tar.gz
linux查看文件對應的inode號
可以看出latest.tar.gz這個文件, inode 號是134474678,Linux查找讀寫該文件時,以為個inode號碼為標識,而不是文件名。文件名類似于網(wǎng)站域名,僅僅是方便人類記憶。
也就是說, inode134474678有一個硬鏈接,它就是latest.tar.gz。
3. 根據(jù)inode號查找對應的文件
那么,問題來了,系統(tǒng)上有沒有第二個文件,它的inode號碼也是13447467。
使用find查找一下:
查找結(jié)果如下:
/root/latest.tar.gz
/root/latest2.tar.gz
linux根據(jù)inode號查找對應的文件
硬盤上真的有第二個文件它的inode號碼也是134474678,像這種情況,我們認為inode134474678有兩個硬鏈接。當然,這是本文作者提前準備好的。
為解決文件的共享使用,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)建軟鏈接
可以看出這個文件指向當前目錄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)建軟鏈接。
ln命令介紹
鏈接文件是Linux文件系統(tǒng)的一個優(yōu)勢,它可以保存一份物理文件副本和多個虛擬副本。這種虛擬的副本稱為 鏈接 。鏈接是目錄中指向文件真實位置的占位符。Linux系統(tǒng)中有兩種鏈接:符號鏈接和硬鏈接。
符號鏈接是實實在在的文件,它指向虛擬目錄結(jié)構(gòu)中某個地方的另一個文件。兩個文件通過符號鏈接在一起,內(nèi)容并不相同。要為一個文件創(chuàng)建一個符號鏈接,原始文件必須存在。 ln -s 命令用來創(chuàng)建符號鏈接。
硬連接會創(chuàng)建獨立的虛擬文件,其中包含了原始文件的位置和信息,但它們從根本上是一個文件,引用硬連接文件就等同于引用了源文件。創(chuàng)建硬連接時源文件也必須存在,不過ln命令不需要加上 -s 參數(shù)。
參考文獻:
網(wǎng)站名稱:linux里ln命令 Linux ln命令
轉(zhuǎn)載源于:http://fisionsoft.com.cn/article/dodjidj.html