linux 連結ln的使用 建立和刪除符號連線(軟、硬連結)
阿新 • • 發佈:2019-02-02
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)又叫符號連線
不可以對資料夾建立硬連線的,我們通常用的還是軟連線比較多。
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)軟連線可以對目錄進行連線。 最後 刪除符號連結,有建立就有刪除
ln -s /home/soft /usr/local/soft
原始檔的目錄: 真實存放檔案的目錄;/home/soft
目標檔案連結: windows下的快捷方式的存放位置; /usr/local/soft
刪除連結
rm -rf /home/soft
這裡也會將真正的檔案給刪除, 刪除前注意備份