linux命令之ln


linux命令之 lnnode


ln命令的功能是爲某一個文件在另外一個位置創建一個同步的連接.連接類型分爲硬連接和符號連接(軟連接),默認是硬連接,若是要建立符號連接就必須使用-s選項python

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

當咱們在不一樣的目錄用到相同的文件時,不須要在每個目錄放置一個文件,咱們只須要在一個固定的目錄放上該文件,而後在其餘目錄用ln命令建立連接就能夠了編程

語法

ln [選項] 參數spa

選項

  • -s 建立符號連接(軟連接)
  • -f,--force 強制創建文件或者目錄的連接,不論文件或目錄是否存在
  • -v,--verbose 顯示命令的處理過程
經常使用的就這幾個,具體的能夠查看幫助 ln --help或者 man ln

參數

  • 源文件:指定連接的的源文件,若是使用-s建立軟連接,則源文件能夠是目錄或文件;建立硬連接的時,則源文件參數只能是文件
  • 目標文件:指定源文件連接的目標文件

實例

  1. 將在/usr/python/bin/python3 執行文件軟連接到 /usr/bin/python3文件上

    ln -s /usr/python/bin/python3 /usr/bin/python3code

    使用該方法,能夠在系統中安裝多個python版本圖片

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

    ln /usr/mengqc/mub1/m2.c /usr/liu/a2.c同步

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

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

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

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

硬連接和軟連接的區別

  • 硬連接

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

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

    限制:

    1. 不能對目錄作硬連接
    2. 只有在同一個文件系統中才能建立
  • 軟連接

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

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

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

    特色:

    1. 刪除源文件或目錄,只刪除了數據,不會刪除連接。一旦以一樣文件名建立了源文件,連接將繼續指向該文件的新數據
    2. 在目錄長列表(`ls -l`)中,符號連接做爲一種特殊的文件類型顯示出來,其第一個字母是`l`
    3. 符號連接的大小是其連接文件的路徑名中的字節數

圖片描述

圖片描述

掃描關注,查看更多文章,提升編程能力

相關文章
相關標籤/搜索