linux創(chuàng)建連接的命令
linux創(chuàng)建連接的命令
Linux系統(tǒng)下ln命令是經(jīng)常用到的命令之一,它為一個文件在另一位置創(chuàng)建同步鏈接。下面由學(xué)習(xí)啦小編為大家整理了linux創(chuàng)建命令的相關(guān)知識,希望大家喜歡!
linux創(chuàng)建連接命令——ln命令
常用參數(shù):
-f : 鏈接時先將與 dist 同名的文件刪除
-d : 允許系統(tǒng)管理者硬鏈結(jié)自己的目錄
-i : 在刪除與 dist 同名的文件時先進(jìn)行詢問
-n : 在進(jìn)行軟鏈接時,將 dist 視為一般的文件
-s : 進(jìn)行軟鏈接(symbolic link)
-v : 在連結(jié)之前顯示其檔名
-b : 將在鏈結(jié)時會被覆寫或刪除的檔案進(jìn)行備份
一、linux創(chuàng)建符號鏈接(symbolic link)
只是在某一位置上對指定文件的一個鏡像,是該文件的位置信息,會保持鏈接的同步性,可在不同的文件系統(tǒng)之間進(jìn)行符號鏈接
1.先創(chuàng)建一個文本文件1.txt:touch命令創(chuàng)建一個空文本文件
2.創(chuàng)建1.txt的符號鏈接(軟鏈接):
3.再查看:
該目錄下多了2.txt而且是粗體。
這里看2.txt和1.txt的權(quán)限,以及大小。這時1.txt是空文本,而2.txt是有內(nèi)容的
4.向1.txt中隨便寫入內(nèi)容再查看:
注:1.txt與2.txt的inode號不同,因為2.txt是1.txt的符號鏈接,是1.txt的引用,2.txt中保存1.txt的位置信息,所以當(dāng)1.txt為空時,2.txt仍有5個字節(jié)的大小,且當(dāng)1.txt中由內(nèi)容時,2.txt大小并不變。
linux系統(tǒng)通過inode來檢索標(biāo)識文件
2.txt文件類型是:符號鏈接文件,權(quán)限為:對所有用戶都有讀,寫和執(zhí)行的權(quán)限。
二.linux創(chuàng)建硬鏈接(hard link)
1.創(chuàng)建到1.txt到3.txt的硬鏈接:
注:1.txt與3.txt的inode相同,與符號鏈接不同。而且1.txt與3.txt大小文件權(quán)限屬性相同,說明3.txt是1.txt的另一個名稱(存在)。
2.readlink查看鏈接的目標(biāo)文件:
3.改變2.txt為3.txt的鏈接文件:
創(chuàng)建到3.txt的符號鏈接2.txt,若該目錄下有文件2.txt則覆蓋
硬鏈接的兩個限制:
1.不能創(chuàng)建到目錄的硬鏈接
2.只有在同一個文件系統(tǒng)的文件之間才能創(chuàng)建硬鏈接
也可以對多個文件創(chuàng)建鏈接到某一目錄:
ln -[f|n] [s] file1 dir1/file2 dir;會在dir目錄下創(chuàng)建file1,file2兩個鏈接文件
-f:若dir中已存在文件file1或file2,則會覆蓋已存在文件,替換為要創(chuàng)建的文件
-n:若已存在目標(biāo)路徑,則系統(tǒng)報錯,不會創(chuàng)建鏈接
補(bǔ)充:三.鏈接產(chǎn)生的原因或鏈接存在的作用
當(dāng)我們需要在不同的目錄,用到相同的文件時,我們不需要在每一個目錄下都放一個必須相同的文件,我們只要在某個固定的目錄,放上該文件,然后在其它的目錄下用ln命令鏈接(link)它就可以,不必重復(fù)的占用磁盤空間。而且在任何一個目錄下改變該文件,都會在同步到其他目錄下