1 . 使用方式 :ln [option] source_file dist_file (source_file是待建立鏈接文件的文件,dist_file是新創(chuàng)建的鏈接文件)
創(chuàng)新互聯(lián)建站不只是一家網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司;我們對營銷、技術(shù)、服務(wù)都有自己獨特見解,公司采取“創(chuàng)意+綜合+營銷”一體化的方式為您提供更專業(yè)的服務(wù)!我們經(jīng)歷的每一步也許不一定是最完美的,但每一步都有值得深思的意義。我們珍視每一份信任,關(guān)注我們的網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計質(zhì)量和服務(wù)品質(zhì),在得到用戶滿意的同時,也能得到同行業(yè)的專業(yè)認(rèn)可,能夠為行業(yè)創(chuàng)新發(fā)展助力。未來將繼續(xù)專注于技術(shù)創(chuàng)新,服務(wù)升級,滿足企業(yè)一站式網(wǎng)絡(luò)營銷推廣需求,讓再小的高端網(wǎng)站設(shè)計也能產(chǎn)生價值!
-f 建立時,將同檔案名刪除.
-i 刪除前進(jìn)行詢問.
ln -s abc cde 建立abc 的軟連接
ln abc cde 建立abc的硬連接,
對于一個文件來說,有唯一的索引接點與之對應(yīng),而對于一個索引接點號,卻可以有多個文件名與之對應(yīng)。因此,在磁盤上的同一個文件可以通過不同的路徑去訪問該文件。注意在Linux下是一切皆文件的啊,文件夾、新加的硬盤 ...都可以看著文件來處理的啊。
連接有軟連接和硬連接(hard link)之分的,軟連接(symbolic link)又叫符號連接。符號連接相當(dāng)于Windows下的快捷方式。
不可以對文件夾建立硬連接的,我們通常用的還是軟連接比較多。
eg:
ln -s source dist # 建立軟連接
ln source dist # 建立硬連接
軟鏈接實際上只是一段文字,里面包含著它所指向的文件的名字,系統(tǒng)看到軟鏈接后自動跳到對應(yīng)的文件位置處進(jìn)行處理;相反,硬聯(lián)接為文件開設(shè)一個新的目錄 項,硬鏈接與文件原有的名字是平權(quán)的,在Linux看來它們是等價的。由于這個原因,硬鏈接不能連接兩個不同文件系統(tǒng)上的文件。
(1)軟連接可以 跨文件系統(tǒng) ,硬連接不可以 。實踐的方法就是用共享文件把windows下的 aa.txt文本文檔連接到linux下/root目錄 下 bb,cc . ln -s aa.txt /root/bb 連接成功 。ln aa.txt /root/bb 失敗 。
(2)關(guān)于 I節(jié)點的問題 。硬連接不管有多少個,都指向的是同一個I節(jié)點,會把 結(jié)點連接數(shù)增加,只要結(jié)點的連接數(shù)不是 0,文件就一直存在,不管你刪除的是源文件還是 連接的文件 。只要有一個存在 ,文件就 存在 (其實也不分什么源文件連接文件的 ,因為他們指向都是同一個 I節(jié)點)。 當(dāng)你修改源文件或者連接文件任何一個的時候 ,其他的文件都會做同步的修改。軟鏈接不直接使用i節(jié)點號作為文件指針,而是使用文件路徑名作為指針。所以 刪除連接文件 對源文件無影響,但是刪除源文件,連接文件就會找不到要指向的文件 。軟鏈接有自己的inode,并在磁盤上有一小片空間存放路徑名.
(3)軟連接可以對一個不存在的文件名進(jìn)行連接 。
(4)軟連接可以對目錄進(jìn)行連接。
備 注:I節(jié)點 :它是UNIX內(nèi)部用于描述文件特性的數(shù)據(jù)結(jié)構(gòu).我們通常稱I節(jié)點為文件索引結(jié)點(信息結(jié)點).i節(jié)點含有關(guān)于文件的大部分的重要信息,包括文件數(shù)據(jù)塊在 磁盤上的地址.每一個I節(jié)點有它自己的標(biāo)志號,我們稱為文件順序號.I節(jié)點包含的信息 1.文件類型 2.文件屬主關(guān)系 3.文件的訪問權(quán)限 4.文件的時間截.
最后 刪除符號鏈接,有創(chuàng)建就有刪除
rm -rf symbolic_name 注意不是rm -rf symbolic_name/
在Linux系統(tǒng)中,內(nèi)核為每一個新創(chuàng)建的文件分配一個Inode(索引結(jié)點),每個文件都有一個惟一的inode號。文件屬性保存在索引結(jié)點里,在訪問文件時,索引結(jié)點被復(fù)制到內(nèi)存在,從而實現(xiàn)文件的快速訪問。
鏈接是一種在共享文件和訪問它的用戶的若干目錄項之間建立聯(lián)系的一種方法。Linux中包括兩種鏈接:硬鏈接(Hard Link)和軟鏈接(Soft Link),軟鏈接又稱為符號鏈接(Symbolic link)。符號連接相當(dāng)于Windows下的快捷方式。
硬鏈接說白了是一個指針,指向文件索引節(jié)點,系統(tǒng)并不為它重新分配inode??梢杂?ln命令來建立硬鏈接。
語法:
ln [options] existingfile newfile(sexistingfile 待建立鏈接文件的文件,newfile是新創(chuàng)建的鏈接文件)
ln [options] existingfile-list directory
-f 建立時,將同檔案名刪除.
-i 刪除前進(jìn)行詢問.
ln -s abc cde 建立abc 的軟連接
ln abc cde 建立abc的硬連接,
用法:
第一種:為”existingfile”創(chuàng)建硬鏈接,文件名為”newfile”。
第二種:在”directory”目錄中,為”existingfile-list”中包含的所有文件創(chuàng)建一個同名的硬鏈接。
常用可選[options] –f 無論”newfile”存在與否,都創(chuàng)建鏈接。-n 如果”newfile”已存在,就不創(chuàng)建鏈接。
下面舉一些例子:
[ root@rekfan.com test]# ls -il
總計 0
1491138 -rw-r–r– 1 root root 48 07-14 14:17 file1
1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2
[ root@rekfan.com test]# ln file2 file2hand
[ root@rekfan.com test]# ls -il
總計 0
1491138 -rw-r–r– 1 root root 48 07-14 14:17 file1
1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2
1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2hand
[ root@rekfan.com test]#
注意在創(chuàng)建鏈接前,file1 顯示的鏈接數(shù)目為1,創(chuàng)建鏈接后file1和file1hard的鏈接數(shù)目都變?yōu)?;file1和file1hard在inode號是一樣的file1和file1hard顯示的文件大小也是一樣。可見進(jìn)行了ln命令的操作結(jié)果:file1和file1hard是同一個文件的兩個名字,它們具有同樣的索引節(jié)點號和文件屬性,建立文件file1的硬鏈接,就是為file1的文件索引節(jié)點在當(dāng)前目錄上建立一個新指針。你可以刪除其中任何一個,如rm file2 ,每次只會刪除一個指針,鏈接數(shù)同時減一,當(dāng)鏈接數(shù)減為0時,內(nèi)核才會把文件內(nèi)容從磁盤上刪除。
還可以在不同目錄,但同一文件系統(tǒng)中建立文件的硬鏈接。設(shè)file1、file2在目錄/home/root/dir1中,下面的命令,在/home/root中建立file2的硬鏈接。
ln file2 /home/root/file2hard
下面的程序,是將dir1目錄中所有文件,在目錄dir2中建立硬鏈接
如果使用了 ln –f existingfile newfile,如果newfile已經(jīng)存在,則無論原來newfile是什么文件,只用當(dāng)前用戶對它有寫權(quán)限,newfile就成為exisitngfile的硬鏈接文件。
盡管硬鏈接節(jié)省空間,也是Linux系統(tǒng)整合文件系統(tǒng)的傳統(tǒng)方式,但是存在一下不足之處:
(1)不可以在不同文件系統(tǒng)的文件間建立鏈接
(2)只有超級用戶才可以為目錄創(chuàng)建硬鏈接。
軟鏈接克服了硬鏈接的不足,沒有任何文件系統(tǒng)的限制,任何用戶可以創(chuàng)建指向目錄的符號鏈接。因而現(xiàn)在更為廣泛使用,它具有更大的靈活性,甚至可以跨越不同機器、不同網(wǎng)絡(luò)對文件進(jìn)行鏈接。
建立軟鏈接,只要在ln后面加上選項 –s,下面舉個例子
[ root@rekfan.com test]# ls -il
總計 0
1491138 -rw-r–r– 1 root root 48 07-14 14:17 file1
1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2
1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2hand
[ root@rekfan.com test]# ln -s file1 file1soft
[ root@rekfan.com test]# ls -il
總計 0
1491138 -rw-r–r– 1 root root 48 07-14 14:17 file1
1491140 lrwxrwxrwx 1 root root 5 07-14 14:24 file1soft - file1
1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2
1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2hand
從上面鏈接后的結(jié)果可以看出來軟鏈接與硬鏈接,區(qū)別不僅僅是在概念上,在實現(xiàn)上也是不同的。區(qū)別:硬鏈接原文件&鏈接文件公用一個inode號,說明他們是同一個文件,而軟鏈接原文件&鏈接文件擁有不同的inode號,表明他們是兩個不同的文件;在文件屬性上軟鏈接明確寫出了是鏈接文件,而硬鏈接沒有寫出來,因為在本質(zhì)上硬鏈接文件和原文件是完全平等關(guān)系;鏈接數(shù)目是不一樣的,軟鏈接的鏈接數(shù)目不會增加;文件大小是不一樣的,硬鏈接文件顯示的大小是跟原文件是一樣的,這用強調(diào),因為是等同的嘛,而這里軟鏈接顯示的大小與原文件就不同了,file1大小是48B,而file1soft是5B,這里面的5實際上就是“file1”的大小。
總之,建立軟鏈接就是建立了一個新文件。當(dāng)訪問鏈接文件時,系統(tǒng)就會發(fā)現(xiàn)他是個鏈接文件,它讀取鏈接文件找到真正要訪問的文件。
在不同系統(tǒng)之間建立軟鏈接、對目錄建立鏈接,這里就不舉例了,讀者可以自己去嘗試,我也是在不斷實踐中學(xué)習(xí)的。
當(dāng)然軟鏈接也有硬鏈接沒有的缺點,因為鏈接文件包含有原文件的路徑信息,所以當(dāng)原文件從一個目錄下移到其他目錄中,再訪問鏈接文件,系統(tǒng)就找不到了~~,而硬鏈接就沒有這個缺陷,你想怎么移就怎么移(呵呵);還有它要系統(tǒng)分配額外的空間用于建立新的索引節(jié)點和保存原文件的路徑。
補充一下:可以通過symlink來查看鏈接文件,可以用 man symlink來學(xué)習(xí)。
三、刪除鏈接
有創(chuàng)建就有刪除
rm -rf symbolic_name 注意不是rm -rf symbolic_name/
[ root@rekfan.com test]# ls -il
總計 0
1491138 -rw-r–r– 1 root root 0 07-14 14:17 file1
1491140 lrwxrwxrwx 1 root root 5 07-14 14:24 file1soft - file1
1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2
1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2hand
[ root@rekfan.com test]# rm -rf file1soft
[ root@rekfan.com test]# ls -il
總計 0
1491138 -rw-r–r– 1 root root 0 07-14 14:17 file1
1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2
1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2hand
[ root@rekfan.com test]#
————————————
linux 軟連接和硬鏈接的區(qū)別:
————————————
4點不同 :
(1)軟連接可以 跨文件系統(tǒng) ,硬連接不可以 。
實踐的方法就是用共享文件把windows下的 aa.txt文本文檔連接到linux下/root目錄 下 bb,cc . ln -s aa.txt
/root/bb 連接成功 。ln aa.txt /root/bb 失敗 。
(2)關(guān)于 I節(jié)點的問題 。硬連接不管有多少個,都指向的是同一個I節(jié)點,會把 結(jié)點連接數(shù)增加 ,只要結(jié)點的連接數(shù)不是 0,文件就一直存在 ,不管你刪除的是
源文件還是 連接的文件 。只要有一個存在 ,文件就 存在 (其實也不分什么 源文件連接文件的 ,因為他們指向都是同一個 I節(jié)點)。 當(dāng)你修改源文件或者連接文件
任何一個的時候 ,其他的 文件都會做同步的修改 。軟鏈接不直接使用i節(jié)點號作為文件指針,而是使用文件路徑名作為指針。所以 刪除連接文件 對源文件無影響,但
是 刪除 源文件,連接文件就會找不到要指向的文件 。軟鏈接有自己的inode,并在磁盤上有一小片空間存放路徑名.
(3)軟連接可以對一個不存在的文件名進(jìn)行連接 。
(4)軟連接可以對目錄進(jìn)行連接。
備注:I節(jié)點 :它是UNIX內(nèi)部用于描述文件特性的數(shù)據(jù)結(jié)構(gòu).我們通常稱I節(jié)點為文件索引結(jié)點(信息結(jié)點).i節(jié)點 含有關(guān)于文件的大部分的重要信 息,包括文件數(shù)據(jù)塊在
磁盤上的地址.每一個I節(jié)點有它自己的標(biāo)志號,我們稱為文件順序號.I節(jié)點包含的信息 1.文件類型 2.文件屬主關(guān)系 3.文件的訪問權(quán)限 4.文件的時間截.
Linux下取消軟連接,做個案例來說明:
1.先建立一個軟連接
[root@rekfan.com?test]#?ls?-il
總計??0
1491138?-rw-r–r–?1?root?root?48?07-14?14:17?file1
1491139?-rw-r–r–?2??root?root?0?07-14?14:17?file2
1491139?-rw-r–r–?2?root?root?0?07-14?14:17??file2hand
#建立file1和file1soft軟連接
[root@rekfan.com?test]#?ln?-s?file1??file1soft
[root@rekfan.com?test]#?ls?-il
總計?0
1491138?-rw-r–r–?1?root??root?48?07-14?14:17?file1
1491140?lrwxrwxrwx?1?root?root?5?07-14?14:24??file1soft?-?file1
1491139?-rw-r–r–?2?root?root?0?07-14?14:17??file2
1491139?-rw-r–r–?2?root?root?0?07-14?14:17?file2hand
2.刪除上面建立的軟連接
[root@rekfan.com?test]#?ls?-il
總計??0
1491138?-rw-r–r–?1?root?root?0?07-14?14:17?file1
1491140?lrwxrwxrwx?1??root?root?5?07-14?14:24?file1soft?-?file1
1491139?-rw-r–r–?2?root?root?0??07-14?14:17?file2
1491139?-rw-r–r–?2?root?root?0?07-14?14:17??file2hand
#刪除軟連接
[root@rekfan.com?test]#?rm?-rf?file1soft
[root@rekfan.com?test]#??ls?-il
總計?0
1491138?-rw-r–r–?1?root?root?0?07-14?14:17?file1
1491139??-rw-r–r–?2?root?root?0?07-14?14:17?file2
1491139?-rw-r–r–?2?root?root?0?07-14??14:17?file2hand
【軟連接】
軟連接是linux中一個常用命令,它的功能是為某一個文件在另外一個位置建立一個同不的鏈接。相當(dāng)于window系統(tǒng)中的快捷方式
具體用法是:ln -s 源文件 目標(biāo)文件 或者 ln -s 源目錄 目標(biāo)目錄
當(dāng)我們需要在不同的目錄,用到相同的文件時,我們不需要在每一個需要的目錄下都放一個必須相同的文件,我們只要在其它的 目錄下用ln命令鏈接(link)就可以,不必重復(fù)的占用磁盤空間。
例如:ln -s /home/test1 /data/test1
這樣我們就對/home/test1目錄創(chuàng)建了軟連接 ,在/data/test1中打開看到的就是/home/test1目錄下的文件
使用方式
創(chuàng)建軟鏈接
ln -s [源文件或目錄] [目標(biāo)文件或目錄]
例:當(dāng)前路徑創(chuàng)建test 引向/var/www/test 文件夾
ln –s /var/www/test ./test (此處建議一定要寫絕對路徑,最好寫到根目錄,而且當(dāng)前目錄中藥刪除test)
例:創(chuàng)建/var/test 引向/var/www/test 文件夾
ln –s /var/www/test /var/test
修改軟鏈接
這將會修改原有的鏈接地址為新的地址
ln –snf [新的源文件或目錄] [目標(biāo)文件或目錄]
例如:
創(chuàng)建一個軟鏈接
ln –s /var/www/test /var/test
修改指向的新路徑
ln –snf /var/www/test1 /var/test
刪除軟鏈接
和刪除普通的文件是一樣的,刪除都是使用rm來進(jìn)行操作,
例:刪除test
rm –rf test
正確的刪除方式(刪除軟鏈接,但不刪除實際數(shù)據(jù))
rm -rf ./test
錯誤的刪除方式
rm -rf ./test/ (這樣就會把原來test下,源文件的內(nèi)容也刪除)
建議使用rm test 待顯示刪除確認(rèn)提示的時候
頁面出現(xiàn) rm: remove symbolic link test yes等字樣 說明你正在操作的是軟連接,而不是目錄。
一定要注意啊。亂用rm 還刪除目錄下的全部文件,還循環(huán),后果很嚴(yán)重,要再三確認(rèn)
ln常用參數(shù):
-f : 鏈結(jié)時先將與 dist 同檔名的檔案刪除
-d : 允許系統(tǒng)管理者硬鏈結(jié)自己的目錄
-i : 在刪除與 dist 同檔名的檔案時先進(jìn)行詢問
-n : 在進(jìn)行軟連結(jié)時,將 dist 視為一般的檔案
-s : 進(jìn)行軟鏈結(jié)(symbolic link)
-v : 在連結(jié)之前顯示其檔名
-b : 將在鏈結(jié)時會被覆寫或刪除的檔案進(jìn)行備份
-S SUFFIX : 將備份的檔案都加上 SUFFIX 的字尾
-V METHOD : 指定備份的方式
--help : 顯示輔助說明
--version : 顯示版本
【硬連接】
硬連接指通過索引節(jié)點來進(jìn)行連接。在Linux的文件系統(tǒng)中,保存在磁盤分區(qū)中的文件不管是什么類型都給它分配一個編號,稱為索引節(jié)點號(Inode Index)。在Linux中,多個文件名指向同一索引節(jié)點是存在的。一般這種連接就是硬連接。硬連接的作用是允許一個文件擁有多個有效路徑名,這樣用戶就可以建立硬連接到重要文件,以防止“誤刪”的功能。其原因如上所述,因為對應(yīng)該目錄的索引節(jié)點有一個以上的連接。只刪除一個連接并不影響索引節(jié)點本身和其它的連接,只有當(dāng)最后一個連接被刪除后,文件的數(shù)據(jù)塊及目錄的連接才會被釋放。也就是說,文件真正刪除的條件是與之相關(guān)的所有硬連接文件均被刪除。
1、在/run目錄下存放文件,但是/run目錄剩余3.5G了,空間很小,根目錄還有42G空余空間,我們可以將文件放在/目錄,然后軟連接到/run目錄下。
2、創(chuàng)建軟連接:/root/zhang目錄下存在圖中zabbix這個安裝包,文件過大,我們創(chuàng)建軟連接到/run目錄,讓/run/wang目錄也可以訪問到。
3、in -s[源文件或目錄] [目標(biāo)文件或目錄]ln -s是必須的,然后后面跟一個目標(biāo)文件夾,最后是一個當(dāng)前目錄的軟連接名。
4、刪除軟連接,不要進(jìn)行實際存儲文件的路徑進(jìn)行刪除,可能會誤刪除實際存放的數(shù)據(jù)。
網(wǎng)站名稱:linux命令刪除軟連接 linux刪除文件鏈接
轉(zhuǎn)載來源:http://www.rwnh.cn/article16/doppogg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、營銷型網(wǎng)站建設(shè)、、定制網(wǎng)站、云服務(wù)器、網(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)