1. 程式人生 > >Ubuntu 連結ln的使用:建立和刪除符號連結

Ubuntu 連結ln的使用:建立和刪除符號連結

複製程式碼
    對於一個檔案來說,有唯一的索引接點與之對應,而對於一個索引接點號,卻可以有多個檔名與之對應。因此,在磁碟上的同一個檔案可以通過不同的路徑去訪問該檔案。注意在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)軟連線可以對目錄進行連線。
複製程式碼