Linux軟連接建立及刪除

一、建立軟連接

  具體用法是:ln  -s   [源文件]   [軟連接文件]。node

[root@localhost folder]# pwd
/tmp/folder
[root@localhost folder]# ll
total 4
drwxr-x--- 2 root root 4096 Apr 30 16:46 files
[root@localhost folder]# ln -s /tmp/folder/files /tmp/folder/files_ln
[root@localhost folder]# ll
total 4
lrwxrwxrwx 1 root root   17 Apr 30 16:49 files_ln -> /tmp/folder/files
drwxr-x--- 2 root root 4096 Apr 30 16:46 files

  -s 是代號(symbolic)的意思。這裏有兩點要注意:網絡

    第一,ln命令會保持每一處連接文件的同步性,也就是說,不論你改動了哪一處,其它的文件都會發生相同的變化;spa

    第二,ln的連接又軟連接 和硬連接兩種,軟連接就是ln -s ** **,它只會在你選定的位置上生成一個文件的鏡像,不會佔用磁盤空間,硬連接ln ** **,沒有參數-s, 它會在你選定的位置上生成一個和源文件大小相同的文件。code

  不管是軟連接仍是硬連接,文件都保持同步變化,都不會將本來的檔案複製一份,只會佔用很是少許的磁碟空間。。blog

  【硬鏈接】

  硬鏈接指經過索引節點來進行鏈接。在Linux的文件系統中,保存在磁盤分區中的文件不論是什麼類型都給它分配一個編號,稱爲索引節點號(Inode Index)。在Linux中,多個文件名指向同一索引節點是存在的。通常這種鏈接就是硬鏈接。硬鏈接的做用是容許一個文件擁有多個有效路徑名,這樣用戶就能夠創建硬鏈接到重要文件,以防止「誤刪」的功能。其緣由如上所述,由於對應該目錄的索引節點有一個以上的鏈接。只刪除一個鏈接並不影響索引節點自己和其它的鏈接,只有當最後一個鏈接被刪除後,文件的數據塊及目錄的鏈接纔會被釋放。也就是說,文件真正刪除的條件是與之相關的全部硬鏈接文件均被刪除。索引

  【軟鏈接】  

  另一種鏈接稱之爲符號鏈接(Symbolic Link),也叫軟鏈接。軟連接文件有相似於Windows的快捷方式。它其實是一個特殊的文件。在符號鏈接中,文件其實是一個文本文件,其中包含的有另外一文件的位置信息。同步

  【兩種連接的區別】

  硬連接文件有兩個限制:
    1)、不容許給目錄建立硬連接。
    2)、只有在同一文件系統中的文件之間才能建立連接,並且只有超級用戶纔有創建硬連接權限。
  對硬連接文件進行讀寫和刪除操做時候,結果和軟連接相同。但若是咱們刪除硬連接文件的源文件,硬連接文件仍然存在,並且保留了原有的內容。其緣由是由於對應的文件的索引節點有一個以上的鏈接。只刪除一個鏈接並不影響索引節點自己和其它的鏈接,只有當最後一個鏈接被刪除後,文件的數據塊及目錄的鏈接纔會被釋放。文件纔會被真正刪除。
  注:保存在磁盤分區中的文件不論是什麼類型都給它分配一個編號,稱爲索引節點號(Inode Index即I節點)。
  軟連接沒有硬連接以上的兩個限制,於是如今更爲普遍使用,它具備更大的靈活性,甚至能夠跨越不一樣機器、不一樣網絡對文件進行連接。可是軟連接的缺點在於:由於連接文件包含有原文件的路徑信息,因此當原文件從一個目錄下移到其餘目錄中,再訪問連接文件,系統就找不到了,而硬連接就沒有這個缺陷,你想怎麼移就怎麼移;還有它要系統分配額外的空間用於創建新的索引節點和保存原文件的路徑。io

  【參數說明】class

  -f : 鏈結時先將與 dist 同檔名的檔案刪除
  -d : 容許系統管理者硬鏈結本身的目錄
  -i : 在刪除與 dist 同檔名的檔案時先進行詢問
  -n : 在進行軟連結時,將 dist 視爲通常的檔案
  -s : 進行軟鏈結(symbolic link)
  -v : 在連結以前顯示其檔名
  -b : 將在鏈結時會被覆寫或刪除的檔案進行備份
  -S SUFFIX : 將備份的檔案都加上 SUFFIX 的字尾
  -V METHOD : 指定備份的方式
  --help : 顯示輔助說明
  --version : 顯示版本file

二、修改軟連接

   ln –snf  [新的源文件或目錄]   [軟連接文件]

[root@localhost folder]# ll
total 4
lrwxrwxrwx 1 root root   17 Apr 30 16:49 files_ln -> /tmp/folder/files
drwxr-x--- 2 root root 4096 Apr 30 16:46 files
[root@localhost folder]# ln -snf /tmp/folder    /tmp/folder/files_ln
[root@localhost folder]# ll
total 4
drwxr-x--- 2 root root 4096 Apr 30 16:46 files
lrwxrwxrwx 1 root root   11 Apr 30 16:59 files_ln -> /tmp/folder

三、刪除軟連接

  rm –rf   ./軟連接名稱

  rm -rf ./軟連接名稱/ (這樣就會把軟連接以及軟連接指向下的內容刪除)

[root@localhost folder]# ll
total 4
lrwxrwxrwx 1 root root   17 Apr 30 16:49 files_ln -> /tmp/folder/files
drwxr-x--- 2 root root 4096 Apr 30 16:46 files
[root@localhost folder]# rm -rf ./files_ln
[root@localhost folder]# ll
total 4
drwxr-x--- 2 root root 4096 Apr 30 16:46 files
[root@localhost folder]# ll
total 4
lrwxrwxrwx 1 root root   17 Apr 30 16:49 files_ln -> /tmp/folder/files
drwxr-x--- 2 root root 4096 Apr 30 16:46 files
[root@localhost folder]# rm -rf ./files_ln/
[root@localhost folder]# ll
total 0
相關文章
相關標籤/搜索