裡提示一下:ubuntu的翻譯很多都是字面直譯,存在很多問題,所以建議大家參照我這裡的解釋。當然本來也是有些趕文的嫌疑,望指正。
經常在linux上操作,有在不同的目錄下切換某幾個固定的命令,或者修改幾個固定的檔案,這時候,如果能在一個目錄下就操作他們,會是一件多麼輕鬆的事情。我們來看看連結命令ln
全稱
ln 全稱是link 顧名思義,這是一個建立一個連結。怎麼去理解呢?它的功能類似於Mac OS的別名或者Windows的捷徑, 刪除不會影響檔案本身。
說明:(直接看看斜體,就行了)
連結可分為兩種:永久連結(hard link)與軟連結(symbolic link),
不論是那種類型的連結, 都提供了一種雙向引用的手段 -- 也就是說, 不管你用檔案的那個名字對檔案內容進行修改, 你修改的效果都即會反映到原始名字的檔案, 也會反映到連結名字的檔案.當你工作在更高層次的時候, 才會發生軟永久連結的不同. 硬鏈
接的優點是, 原始檔案與連結檔案之間是相互獨立的 -- 如果你刪除或者重新命名老檔案, 那麼這種操作將不會影響永久連結的檔案, 永久連結的檔案講還是原來檔案的內容.
然而如果你使用軟連結的, 當你把老檔案刪除或重新命名後, 軟連結將再也找不到原來檔案的內容了. 而軟連結的優點是它可以跨越檔案系統(因為它只不過是檔案名稱的一個引用, 而並不是真正的資料). 與永久連結的另一個不同是, 一個符號連結可以指向一個
目錄.
例子:
1.$ln file.txt file.copy
file.copy就是 file.txt的一個捷徑
查看—help
複製代碼 代碼如下:
用法:ln [選項]... [-T] 目標 連結名 (第一種格式)
或:ln [選項]... 目標 (第二種格式)
或:ln [選項]... 目標... 目錄 (第三種格式)
或:ln [選項]... -t 目錄 目標... (第四種格式)
在第一種格式中,建立指定名稱且指向指定目標連結。
在第二種格式中,在目前的目錄建立指向目標位置的連結。
在第三、四種格式中,在指定目錄中建立指向指定目標的連結。
預設建立永久連結,當使用--symbolic 時建立符號連結。
當建立永久連結時每個指定的目標都必須存在。符號連結可以指向任意的位置,
當連結解析正常時,將其解析為一個與其父目錄關聯的連結。
長選項必須使用的參數對於短選項時也是必需使用的。
--backup[=CONTROL] 為每個已存在的目標檔案建立備份檔案
-b 類似--backup, 但不接受任何參數
-d, -F, --directory 建立指向目錄的永久連結(只適用於超級使用者)
-f, --force 強行覆蓋任何已存在的連結檔案
-i, --interactive 覆蓋連結檔案前進行確認
-L, --logical 將永久連結建立為符號連結引用
-n, --no-dereference 如果目的地是一個連結至某目錄的符號連結,會將
該符號連結當作普通檔案處理,先將該已存在的鏈
接備份或覆蓋
-s, --symbolic 建立符號連結(軟連結)而非永久連結
-S, --suffix=尾碼 自行指定連結檔案的尾碼
-t, --target-directory=目錄 在指定目錄中建立連結
-T, --no-target-directory 將連結名稱當作普通檔案
-v, --verbose 連結前列印相關資訊
--help 顯示此協助資訊並退出
--version 顯示版本資訊並退出
備份檔案的尾碼為"~",除非以--suffix 選項或是SIMPLE_BACKUP_SUFFIX
環境變數指定。版本控制的方式可通過--backup 選項或VERSION_CONTROL 環境
變數來選擇。以下是可用的變數值:
使用 -s 選項會忽略 -L 和 -P。
否則當源為一個符號連結(預設-P)時,會由最後指定的一個選項來控制行為。
none, off 不進行備份(即使使用了--backup 選項)
numbered, t 備份檔案加上數字進行排序
existing, nil 若有數位備份檔案已經存在則使用數字,否則使用普通方式備份
simple, never 永遠使用普通方式備份
解讀:
1. -s
建立軟連結 ln -s file.txt /${dir}/file.copy
2. -f -b
-f 實際上為強行覆蓋已存在的永久連結(注意:有的ubuntu的翻譯有誤)
-b 指覆蓋前備份
3. –i
覆蓋檔案前提問
4. –S
與-s存在著本質區別。。這裡是給他起尾碼名(window裡可能叫副檔名,但linux中不是以這種方式區別檔案)
實戰:
1. 現在我需要配置jdk,tomcat,並且有多個節點,還有一些設定檔在不同的目錄下。有時候,會用到一些遠端工具集。 工作時間有點長,慢慢發現很多時間在切換目錄上,於是,我把所有的捷徑,全部集中的幾個檔案夾,並且進行歸類,然後某些簡單操作用遠程或者共用,在win下操作.
2. 建立軟連結
$ln –s file.txt /${dir}/
3. 可以通過尾碼名提示該檔案是軟串連
$ln –s file.txt /${dir}/file -v -S.url
-v 提示檔案變化, -S.url表示了file的尾碼名 -s表示是軟串連
4. 如果你總是遇到很多類似名稱,覆蓋前需要提示
$ln -f 覆蓋前不提示
$ln -i 覆蓋前提示
中文介紹
用法:ln [選項]... [-T] 目標 連結名(第一種格式) 或:ln [選項]... 目標(第二種格式) 或:ln [選項]... 目標... 目錄(第三種格式) 或:ln [選項]... -t 目錄 目標...(第四種格式)在第一種格式中,建立指定名稱且指向指定目標連結。在第二種格式中,在目前的目錄建立指向目標位置的連結。在第三、四種格式中,在指定目錄中建立指向指定目標的連結。預設建立永久連結,當使用--symbolic 時建立符號連結。當建立永久連結時每個指定的目標都必須存在。符號連結可以指向任意的位置,當連結解析正常時,將其解析為一個與其父目錄關聯的連結。長選項必須使用的參數對於短選項時也是必需使用的。 --backup[=CONTROL]為每個已存在的目標檔案建立備份檔案 -b類似--backup,但不接受任何參數 -d, -F, --directory建立指向目錄的永久連結(只適用於超級使用者) -f, --force強行刪除任何已存在的目標檔案 -i, --interactive刪除檔案前進行確認 -L, --logical將永久連結建立為符號連結引用 -n, --no-dereference如果目的地是一個連結至某目錄的符號連結,會將該符號連結當作普通檔案處理,先將該已存在的連結備份或刪除 -s, --symbolic建立符號連結而非永久連結 -S, --suffix=尾碼自行指定備份檔案的尾碼 -t, --target-directory=目錄在指定目錄中建立連結 -T, --no-target-directory將連結名稱當作普通檔案 -v, --verbose連結前先列出每個檔案的名稱 --help顯示此協助資訊並退出 --version顯示版本資訊並退出備份檔案的尾碼為"~",除非以--suffix 選項或是SIMPLE_BACKUP_SUFFIX環境變數指定。版本控制的方式可通過--backup 選項或VERSION_CONTROL 環境變數來選擇。以下是可用的變數值:使用 -s 選項會忽略 -L 和 -P。否則當源為一個符號連結(預設-P)時,會由最後指定的一個選項來控制行為。 none, off 不進行備份(即使使用了--backup 選項) numbered, t 備份檔案加上數字進行排序 existing, nil 若有數位備份檔案已經存在則使用數字,否則使用普通方式備份 simple, never 永遠使用普通方式備份