Linux建鏈接文件的命令是“l(fā)n”。ln命令用于給指定的文件創(chuàng)建一個(gè)鏈接文件,該命令既可以用于創(chuàng)建軟鏈接文件也可以用于創(chuàng)建硬鏈接文件,語(yǔ)法“l(fā)n [參數(shù)] [源文件或目錄] [目標(biāo)文件或目錄]”。ln命令會(huì)保持每一處鏈接文件的同步性,也就是說(shuō),不論用戶改動(dòng)了哪一處,其它的文件都會(huì)發(fā)生相同的變化。
本教程操作環(huán)境:linux7.3系統(tǒng)、Dell G3電腦。
Linux建鏈接文件的命令 ln
在 Linux 中,ln 命令用于給指定的文件創(chuàng)建一個(gè)鏈接文件,該命令既可以用于創(chuàng)建軟鏈接文件也可以用于創(chuàng)建硬鏈接文件。
根據(jù) Linux 系統(tǒng)存儲(chǔ)文件的特點(diǎn),鏈接的方式分為以下 2 種:
軟鏈接:類似于 Windows 系統(tǒng)中給文件創(chuàng)建快捷方式,即產(chǎn)生一個(gè)特殊的文件,該文件用來(lái)指向另一個(gè)文件,此鏈接方式同樣適用于目錄。
硬鏈接:我們知道,文件的基本信息都存儲(chǔ)在 inode 中,而硬鏈接指的就是給一個(gè)文件的 inode 分配多個(gè)文件名,通過(guò)任何一個(gè)文件名,都可以找到此文件的 inode,從而讀取該文件的數(shù)據(jù)信息。
ln 命令會(huì)保持每一處鏈接文件的同步性,也就是說(shuō),不論你改動(dòng)了哪一處,其它的文件都會(huì)發(fā)生相同的變化。
ln 命令的基本格式如下:
ln [參數(shù)] [源文件或目錄] [目標(biāo)文件或目錄]
常用參數(shù):
參數(shù) | 描述 |
---|---|
-b | 刪除,覆蓋以前建立的鏈接。 |
-d | 允許超級(jí)用戶制作目錄的硬鏈接。 |
-f | 強(qiáng)制執(zhí)行。 |
-i | 交互模式,文件存在則提示用戶是否覆蓋。 |
-n | 把符號(hào)鏈接視為一般目錄。 |
-s | 軟鏈接(符號(hào)鏈接)。 |
-v | 顯示詳細(xì)的處理過(guò)程。 |
說(shuō)明:
ln 的鏈接分軟鏈接和硬鏈接兩種,軟鏈接就是 ln –s 源文件 目標(biāo)文件,它只會(huì)在你選定的位置上生成一個(gè)文件的鏡像,不會(huì)占用磁盤空間,硬鏈接 ln 源文件 目標(biāo)文件,沒有參數(shù) -s, 它會(huì)在你選定的位置上生成一個(gè)和源文件大小相同的文件,無(wú)論是軟鏈接還是硬鏈接,文件都保持同步變化。
ln 指令用在鏈接文件或目錄,如同時(shí)指定兩個(gè)以上的文件或目錄,且最后的目的地是一個(gè)已經(jīng)存在的目錄,則會(huì)把前面指定的所有文件或目錄復(fù)制到該目錄中。若同時(shí)指定多個(gè)文件或目錄,且最后的目的地并非是一個(gè)已存在的目錄,則會(huì)出現(xiàn)錯(cuò)誤信息。
【例 1】創(chuàng)建硬鏈接:
[root@localhost ~]# touch cangls [root@localhost ~]# ln /root/cangls /tmp #建立硬鏈接文件,目標(biāo)文件沒有寫文件名,會(huì)和原名一致 #也就是/tmp/cangls 是硬鏈接文件
【例 2】創(chuàng)建軟鏈接:
[root@localhost ~]# touch bols [root@localhost ~]# In -s /root/bols /tmp #建立軟鏈接文件
這里需要注意,軟鏈接文件的源文件必須寫成絕對(duì)路徑,而不能寫成相對(duì)路徑(硬鏈接沒有這樣的要求);否則軟鏈接文件會(huì)報(bào)錯(cuò)。這是初學(xué)者非常容易犯的錯(cuò)誤。