ln命令介紹

文章作者:Tyan
博客:noahsnail.com | CSDN | 簡(jiǎn)書

鏈接文件是Linux文件系統(tǒng)的一個(gè)優(yōu)勢(shì),它可以保存一份物理文件副本和多個(gè)虛擬副本。這種虛擬的副本稱為鏈接。鏈接是目錄中指向文件真實(shí)位置的占位符。Linux系統(tǒng)中有兩種鏈接:符號(hào)鏈接和硬鏈接。

1. ln -s

符號(hào)鏈接是實(shí)實(shí)在在的文件,它指向虛擬目錄結(jié)構(gòu)中某個(gè)地方的另一個(gè)文件。兩個(gè)文件通過符號(hào)鏈接在一起,內(nèi)容并不相同。要為一個(gè)文件創(chuàng)建一個(gè)符號(hào)鏈接,原始文件必須存在。ln -s命令用來創(chuàng)建符號(hào)鏈接。

# 命令形式:ls -s source_file_name link_filename

# 創(chuàng)建符號(hào)鏈接
$ ln -s test b

# b為鏈接文件,test為源文件,`->`符號(hào)表明該文件是一個(gè)鏈接文件,文件b的大小與test不一樣。
$ ls -l
total 8
-rw-r--r--  1 ***  staff  0 11 13 13:52 a
lrwxr-xr-x  1 ***  staff  4 11 13 15:11 b -> test
-rw-r--r--  1 ***  staff  0 11 13 13:13 test

2. ln

硬連接會(huì)創(chuàng)建獨(dú)立的虛擬文件,其中包含了原始文件的位置和信息,但它們從根本上是一個(gè)文件,引用硬連接文件就等同于引用了源文件。創(chuàng)建硬連接時(shí)源文件也必須存在,不過ln命令不需要加上-s參數(shù)。

# 命令形式:ls source_file_name link_filename

# 創(chuàng)建硬連接
$ ln test c

# c為硬鏈接文件
$ ls -l
total 8
-rw-r--r--  1 ***  staff  0 11 13 13:52 a
lrwxr-xr-x  1 ***  staff  4 11 13 15:11 b -> test
-rw-r--r--  2 ***  staff  0 11 13 13:13 c
-rw-r--r--  2 ***  staff  0 11 13 13:13 test

# c和test的inode編碼是一樣的,且它們的文件大小也是一樣的。
$ ls -li
total 8
6558451 -rw-r--r--  1 ***  staff  0 11 13 13:52 a
6559485 lrwxr-xr-x  1 ***  staff  4 11 13 15:11 b -> test
6557711 -rw-r--r--  2 ***  staff  0 11 13 13:13 c
6557711 -rw-r--r--  2 ***  staff  0 11 13 13:13 test

參考文獻(xiàn):

  1. Linux命令行與shell腳本編程大全(第三版)
最后編輯于
?著作權(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)容

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