1. 程式人生 > >linux 連結ln的使用 建立和刪除符號連線(軟、硬連結)

linux 連結ln的使用 建立和刪除符號連線(軟、硬連結)

1 . 使用方式 :ln [option] source_file dist_file   (source_file是待建立連結檔案的檔案,dist_file是新建立的連結檔案)
                    -f 建立時,將同檔案名刪除. 
                    -i 刪除前進行詢問. 
                    ln -s abc cde 建立abc 的軟連線 
                    ln abc cde 建立abc的硬連線,

2. 軟連結與硬連結的區別(通俗): 
                    硬連結可認為是一個檔案擁有兩個檔名; 

                    而軟連結則是系統新建一個連結檔案,此檔案指向其所要指的檔案

                    此外,軟連結可對檔案和資料夾。。而硬連結僅針對檔案。

3. 軟連結與硬連結的區別(講解): 

Linux 軟連線與硬連線

對於一個檔案來說,有唯一的索引接點與之對應,而對於一個索引接點號,卻可以有多個檔名與之對應。因此,在磁碟上的同一個檔案可以通過不同的路徑去訪問該檔案。注意在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/  ------------------ 例項 ----------------------------------------- 1.場景 檔案安裝在/usr/local/soft 目錄下面。 現在掛載了一個新分割槽。 名字為/home; 在不修改/usr/local/soft 軟體的配置情況下,將/usr/local/soft 中的檔案搬家到 /home/soft 中。 2.操作步驟 建立連結
ln -s  /home/soft  /usr/local/soft

原始檔的目錄: 真實存放檔案的目錄;/home/soft 
目標檔案連結: windows下的快捷方式的存放位置; /usr/local/soft

刪除連結
rm -rf /home/soft
這裡也會將真正的檔案給刪除, 刪除前注意備份