|
|
99樓

樓主 |
發(fā)表于 2009-10-20 17:22:12
|
只看該作者
本帖最后由 changyongid 于 2009-10-20 17:52 編輯
[changyongid@localhost vacs]$ ln --help
用法:ln [選項(xiàng)]... [-T] 目標(biāo) 鏈接名稱 (第一種格式) 為“目標(biāo)”創(chuàng)建一個(gè)名為“鏈接名稱”的鏈接
或:ln [選項(xiàng)]... 目標(biāo) (第二種格式) 在當(dāng)前目錄創(chuàng)建一個(gè)指向“目標(biāo)”的鏈接
或:ln [選項(xiàng)]... 目標(biāo)... 目錄 (第三種格式) 三、四兩種格式 :為目錄里的每個(gè)“目標(biāo)”創(chuàng)建鏈接
或:ln [選項(xiàng)]... -t 目錄 目標(biāo)... (第四種格式)
默認(rèn)不加“選項(xiàng)”的時(shí)候是創(chuàng)建硬鏈接。如果要?jiǎng)?chuàng)建符號(hào)鏈接,則需要加上 “--symbolic”
如果創(chuàng)建硬鏈接,則命令行中的“目標(biāo)”必須存在。符號(hào)鏈接能夠指向任意的文本,
長(zhǎng)選項(xiàng)必須用的參數(shù)在使用短選項(xiàng)時(shí)也是必需的。
--backup[=CONTROL] 為存在的目標(biāo)文件創(chuàng)建備份
-b --backup,但是不接受參數(shù)
-d, -F, --directory 建立目錄的硬鏈接
-f, --force 強(qiáng)行建立文件或目錄的鏈接,不論文件或目錄是否存在。
-n, --no-dereference 如果目的地是一個(gè)鏈接至某目錄的符號(hào)鏈接,會(huì)將
該符號(hào)鏈接當(dāng)作普通文件處理,先將該已存在的
鏈接備份或刪除
-i, --interactive 確認(rèn)是否刪除目的地文件
-s, --symbolic 創(chuàng)建符號(hào)鏈接而不是硬鏈接
-S, --suffix=SUFFIX 使用-b參數(shù)備份目標(biāo)文件后,備份文件的字毛會(huì)被加上一個(gè)后綴。默認(rèn)的是“~”,可以通過(guò)-S來(lái)改變它
-t, --target-directory=DIRECTORY 指定創(chuàng)建鏈接的路徑
備份文件的后綴為“~”,除非以 --suffix 選項(xiàng)或是 SIMPLE_BACKUP_SUFFIX
環(huán)境變量指定。版本控制的方式可透過(guò) --backup 選項(xiàng)或 VERSION_CONTROL 環(huán)境
變量來(lái)選擇。以下是可用的變量值:
none, off 不會(huì)進(jìn)行備份 (即使使用了 --backup 選項(xiàng))
numbered, t 備份文件會(huì)加上數(shù)字
existing, nil 若有數(shù)字的備份文件已經(jīng)存在則使用數(shù)字,否則使用普通方式備份
simple, never 永遠(yuǎn)使用普通方式備份
說(shuō)明:這個(gè)命令是經(jīng)常用到的。有人說(shuō)鏈接跟windows下的快捷方式差不多。但我覺得還是千萬(wàn)不要以windows的思維方式來(lái)理解。要完全的理解ln,需要對(duì)Linux里的文件系統(tǒng)有一定的了解。這里我引用網(wǎng)上的一些解釋(黑色部分為自己加的一點(diǎn)理解):
“每個(gè)存儲(chǔ)設(shè)備或存儲(chǔ)設(shè)備的分區(qū)(存儲(chǔ)設(shè)備是硬盤、軟盤、U盤 ... ...)被格式化為文件系統(tǒng)后,應(yīng)該有兩部份,一部份是inode,另一部份是Block,Block是用來(lái)存儲(chǔ)數(shù)據(jù)用的。而inode呢,就是用來(lái)存儲(chǔ)這些數(shù)據(jù)的信息,這些信息包括文件大小、屬主、歸屬的用戶組、讀寫權(quán)限等。inode為每個(gè)文件進(jìn)行信息索引,所以就有了inode的數(shù)值。操作系統(tǒng)根據(jù)指令,能通過(guò)inode值最快的找到相對(duì)應(yīng)的文件。做個(gè)比喻,比如一本書,存儲(chǔ)設(shè)備或分區(qū)就相當(dāng)于這本書,Block相當(dāng)于書中的每一頁(yè),inode 就相當(dāng)于這本書前面的目錄,一本書有很多的內(nèi)容,如果想查找某部份的內(nèi)容,我們可以先查目錄,通過(guò)目錄能最快的找到我們想要看的內(nèi)容。雖然不太恰當(dāng),但還是比較形象。
在Linux 文件系統(tǒng)中,inode值相同的文件是硬鏈接文件,也就是說(shuō),不同的文件名,inode可能是相同的,一個(gè)inode值可以對(duì)應(yīng)多個(gè)文件。理解鏈接文件并不難,看看例子就會(huì)了。在Linux中,鏈接文件是通過(guò)ln工具來(lái)創(chuàng)建的。 (那么創(chuàng)建硬鏈接,即是創(chuàng)建一個(gè)inode,它也指向某個(gè)文件。這樣,對(duì)于這個(gè)文件,同時(shí)就有兩個(gè)inode來(lái)指向它。刪除某個(gè)文件時(shí),即刪除了它對(duì)應(yīng)的inode,如果刪除了兩上inode中的一個(gè),文件還是存在的。因?yàn)檫有一個(gè)inode指向它。硬鏈接只能鏈接文件,而不能鏈接目錄。且不能鏈接別的文件系統(tǒng)里的文件(即不同分區(qū)的文件))
軟鏈接也叫符號(hào)鏈接,他和硬鏈接有所不同,軟鏈接文件只是其源文件的一個(gè)標(biāo)記。當(dāng)我們刪除了源文件后,鏈接文件不能獨(dú)立存在,雖然仍保留文件名,但我們卻不能查看軟鏈接文件的內(nèi)容了
(由上面的解釋可以了解到,鏈接好比一個(gè)指針一樣,我們通過(guò)它來(lái)訪問(wèn)文件或目錄,修改它也實(shí)際上就修改了那個(gè)文件或目錄)
” |
|