軟連接 - Linux軟連接創(chuàng)建及一個(gè)“坑”

導(dǎo)語

Linux 在生成文件的時(shí)候,內(nèi)容會(huì)為每一個(gè)文件生成一個(gè)唯一的索引節(jié)點(diǎn)(Inode),文件的屬性都會(huì)保存在這個(gè)Inode中。

鏈接是一種在共享文件和訪問它的用戶的若干目錄項(xiàng)之間建立聯(lián)系的一種方法,有軟鏈接和硬鏈接之分

軟鏈接又叫符號(hào)鏈接(symbol links),類似于Windows下面的快捷鍵


這里著重說明軟鏈接和遇到一個(gè)問題

軟鏈接克服了硬鏈接的不足,沒有任何文件系統(tǒng)的限制,任何用戶可以創(chuàng)建指向目錄的符號(hào)鏈接。因而現(xiàn)在更為廣泛使用,它具有更大的靈活性,甚至可以跨越不同機(jī)器、不同網(wǎng)絡(luò)對(duì)文件進(jìn)行鏈接。


創(chuàng)建

語法 ln -s target-path new-path
實(shí)際驗(yàn)證

root@pts/3 $ touch file1 file2
milian-backend [/devOps/temp/20160810] 2016-08-10 11:22:15
root@pts/3 $ ls -li
total 0
14682893 -rw-r--r-- 1 root root 0 Aug 10 11:22 file1
14682894 -rw-r--r-- 1 root root 0 Aug 10 11:22 file2
milian-backend [/devOps/temp/20160810] 2016-08-10 11:22:18
root@pts/3 $ ln -s file1 file1.soft
milian-backend [/devOps/temp/20160810] 2016-08-10 11:23:22
root@pts/3 $ ls -li
total 0
14682893 -rw-r--r-- 1 root root 0 Aug 10 11:22 file1
14682895 lrwxrwxrwx 1 root root 5 Aug 10 11:23 file1.soft -> file1
14682894 -rw-r--r-- 1 root root 0 Aug 10 11:22 file2
milian-backend [/devOps/temp/20160810] 2016-08-10 11:23:24

從上面的實(shí)際操作中發(fā)現(xiàn):

  • 軟鏈接原文件和 鏈接文件擁有不同的inode號(hào),表明他們是兩個(gè)不同的文件
  • 在文件屬性上軟鏈接明確寫出了是鏈接文件
  • 文件大小是不一樣的,軟鏈接文件大小始終是5
  • 軟鏈接的鏈接數(shù)目不會(huì)增加

總結(jié):

  • 優(yōu)點(diǎn):可以在不同系統(tǒng)之間建立軟鏈接、對(duì)目錄建立軟鏈接
  • 缺點(diǎn): 軟鏈接包含了文件路徑信息,如果原始文件發(fā)生轉(zhuǎn)移,則軟鏈接失效

刪除

語法:
rm symbol_name

實(shí)際操作:

root@pts/3 $ ls -li
total 4
14682893 -rw-r--r-- 1 root root    0 Aug 10 11:22 file1
14682895 lrwxrwxrwx 1 root root    5 Aug 10 11:23 file1.soft -> file1
14682897 -rw-r--r-- 1 root root 3700 Aug 10 11:28 file2
14682894 lrwxrwxrwx 1 root root    5 Aug 10 11:28 file2.soft -> file2
milian-backend [/devOps/temp/20160810] 2016-08-10 11:31:26
root@pts/3 $ rm  file1.soft
rm: remove symbolic link ‘file1.soft’? y
milian-backend [/devOps/temp/20160810] 2016-08-10 11:34:37
root@pts/3 $ ls -li
total 4
14682893 -rw-r--r-- 1 root root    0 Aug 10 11:22 file1
14682897 -rw-r--r-- 1 root root 3700 Aug 10 11:28 file2
14682894 lrwxrwxrwx 1 root root    5 Aug 10 11:28 file2.soft -> file2

注意這里刪除的是文件的軟鏈接符號(hào),如果是目錄的軟鏈接符號(hào)會(huì)怎樣?

## 生成測(cè)試的dir1目錄和目錄下的測(cè)試文件
root@pts/3 $ mkdir -p dir1/dir11
milian-backend [/devOps/temp/20160810] 2016-08-10 11:37:44
root@pts/3 $ touch dir1/dir11/dir11-file1
milian-backend [/devOps/temp/20160810] 2016-08-10 11:37:56
root@pts/3 $ ls -liR dir1/
dir1/:
total 4
14682896 drwxr-xr-x 2 root root 4096 Aug 10 11:37 dir11

dir1/dir11:
total 0
14682899 -rw-r--r-- 1 root root 0 Aug 10 11:37 dir11-file1
milian-backend [/devOps/temp/20160810] 2016-08-10 11:38:04
root@pts/3 $ ls -li
total 8
14682895 drwxr-xr-x 3 root root 4096 Aug 10 11:37 dir1

## 給dir1創(chuàng)建兩個(gè)軟鏈接
root@pts/3 $ ln -s dir1 dir1.soft
root@pts/3 $ ln -s dir1 dir1_1.soft

## 查看結(jié)果
## 這里分別通過兩個(gè)軟鏈接進(jìn)去都可以看到 相同的dir11-file1 文件
## 說明指向的是同一個(gè)目錄
root@pts/3 $ ls -li
total 8
14682895 drwxr-xr-x 3 root root 4096 Aug 10 11:37 dir1
14682901 lrwxrwxrwx 1 root root    4 Aug 10 11:39 dir1_1.soft -> dir1
14682900 lrwxrwxrwx 1 root root    4 Aug 10 11:39 dir1.soft -> dir1

## 嘗試刪除 目錄的軟鏈接看最終的效果如何
## 先用“軟鏈接符號(hào)名稱” 刪除軟鏈接,看效果
root@pts/3 $ rm dir1.soft
rm: remove symbolic link ‘dir1.soft’? y
milian-backend [/devOps/temp/20160810] 2016-08-10 11:42:16
root@pts/3 $ ls -li
total 8
14682895 drwxr-xr-x 3 root root 4096 Aug 10 11:37 dir1
14682901 lrwxrwxrwx 1 root root    4 Aug 10 11:39 dir1_1.soft -> dir1
## 這里看到原始的目錄 dir1 還是存在的,這樣刪除是沒有問題的

#############################################
## 這里用另外一個(gè)方式刪除
## 出現(xiàn)這種方式的原因主要是因?yàn)?運(yùn)維人員一般都是喜歡用 TAB 鍵,如果名稱是目錄的話,用TAB 鍵會(huì)自動(dòng)的在后面補(bǔ)充一個(gè) '/' 

root@pts/3 $ rm -rf dir1_1.soft/

## dir1 目錄還存在
root@pts/3 $ ls -li
total 8
14682895 drwxr-xr-x 2 root root 4096 Aug 10 11:47 dir1
14682901 lrwxrwxrwx 1 root root    4 Aug 10 11:39 dir1_1.soft -> dir1

## 但是 dir1目錄下面的所有東西都沒有了
root@pts/3 $ ls -lR  dir1
dir1:
total 0


“坑”

在刪除軟鏈接符號(hào)的時(shí)候,一定要注意,慎用 TAB 鍵
針對(duì)目錄的軟鏈接文件, rm -rf symbol_namerm -rf symbol_name/ 結(jié)果是完成不同的


公眾號(hào): Colinws工作室
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)載自:http://blog.csdn.net/hguisu/article/details/6122513原作...
    miaoiao閱讀 1,630評(píng)論 0 7
  • Linux系統(tǒng)一般有4個(gè)主要部分: 內(nèi)核、shell、文件系統(tǒng)和應(yīng)用程序。內(nèi)核、shell和文件系統(tǒng)一起形成了基本...
    偷風(fēng)箏的人_閱讀 3,372評(píng)論 1 17
  • 摘要:王老漢有兩個(gè)女兒,自然也就有兩個(gè)女婿。大女婿老實(shí)憨厚,不善言談;小女婿刁鉆油滑,巧舌如簧。王老漢很喜歡油嘴滑...
    27272e2aadd1閱讀 468評(píng)論 0 0
  • 欲望是永遠(yuǎn)滿足不了的,我們總是想要的太多,而得到的太少。以后可以換一種想法,對(duì)任何事情沒有期望,想必總是會(huì)得到小驚...
    苯二妹閱讀 4,951評(píng)論 0 5

友情鏈接更多精彩內(nèi)容