新聞中心
在Linux系統(tǒng)中,共享庫(kù)是一種程序庫(kù)的意思,它們是一些在編譯、鏈接和運(yùn)行程序時(shí)需要的函數(shù)和變量的。共享庫(kù)有許多的優(yōu)點(diǎn),比如說(shuō)在編譯和連接大型程序時(shí),它們可以減少二進(jìn)制文件的大小,提高性能和效率。另外,共享庫(kù)也為多個(gè)程序提供了使用已編譯和優(yōu)化過(guò)的代碼的能力。在Linux中,為了方便管理共享庫(kù),軟鏈接是一個(gè)非常好的實(shí)現(xiàn)方式。

軟鏈接,也被稱為符號(hào)鏈接,是指一個(gè)指向另一個(gè)文件的鏈接,類(lèi)似于Windows中的快捷方式。軟鏈接的使用是一種簡(jiǎn)單而強(qiáng)大的方法,可以創(chuàng)建指向共享庫(kù)的鏈接,并為用戶提供訪問(wèn)這些庫(kù)的方法。在Linux中,軟鏈接不僅可以用于共享庫(kù),而且也可以用于其他文件。
使用軟鏈接的好處之一是它可以將多個(gè)程序的依賴項(xiàng)關(guān)聯(lián)起來(lái),從而實(shí)現(xiàn)共享代碼庫(kù)的目的。通過(guò)思密達(dá)(symlinks)命令,這些關(guān)聯(lián)可以輕松地被添加、修改和刪除。軟鏈接通常比硬鏈接更容易使用,因?yàn)榭梢砸苿?dòng)它們而不會(huì)失去它們的原來(lái)的鏈接。
軟鏈接的創(chuàng)建和使用非常的簡(jiǎn)單。在命令行終端中,可以使用以下的命令來(lái)創(chuàng)建鏈接:
“`
ln -s /path/to/original /path/to/link
“`
在這個(gè)命令行中,/path/to/original是指向原始文件或文件夾的絕對(duì)或相對(duì)路徑,而/path/to/link是你想要?jiǎng)?chuàng)建鏈接的路徑。例如,要?jiǎng)?chuàng)建一個(gè)鏈接到共享庫(kù)lib.so.0的lib.so的軟鏈接,可以使用以下命令:
“`
ln -s /lib/lib.so.0 /usr/local/lib/lib.so
“`
在這個(gè)命令中,/lib/lib.so.0是原始共享庫(kù)路徑,而/usr/local/lib/lib.so是新鏈接的路徑。
軟鏈接能夠方便地共享共享庫(kù),是因?yàn)樗鼮樗械膮⑴c程序提供了一個(gè)統(tǒng)一的路徑。這意味著,如果一個(gè)程序需要執(zhí)行某個(gè)函數(shù),而這個(gè)函數(shù)在共享庫(kù)中,如果軟鏈接工作正常,那么程序就可以非常容易地找到共享庫(kù)并從中提取功能。如果沒(méi)有軟鏈接,那么程序?qū)o(wú)法找到編寫(xiě)功能的代碼,從而無(wú)法執(zhí)行它們。
此外,通過(guò)使用軟鏈接,可以為用戶提供便利,以便他們?cè)诓涣私饣蛲耆斫馓囟ǔ绦蚧驇?kù)的作用時(shí)輕松訪問(wèn)特定程序或庫(kù)。軟鏈接還可以用于移動(dòng)共享庫(kù)或程序,在這種情況下,鏈接保證所有程序都能夠正確地訪問(wèn)共享庫(kù)或程序。
綜上所述,軟鏈接在Linux中使用非常的廣泛,它可以方便地共享共享庫(kù)、簡(jiǎn)化依賴關(guān)系的管理以及提供用戶便利的方法來(lái)訪問(wèn)程序和庫(kù)。對(duì)于原始維護(hù)者和用戶來(lái)說(shuō),使用軟鏈接是一項(xiàng)非常有用的技能。如果你使用Linux系統(tǒng)并且想要從更好的依賴性管理和更方便的程序訪問(wèn)中受益,那么學(xué)習(xí)和使用軟鏈接是一個(gè)不錯(cuò)的選擇。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù)!
Linux軟鏈接和硬鏈接的區(qū)別之ln命令詳解
1. 先來(lái)了解一下Linux數(shù)據(jù)是如何保存和查詢的
對(duì)操作系統(tǒng)來(lái)說(shuō),數(shù)據(jù)分為兩種:1. 用戶數(shù)據(jù) (user data) 2.元數(shù)據(jù) (metadata)。用戶數(shù)據(jù)就是保存和記錄文件的內(nèi)容。比如一個(gè)1M的ppt文件,500K的txt文件。這都屬于用戶數(shù)據(jù)。這個(gè)文件總有屬性吧,比如大小、修改時(shí)間、訪問(wèn)時(shí)間、創(chuàng)建時(shí)間、存儲(chǔ)的位置(文件所在的inode)、文件創(chuàng)建者等等信息。這些屬性信息或者理解為匯總信息,我們稱它為元數(shù)據(jù)。一句話,用戶數(shù)據(jù)是文件的真實(shí)內(nèi)容,而元數(shù)據(jù)則是匯總信息。
在 Linux 中,元數(shù)據(jù)中的 inode 號(hào)(inode 號(hào)即索引節(jié)點(diǎn)號(hào))才是文件的唯一標(biāo)識(shí)而非文件名。文件名僅是為了方便人們的記憶和使用,系統(tǒng)或程序通過(guò) inode 號(hào)尋找正確的文件數(shù)據(jù)塊。
2. 查看文件對(duì)應(yīng)的inode號(hào)
latest.tar.gz
linux查看文件對(duì)應(yīng)的inode號(hào)
可以看出latest.tar.gz這個(gè)文件, inode 號(hào)是,Linux查找讀寫(xiě)該文件時(shí),以為個(gè)inode號(hào)碼為標(biāo)識(shí),而不是文件名。文件名類(lèi)似于網(wǎng)站域名,僅僅是方便人類(lèi)廳蔽纖記憶。
也就是說(shuō), inode有一個(gè)硬鏈接,它就是latest.tar.gz。
3. 根據(jù)inode號(hào)查找對(duì)應(yīng)的文件
那扮仿么,問(wèn)題來(lái)了,系統(tǒng)上有沒(méi)有第二個(gè)文件,它的inode號(hào)碼也是。
使用find查找一下:
查找結(jié)果如下:
/root/latest.tar.gz
/root/latest2.tar.gz
linux根據(jù)inode號(hào)查找對(duì)應(yīng)的文件
硬盤(pán)上真的有第二個(gè)文件它的inode號(hào)碼也是,像這種情況,我們認(rèn)為inode有兩個(gè)硬鏈接。當(dāng)然,這是本文作者提前準(zhǔn)并段備好的。
為解決文件的共享使用,Linux 系統(tǒng)引入了兩種鏈接:硬鏈接 (hard link) 與軟鏈接(又稱符號(hào)鏈接,即 soft link 或 symbolic link)。鏈接為 Linux 系統(tǒng)解決了文件的共享使用,還帶來(lái)了隱藏文件路徑、增加權(quán)限安全及節(jié)省存儲(chǔ)等好處。
4. 確認(rèn)硬鏈接的數(shù)量
查看一下文件latest.tar.gz
輸出結(jié)果如下:
-rwxr-xr-x. 2 root rootOct 11 15:00 latest.tar.gz
請(qǐng)留意輸出的結(jié)果中的數(shù)字2,表示該文件存在2個(gè)硬鏈接。
正常情況下,一個(gè)inode只有一個(gè)鏈接,如下例
輸出結(jié)果:
-rw-r–r–. 1 root root 9 Nov 21 11:39 abc.txt
請(qǐng)留意輸出的結(jié)果中的數(shù)字1,表示該文件只存在1個(gè)硬鏈接,默認(rèn)情況下,文件都是只有一個(gè)硬鏈接的。
5. 查看軟鏈接
再來(lái)看一個(gè)文件
lrwxrwxrwx. 1 root root 15 Sep 26 15:57 /dev/stdout -> /proc/self/fd/1
linux查看軟鏈接
我們發(fā)現(xiàn),/dev/stdout實(shí)際上指向另一個(gè)文件/proc/self/fd/1,這就是軟鏈接。類(lèi)似于Windows系統(tǒng)上的快捷方式。
6. 軟鏈接與硬鏈接的區(qū)別
6.1 軟鏈接特點(diǎn)
6.2 硬鏈接特點(diǎn)
ln鏈接符原理如下:
Linux ln鏈接符原理圖
7. 創(chuàng)建文件的鏈接
Linux ln命令是一個(gè)非常重要而且常用命令,它用于為文件或者目錄創(chuàng)建鏈接。
7.1 創(chuàng)建軟鏈接
創(chuàng)建一個(gè)文件,用于演示軟鏈接。
創(chuàng)建軟鏈接示例:
檢查結(jié)果:
輸出文件屬性
lrwxrwxrwx. 1 root root 8 Nov 26 17:48 soft123.txt -> soft.txt
linux創(chuàng)建軟鏈接
可以看出這個(gè)文件指向當(dāng)前目錄soft.txt,配置成功。7.2 創(chuàng)建硬鏈接
創(chuàng)建一個(gè)文件,用于演示硬鏈接。
創(chuàng)建硬鏈接,沒(méi)有使用選項(xiàng)
檢查結(jié)果:
輸出文件屬性:
-rw-r–r–. 2 root root 0 Nov 26 17:47 hard123.txt
linux創(chuàng)建硬鏈接
留意以上輸出數(shù)字2,表明該文件有2個(gè)副本。
8. 總結(jié)
ln命令可以創(chuàng)建文件的副本,也可以創(chuàng)建軟鏈接。
linux 系統(tǒng)中軟連接的創(chuàng)建,修改,刪除
【軟連接】
軟連接是linux中一個(gè)常用命令,它的功能是為某一個(gè)文件在另外一個(gè)位置建立一個(gè)同不的鏈接。相當(dāng)于window系統(tǒng)中的
快捷方式
具體用法是:ln -s
源文件
目標(biāo)文件 或者 ln -s 源目錄 目標(biāo)目錄
當(dāng)我們需要在不同的目錄,用到相同的文件時(shí),我們不需要在每一個(gè)需要的目錄下都放一個(gè)必須相同的文件,我們只要在其它的 目錄下用ln命令鏈接(link)就可以,不必重復(fù)段悉的占用磁盤(pán)空間。
例如:ln -s /home/test1 /data/test1
這樣我們就對(duì)/home/test1目錄創(chuàng)建了軟連接 ,在/data/test1中打開(kāi)看到的就是/home/test1目虛燃州錄下的文件
使用方式
創(chuàng)建軟鏈接
ln -s
例:當(dāng)前路徑創(chuàng)建test 引向/var/www/test 文件夾
ln –s /var/www/test ./test (此處建議一定要寫(xiě)
絕對(duì)路徑
,更好寫(xiě)到
根目錄
,而且當(dāng)前目錄中藥刪除test)
例:創(chuàng)建/var/test 引向/var/www/test 文件夾
ln –s /var/www/test /var/test
修改軟鏈接
這將會(huì)修改原有的鏈接地址為新的地址
ln –snf
例如:
創(chuàng)建一個(gè)軟鏈接
ln –s /var/www/test /var/test
修改指向的新路徑
ln –snf /var/www/test1 /var/test
刪除軟鏈接
和刪除普通的文件是一樣的,刪除都是使用rm來(lái)進(jìn)行操作,
例:刪除test
rm –rf test
正確的刪除方式(刪除軟鏈接,但不刪除實(shí)際數(shù)據(jù))
rm -rf ./test
錯(cuò)誤的刪除方式
rm -rf ./test/ (這樣就會(huì)把原來(lái)test下,源文件的內(nèi)容也刪除)
建議使用rm test 待顯示刪除確認(rèn)提示的時(shí)候
頁(yè)面出現(xiàn) rm: remove symbolic link test yes等字樣 說(shuō)明你正在操作的是軟連接,而不是目錄。
一定要注意啊。亂用rm 還刪除目錄下的全部文件,還循環(huán),后果很?chē)?yán)重,要再三確認(rèn)
ln常用參數(shù):
-f : 鏈結(jié)時(shí)先將與 dist 同檔名的檔案刪除
-d : 允許系統(tǒng)管理者硬鏈結(jié)自己的目錄
-i : 在刪除與 dist 同檔名的檔案時(shí)先進(jìn)行詢問(wèn)
-n : 在進(jìn)行軟連結(jié)時(shí),將 dist 視為一般的檔案
-s : 進(jìn)差蔽行軟鏈結(jié)(symbolic link)
-v : 在連結(jié)之前顯示其檔名
-b : 將在鏈結(jié)時(shí)會(huì)被覆寫(xiě)或刪除的檔案進(jìn)行備份
-S SUFFIX : 將備份的檔案都加上 SUFFIX 的字尾
-V METHOD : 指定備份的方式
help : 顯示輔助說(shuō)明
version : 顯示版本
【硬連接】
硬連接指通過(guò)索引節(jié)點(diǎn)來(lái)進(jìn)行連接。在Linux的
文件系統(tǒng)
中,保存在
磁盤(pán)分區(qū)
關(guān)于linux下使用共享庫(kù)的軟鏈接的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
創(chuàng)新互聯(lián)(cdcxhl.com)提供穩(wěn)定的云服務(wù)器,香港云服務(wù)器,BGP云服務(wù)器,雙線云服務(wù)器,高防云服務(wù)器,成都云服務(wù)器,服務(wù)器托管。精選鉅惠,歡迎咨詢:028-86922220。
網(wǎng)站題目:Linux使用軟鏈接方便共享庫(kù)操作(linux下使用共享庫(kù)的軟鏈接)
分享URL:http://m.fisionsoft.com.cn/article/djsopho.html


咨詢
建站咨詢
