LinuxMastery By asdlkfj

LinuxMastery 18: 連結的奧義 ln

捷徑與分身

在 Linux 中,我們常用「連結 (Link)」來讓一個檔案出現在多個地方,而不需要複製多份資料。連結分為 Soft Link (軟連結)Hard Link (硬連結)

核心指令詳解

  1. Soft Link (符號連結)

    • 概念:就像 Windows 的「捷徑」。它是一個獨立的小檔案,內容指向目標檔案的路徑。
    • 語法ln -s [目標] [連結名稱]
    • 範例
      # 建立一個捷徑 /var/www/html/app 指向 /opt/app_v1
      ln -s /opt/app_v1 /var/www/html/app
      
      這樣做的好處是,當你要升級到 v2 時,只要刪除舊連結,重新指到 /opt/app_v2,網頁伺服器的設定完全不用改。
  2. Hard Link (硬連結)

    • 概念:檔案的分身。兩個檔名指向硬碟上的同一個 inode (資料區塊)。刪除其中一個,資料還在;只有把所有指向該 inode 的檔名都刪除,資料才會真正消失。
    • 限制:不能跨 Partition,不能對目錄做 Hard Link。
    • 語法ln [目標] [連結名稱] (不加 -s)

實戰心法

95% 的情況下,你只會用到 Soft Link (ln -s)。務必使用絕對路徑來建立 Soft Link,例如 ln -s /home/hank/file link,而不要用相對路徑,否則當你移動連結檔時,它會因為找不到目標而失效 (Broken Link)。