日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Linux中l(wèi)n命令用法詳解(硬鏈接)

 Kinetis 2014-05-13

硬連接指向的是節(jié)點(inode),是已存在文件的另一個名字,修改其中一個,與其連接的文件同時被修改;對硬鏈接文件進(jìn)行讀寫和刪除操作時候,效果和符號鏈接相同。但如果我們刪除硬鏈接文件的源文件,硬鏈接文件仍然存在,而且保留了原有的內(nèi)容。這時,系統(tǒng)就“忘記”了它曾經(jīng)是硬鏈接文件,而把他當(dāng)成一個普通文件。
復(fù)制代碼



用法:ln [選項]… [-T]源文件 鏈接名 (第一種格式)

或:ln [選項]… 源文件 (第二種格式)

或:ln [選項]… 源文件 … 目錄 (第三種格式)

或:ln [選項]… -t 源文件夾 鏈接名… (第四種格式)

在第一種格式中,創(chuàng)建指定名稱的鏈接且指向指定的源文件。

在第二種格式中,在當(dāng)前目錄創(chuàng)建指向源文件的鏈接。

在第三、四種格式中,在指定目錄中創(chuàng)建指向源文件的鏈接。

默認(rèn)創(chuàng)建硬鏈接,當(dāng)使用–symbolic 時創(chuàng)建符號鏈接。

當(dāng)創(chuàng)建硬鏈接時文件必須在同一個文件系統(tǒng),并且不能對目錄進(jìn)行硬鏈接。符號鏈接可以指向任意的位置,

選項說明:

–backup[=CONTROL] 為每個已存在的目標(biāo)文件創(chuàng)建備份文件

-b 類似–backup,但不接受任何參數(shù)

-d, -F, –directory 創(chuàng)建指向目錄的硬鏈接(只適用于超級用戶,而且有不可預(yù)知的風(fēng)險,慎用哦)

-f, –force 強行刪除任何已存在的目標(biāo)文件

-n, –no-dereference 如果目的地是一個已存在的鏈接至某目錄的符號鏈接,會將

該符號鏈接當(dāng)作普通文件處理,先將該已存在的

鏈接備份或刪除

-i, –interactive 詢問是否刪除目的地文件

-s, –symbolic 創(chuàng)建符號鏈接而不是硬鏈接

-t, –target-directory=目錄 在指定目錄中創(chuàng)建鏈接

-T, –no-target-directory 將鏈接名當(dāng)作普通文件(在對目錄進(jìn)行符號鏈接時要用到此選項)

舉例:

1.對某個文件創(chuàng)建一個連接

$ln -s /tmp/abc.txt ~/

此命令表示在家目錄下創(chuàng)建與源文件同名的鏈接到/tmp/abc.txt符號連接

$ln -s /tmp/abc.txt ~/abc

 http://bbs./viewthread.php?tid=214812



LINUX LS 建立連接的一些問題總結(jié)

http://hi.baidu.com/forrestyx/blog/item/5233d1ef3f5a97232df534dd.html

ls 建立的連接分為 軟連接和硬連接
1.硬鏈接文件和原文件指向同樣的數(shù)據(jù),兩者就像科隆一樣,inode號也相同,當(dāng)刪除原文件 時,硬鏈接文件仍然存在有效。但硬鏈接文件不同于文件的復(fù)制。應(yīng)該說硬鏈接文件的產(chǎn)生只是原文件所在目錄文件的內(nèi)容發(fā)生改變,原文件的數(shù)據(jù)并沒有得到復(fù) 制,而復(fù)制文件,磁盤上有兩份數(shù)據(jù)。簡單說,硬鏈接就是一個類似于別名的概念。當(dāng)原來的名字沒有了,別名照樣可以使用。 
認(rèn)識了硬鏈接究竟是怎么一回事,理解硬鏈接的兩個限制就容易多了。
(1)不允許給目錄創(chuàng)建硬鏈接;
(2)只有在同一文件系統(tǒng)中的文件之間才能創(chuàng)建鏈接。
2.軟連接和windows系統(tǒng)的快捷方式含義一樣,不做多的解釋。軟鏈接和原文件的inode不同,該文件的內(nèi)容是指向原文件的路徑信息。軟鏈接就好像是指針一樣。而硬鏈接就是引用。 
3.思考:對于文件系統(tǒng)而言,增加一個硬鏈接文件與增加一個軟鏈接文件,哪種方式將使用的空間多。 當(dāng)然是軟連接

使用:
1>為了創(chuàng)建到一個文件的另一個鏈接(別名),請輸入:

ln    -f file1    file2
這會將 file1 鏈接到新的名稱, file2。如果 file2 不存在,那么會創(chuàng)建該文件名。如果 file2 已經(jīng)存在了,那么這個文件會被替換為指向 file1的一個鏈接。然后 file1 和 file2 文件名會指向同一個文件。對其中任何一個的更改都會出現(xiàn)在另一個中。如果一個文件名被 rm 命令刪除,那么該文件并沒有完全被刪除,因為它仍然以其它的名字存在。


2>為了將文件鏈接為另一個目錄中的相同名字,請輸入:

ln    index    dir1
這會將 index 鏈接到新的名稱,dir1/index。


注意:在示例 1 中的 file2 是一個文件的名稱;在示例 2 中的 dir1 是一個已經(jīng)存在的目錄。

3>為了將幾個文件鏈接為另一個目錄中的名稱,請輸入:

ln    file2    dir2/file3    /home/dir1
這會將 file2 鏈接到新的名稱 /home/dir1/file2;將 dir2/file3 鏈接到新的名稱 /home/dir1/file3。


4>如果想要在 ln 命令中使用模式匹配字符,請輸入:

ln    dir1/* .
這會將 dir1 目錄中的所有文件鏈接到當(dāng)前目錄中, . (點),給他們在 dir1 目錄中同樣的名稱。


注意: 必須在星號和句點之間輸入一個空格。

5>為了創(chuàng)建一個符號鏈接,輸入:

ln -s /tmp/test test

這會在當(dāng)前的目錄中創(chuàng)建符號鏈接 test。 test 文件指向 /tmp/test 文件。如果 /tmp/test 文件已經(jīng)存在了,那么 cat test 命令可以列出其內(nèi)容。

6>如果想要在不指明 TargetFile 參數(shù)的情況下得到相同的結(jié)果,請輸入:

ln -s /tmp/test

@@@@問題: 建立連接之后出現(xiàn)error: 連接層數(shù)太多(采用相對路徑的原因)
解決: 源和目標(biāo)均采用絕對路徑

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多