<span id="vexk9"><table id="vexk9"></table></span>

      ln

      用來(lái)為文件創(chuàng)建鏈接

      補(bǔ)充說(shuō)明

      ln命令 用來(lái)為文件創(chuàng)建鏈接,鏈接類型分為硬鏈接和符號(hào)鏈接兩種,默認(rèn)的鏈接類型是硬鏈接。如果要?jiǎng)?chuàng)建符號(hào)鏈接必須使用"-s"選項(xiàng)。

      注意:符號(hào)鏈接文件不是一個(gè)獨(dú)立的文件,它的許多屬性依賴于源文件,所以給符號(hào)鏈接文件設(shè)置存取權(quán)限是沒有意義的。

      語(yǔ)法

      ln [選項(xiàng)]... [-T] 目標(biāo) 鏈接名	(第一種格式)
       或:ln [選項(xiàng)]... 目標(biāo)		(第二種格式)
       或:ln [選項(xiàng)]... 目標(biāo)... 目錄	(第三種格式)
       或:ln [選項(xiàng)]... -t 目錄 目標(biāo)...	(第四種格式)
      

      選項(xiàng)

          --backup[=CONTROL]  為每個(gè)已存在的目標(biāo)文件創(chuàng)建備份文件
      -b        類似--backup,但不接受任何參數(shù)
      -d, -F, --directory   創(chuàng)建指向目錄的硬鏈接(只適用于超級(jí)用戶)
      -f, --force     強(qiáng)行刪除任何已存在的目標(biāo)文件
      -i, --interactive           覆蓋既有文件之前先詢問(wèn)用戶
      -L, --logical               取消引用作為符號(hào)鏈接的目標(biāo)
      -n, --no-dereference        把符號(hào)鏈接的目的目錄視為一般文件
      -P, --physical              直接將硬鏈接到符號(hào)鏈接
      -r, --relative              創(chuàng)建相對(duì)于鏈接位置的符號(hào)鏈接
      -s, --symbolic              對(duì)源文件建立符號(hào)鏈接,而非硬鏈接
      -S, --suffix=SUFFIX         用"-b"參數(shù)備份目標(biāo)文件后,備份文件的字尾會(huì)被加上一個(gè)備份字符串,預(yù)設(shè)的備份字符串是符號(hào)“~”,用戶可通過(guò)“-S”參數(shù)來(lái)改變它
      -t, --target-directory=DIRECTORY  指定要在其中創(chuàng)建鏈接的DIRECTORY
      -T, --no-target-directory   將“LINK_NAME”視為常規(guī)文件
      -v, --verbose               打印每個(gè)鏈接文件的名稱
          --help    顯示此幫助信息并退出
          --version   顯示版本信息并退出
      

      參數(shù)

      none, off       # 不進(jìn)行備份(即使使用了--backup 選項(xiàng))
      numbered, t     # 備份文件加上數(shù)字進(jìn)行排序
      existing, nil   # 若有數(shù)字的備份文件已經(jīng)存在則使用數(shù)字,否則使用普通方式備份
      simple, never   # 永遠(yuǎn)使用普通方式備份
      

      實(shí)例

      將目錄/usr/mengqc/mub1下的文件m2.c鏈接到目錄/usr/liu下的文件a2.c

      cd /usr/mengqc
      ln /mub1/m2.c /usr/liu/a2.c
      

      在執(zhí)行l(wèi)n命令之前,目錄/usr/liu中不存在a2.c文件。執(zhí)行l(wèi)n之后,在/usr/liu目錄中才有a2.c這一項(xiàng),表明m2.c和a2.c鏈接起來(lái)(注意,二者在物理上是同一文件),利用ls -l命令可以看到鏈接數(shù)的變化。

      在目錄/usr/liu下建立一個(gè)符號(hào)鏈接文件abc,使它指向目錄/usr/mengqc/mub1

      ln -s /usr/mengqc/mub1 /usr/liu/abc
      

      執(zhí)行該命令后,/usr/mengqc/mub1代表的路徑將存放在名為/usr/liu/abc的文件中。

      擴(kuò)展知識(shí)

      Linux具有為一個(gè)文件起多個(gè)名字的功能,稱為鏈接。被鏈接的文件可以存放在相同的目錄下,但是必須有不同的文件名,而不用在硬盤上為同樣的數(shù)據(jù)重復(fù)備份。另外,被鏈接的文件也可以有相同的文件名,但是存放在不同的目錄下,這樣只要對(duì)一個(gè)目錄下的該文件進(jìn)行修改,就可以完成對(duì)所有目錄下同名鏈接文件的修改。對(duì)于某個(gè)文件的各鏈接文件,我們可以給它們指定不同的存取權(quán)限,以控制對(duì)信息的共享和增強(qiáng)安全性。

      文件鏈接有兩種形式,即硬鏈接和符號(hào)鏈接。

      ln功能說(shuō)明:是為某一個(gè)文件在另外一個(gè)位置建立一個(gè)同步的鏈接,當(dāng)我們需要在不同的目錄,用到相同的文件時(shí),我們不需要在每一個(gè)需要的目錄下都放一個(gè)必須相同的文件,我們只要在某個(gè)固定的目錄,放上該文件,然后在其它的目錄下用ln命令鏈接(link)它就可以,不必重復(fù)的占用磁盤空間。

      :warning: ln命令會(huì)保持每一處鏈接文件的同步性,也就是說(shuō),不論你改動(dòng)了哪一處,其它的文件都會(huì)發(fā)生相同的變化。

      硬鏈接

      建立硬鏈接時(shí),在另外的目錄或本目錄中增加目標(biāo)文件的一個(gè)目錄項(xiàng),這樣,一個(gè)文件就登記在多個(gè)目錄中。如下所示的m2.c文件就在目錄mub1和liu中都建立了目錄項(xiàng)。

      ls -ailR
      .:
      total 16
      922730 drwxr-xr-x  4 root root 4096 Jun 17 11:18 .
      393217 drwxrwxrwt. 9 root root 4096 Jun 17 11:19 ..
      922733 drwxr-xr-x  2 root root 4096 Jun 17 11:18 liu
      922731 -rw-r--r--  3 root root    0 Jun 17 11:18 m2.c
      922732 drwxr-xr-x  2 root root 4096 Jun 17 11:18 mub1
      
      ./liu:
      total 8
      922733 drwxr-xr-x 2 root root 4096 Jun 17 11:18 .
      922730 drwxr-xr-x 4 root root 4096 Jun 17 11:18 ..
      922731 -rw-r--r-- 3 root root    0 Jun 17 11:18 m2.c
      
      ./mub1:
      total 8
      922732 drwxr-xr-x 2 root root 4096 Jun 17 11:18 .
      922730 drwxr-xr-x 4 root root 4096 Jun 17 11:18 ..
      922731 -rw-r--r-- 3 root root    0 Jun 17 11:18 m2.c
      

      創(chuàng)建硬鏈接后,己經(jīng)存在的文件的索引節(jié)點(diǎn)號(hào)(inode)會(huì)被多個(gè)目錄文件項(xiàng)使用。一個(gè)文件的硬鏈接數(shù)可以在目錄的長(zhǎng)列表格式的第二列中看到,無(wú)額外鏈接的文件的鏈接數(shù)為1。

      在默認(rèn)情況下,ln命令創(chuàng)建硬鏈接。ln命令會(huì)增加鏈接數(shù),rm命令會(huì)減少鏈接數(shù)。一個(gè)文件除非鏈接數(shù)為0,否則不會(huì)從文件系統(tǒng)中被物理地刪除。

      對(duì)硬鏈接有如下限制:

      符號(hào)鏈接

      符號(hào)鏈接也稱為軟鏈接,是將一個(gè)路徑名鏈接到一個(gè)文件。這些文件是一種特別類型的文件。事實(shí)上,它只是一個(gè)文本文件(如下所示的abc文件),其中包含它提供鏈接的另一個(gè)文件的路徑名,如虛線箭頭所示。另一個(gè)文件是實(shí)際包含所有數(shù)據(jù)的文件。所有讀、寫文件內(nèi)容的命令被用于符號(hào)鏈接時(shí),將沿著鏈接方向前進(jìn)來(lái)訪問(wèn)實(shí)際的文件。

      $ ls -il
      total 0
      922736 lrwxrwxrwx 1 root root 5 Jun 17 11:27 abc -> a.txt
      922735 -rw-r--r-- 1 root root 0 Jun 17 11:27 a.txt
      

      與硬鏈接不同的是,符號(hào)鏈接確實(shí)是一個(gè)新文件,當(dāng)然它具有不同的索引節(jié)點(diǎn)號(hào);而硬鏈接并沒有建立新文件。

      符號(hào)鏈接沒有硬鏈接的限制,可以對(duì)目錄文件做符號(hào)鏈接,也可以在不同文件系統(tǒng)之間做符號(hào)鏈接。

      ln -s命令建立符號(hào)鏈接時(shí),源文件最好用絕對(duì)路徑名。這樣可以在任何工作目錄下進(jìn)行符號(hào)鏈接。而當(dāng)源文件用相對(duì)路徑時(shí),如果當(dāng)前的工作路徑與要?jiǎng)?chuàng)建的符號(hào)鏈接文件所在路徑不同,就不能進(jìn)行鏈接。

      符號(hào)鏈接保持了鏈接與源文件或目錄之間的區(qū)別:

      主站蜘蛛池模板: 亚洲综合色丁香麻豆| 一本一本久久A久久综合精品| 国产成人精品综合| 大香网伊人久久综合观看| 六月婷婷激情综合| 久久综合狠狠综合久久| 99久久婷婷国产综合亚洲| 亚洲五月综合网色九月色| 久久亚洲精品高潮综合色a片| 国产色综合天天综合网| 色成年激情久久综合| 狠狠久久综合伊人不卡| 狠狠色狠狠色综合曰曰| 一本色道久久88—综合亚洲精品| 久久综合狠狠综合久久97色| 狠狠色伊人亚洲综合网站色| 国产精品综合久成人| 一本色道久久综合无码人妻| 色婷婷综合久久久久中文一区二区 | 亚洲精品国产综合久久一线 | 一本久道综合色婷婷五月| 亚洲伊人色欲综合网| 伊人久久亚洲综合影院| 日日狠狠久久偷偷色综合免费| 五月婷婷激情综合| 色综合AV综合无码综合网站| 久久久综合九色合综国产精品| 久久综合视频网站| 五月综合色婷婷影院在线观看 | 天天综合天天综合色在线| 色综合天天综合网站中国| 激情综合亚洲色婷婷五月| 色综合天天综一个色天天综合网| 亚洲国产精品成人综合色在线婷婷 | 精品久久久久久亚洲综合网| 噜噜综合亚洲AV中文无码| 婷婷久久久五月综合色| 伊人亚洲综合青草青草久热| 亚洲av一综合av一区| 综合五月激情五月开心婷婷| 色噜噜狠狠色综合成人网|