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