Ubuntu 鏈接ln的使用:創建和刪除符號鏈接


一 、 使用方式 

ln [option] source_file dist_file   (source_file是待建立鏈接文件的文件,dist_file是新創建的鏈接文件)

-f 建立時,將同檔案名刪除. 
-i 刪除前進行詢問. 
ln -s abc cde 建立abc 的軟連接 
ln abc cde 建立abc的硬連接,

二、 軟鏈接與硬鏈接的區別(通俗)

1、硬鏈接可認為是一個文件擁有兩個文件名;而軟鏈接則是系統新建一個鏈接文件,此文件指向其所要指的文件

2、軟鏈接可對文件和文件夾,而硬鏈接僅針對文件。

三、軟鏈接與硬鏈接的區別(講解)

    對於一個文件來說,有唯一的索引接點與之對應,而對於一個索引接點號,卻可以有多個文件名與之對應。因此,在磁盤上的同一個文件可以通過不同的路徑去訪問該文件。注意在Linux下是一切皆文件的啊,文件夾、新加的硬盤 ...都可以看着文件來處理的啊。

    連接有軟連接和硬連接(hard link)之分的,軟連接(symbolic link)又叫符號連接。符號連接相當於Windows下的快捷方式。

    不可以對文件夾建立硬連接的,我們通常用的還是軟連接比較多。     
    
eg:
    ln -s source dist        # 建立軟連接
    ln source dist           # 建立硬連接


    軟鏈接實際上只是一段文字,里面包含着它所指向的文件的名字,系統看到軟鏈接后自動跳到對應的文件位置處進行處理;相反,硬聯接為文件開設一個新的目錄 項,硬鏈接與文件原有的名字是平權的,在Linux看來它們是等價的。由於這個原因,硬鏈接不能連接兩個不同文件系統上的文件。
    (1)軟連接可以 跨文件系統 ,硬連接不可以 。實踐的方法就是用共享文件把windows下的 aa.txt文本文檔連接到linux下/root目錄 下 bb,cc . ln -s aa.txt /root/bb 連接成功 。ln aa.txt /root/bb 失敗 。
    (2)關於 I節點的問題 。硬連接不管有多少個,都指向的是同一個I節點,會把 結點連接數增加,只要結點的連接數不是 0,文件就一直存在,不管你刪除的是源文件還是 連接的文件 。只要有一個存在 ,文件就 存在 (其實也不分什么源文件連接文件的 ,因為他們指向都是同一個 I節點)。 當你修改源文件或者連接文件任何一個的時候 ,其他的文件都會做同步的修改。軟鏈接不直接使用i節點號作為文件指針,而是使用文件路徑名作為指針。所以 刪除連接文件 對源文件無影響,但是刪除源文件,連接文件就會找不到要指向的文件 。軟鏈接有自己的inode,並在磁盤上有一小片空間存放路徑名.
    (3)軟連接可以對一個不存在的文件名進行連接 。
    (4)軟連接可以對目錄進行連接。

四、刪除鏈接

刪除符號鏈接,有創建就有刪除
rm -rf   symbolic_name   注意不是rm -rf   symbolic_name/ 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM