linux ln命令

ln命令用來爲文件創件鏈接,鏈接類型分爲硬鏈接和符號鏈接兩種,默認的鏈接類型是硬鏈接。若是要建立符號鏈接必須使用"-s"選項。node

注意:符號連接文件不是一個獨立的文件,它的許多屬性依賴於源文件,因此給符號連接文件設置存取權限是沒有意義的。linux

語法

ln(選項)(參數)

選項

-b或--backup:刪除,覆蓋目標文件以前的備份;
-d或-F或——directory:創建目錄的硬鏈接;
-f或——force:強行創建文件或目錄的鏈接,不論文件或目錄是否存在;
-i或——interactive:覆蓋既有文件以前先詢問用戶;
-n或--no-dereference:把符號鏈接的目的目錄視爲通常文件;
-s或——symbolic:對源文件創建符號鏈接,而非硬鏈接;
-S<字尾備份字符串>或--suffix=<字尾備份字符串>:用"-b"參數備份目標文件後,備份文件的字尾會被加上一個備份字符串,預設的備份字符串是符號「~」,用戶可經過「-S」參數來改變它;
-v或——verbose:顯示指令執行過程;
-V<備份方式>或--version-control=<備份方式>:用「-b」參數備份目標文件後,備份文件的字尾會被加上一個備份字符串,這個字符串不只可用「-S」參數變動,當使用「-V」參數<備份方式>指定不一樣備份方式時,也會產生不一樣字尾的備份字符串;
--help:在線幫助; --version:顯示版本信息。

參數

  • 源文件:指定鏈接的源文件。若是使用-s選項建立符號鏈接,則「源文件」能夠是文件或者目錄。建立硬鏈接時,則「源文件」參數只能是文件;
  • 目標文件:指定源文件的目標鏈接文件。

實例

將目錄/usr/mengqc/mub1下的文件m2.c連接到目錄/usr/liu下的文件a2.c安全

cd /usr/mengqc ln /mub1/m2.c /usr/liu/a2.c

在執行ln命令以前,目錄/usr/liu中不存在a2.c文件。執行ln以後,在/usr/liu目錄中才有a2.c這一項,代表m2.c和a2.c連接起來(注意,兩者在物理上是同一文件),利用ls -l命令能夠看到連接數的變化。spa

在目錄/usr/liu下創建一個符號連接文件abc,使它指向目錄/usr/mengqc/mub1.net

ln -s /usr/mengqc/mub1 /usr/liu/abc

執行該命令後,/usr/mengqc/mub1表明的路徑將存放在名爲/usr/liu/abc的文件中。code

擴展知識

Linux具備爲一個文件起多個名字的功能,稱爲連接。被連接的文件能夠存放在相同的目錄下,可是必須有不一樣的文件名,而不用在硬盤上爲一樣的數據重複備份。另外,被連接的文件也能夠有相同的文件名,可是存放在不一樣的目錄下,這樣只要對一個目錄下的該文件進行修改,就能夠完成對全部目錄下同名連接文件的修改。對於某個文件的各連接文件,咱們能夠給它們指定不一樣的存取權限,以控制對信息的共享和加強安全性。字符串

文件連接有兩種形式,即硬連接和符號連接。get

硬連接

創建硬連接時,在另外的目錄或本目錄中增長目標文件的一個目錄項,這樣,一個文件就登記在多個目錄中。如圖所示的m2.c文件就在目錄mub1和liu中都創建了目錄項。io

建立硬連接後,己經存在的文件的I節點號(Inode)會被多個目錄文件項使用。一個文件的硬連接數能夠在目錄的長列表格式的第二列中看到,無額外連接的文件的連接數爲l。擴展

在默認狀況下,ln命令建立硬連接。ln命令會增長連接數,rm命令會減小連接數。一個文件除非連接數爲0,不然不會從文件系統中被物理地刪除。

對硬連接有以下限制:

  • 不能對目錄文件作硬連接。
  • 不能在不一樣的文件系統之間作硬連接。就是說,連接文件和被連接文件必須位於同一個文件系統中。

符號連接

符號連接也稱爲軟連接,是將一個路徑名連接到一個文件。這些文件是一種特別類型的文件。事實上,它只是一個文本文件(如圖中的abc文件),其中包含它提供連接的另外一個文件的路徑名,如圖中虛線箭頭所示。另外一個文件是實際包含全部數據的文件。全部讀、寫文件內容的命令被用於符號連接時,將沿着連接方向前進來訪問實際的文件。

符號鏈接

與硬連接不一樣的是,符號連接確實是一個新文件,固然它具備不一樣的I節點號;而硬連接並無創建新文件。

符號連接沒有硬連接的限制,能夠對目錄文件作符號連接,也能夠在不一樣文件系統之間作符號連接。

ln -s命令創建符號連接時,源文件最好用絕對路徑名。這樣能夠在任何工做目錄下進行符號連接。而當源文件用相對路徑時,若是當前的工做路徑與要建立的符號連接文件所在路徑不一樣,就不能進行連接。

符號連接保持了連接與源文件或目錄之間的區別:

  • 刪除源文件或目錄,只刪除了數據,不會刪除連接。一旦以一樣文件名建立了源文件,連接將繼續指向該文件的新數據。
  • 在目錄長列表中,符號連接做爲一種特殊的文件類型顯示出來,其第一個字母是l。
  • 符號連接的大小是其連接文件的路徑名中的字節數。
  • 當用ln -s命令列出文件時,能夠看到符號連接名後有一個箭頭指向源文件或目錄,例如lrwxrwxrwx … 14 jun 20 10:20 /etc/motd->/original_file其中,表示「文件大小」的數字「14」剛好說明源文件名original_file由14個字符構成。
相關文章
相關標籤/搜索