1. 概述
-
使用 git bash 在 windows 下創建軟連接
- 或者叫 快捷方式
-
感謝 Tony 老師的幫助
2. 問題
-
需求
- 使用 git bash(MINGW64) 在 windows 下創建 軟連接
-
問題
- git bash 的 ln -s, 是直接復制一個文件, 兩者本質沒有關聯
- windows 窗口創建的 快捷方式, git bash 又打不開
3. 解決
-
方案
- 使用 Windows Server 2003 Resource Kit Tools 內的 linkd.exe 命令來滿足需求
-
環境
-
OS
- win10 1905
-
git
- 2.20.1
-
mintty
- 2.9.4
-
Windows Server 2003 Resource Kit Tools
- 貌似就這么一個版本
-
1. 安裝
-
下載 Windows Server 2003 Resource Kit Tools
-
安裝
- 流程很簡單, 正常走完即可
- 我安裝中沒遇到什么問題
-
測試
-
重新打開一個 git bash
-
輸入 link 可以 tab 出 linkd.exe 即可
- 我也想用 -v, -h 之類的命令來測試, 但真是沒找到
-
命令驗證
# 1. 直接輸入命令 > linkd # 2. 原來 windows 工具的 命令行選項, 是用 / 來操作的 > linkd /?
-
2. 使用
- 概述
- 命令的簡單使用
1. 創建鏈接
-
命令
# source 鏈接本身 # destination 鏈接的目標 > linkd <source> <destination>
-
例子
# 需求: ## 1. 從 e 盤根路徑下的 home 目錄, ## 2. 跳轉到 d 盤根目錄下的 room 目錄 ## 3. 鏈接名稱, 為 room # source: /e/home/room # destination: /d/room > linkd /e/home/room /d/room Link created at: /e/home/room
-
問題
-
路徑類型
- 我是用的是 git 類型的路徑
- git 里 pwd 出來的路徑
- 或者說, 是 linux 類型的路徑
- windows 類型的路徑, 也是可以的
- 我作為 from 試過, 成功了
- 我是用的是 git 類型的路徑
-
還是路徑
- 鏈接創建好后, 會給出一個路徑
- -> 后面, 指向的是 跳轉的 真實路徑
- 但是你進入之后, 就會發現, pwd 的路徑, 不太對
- 路徑直接是 鏈接 的路徑
- 但是里面內容是對的
- pwd 這個路徑, 可能會是個坑
- 鏈接創建好后, 會給出一個路徑
-
2. 查看鏈接真實路徑
-
命令
> linkd <source>
-
例子
# 查看開始創建鏈接, 指向的實際目標 # 顯示出來的, 是 windows 格式的路徑 > link /e/home/room Source today is linked to d:\room
3. 刪除鏈接
-
命令
# 本來的指令, 是 /D, git-bash 下, 需要做一個轉義 # 也是奇怪, 為啥 linkd /? 就能直接出來呢 > linkd <source> //D
-
例子
> linkd /e/home/room //D The delete operation succeeded.
ps
-
這個 windows 的工具包, 居然可以在 git bash 下面跑...
有點不能理解- bash 也能運行 windows 程序
-
坑
- 這個命令, 不支持含有 中文 的路徑
- 不支持 中文
- 中文
- 不支持 中文
- 這個命令, 不支持含有 中文 的路徑
-
調整
-
2020-02-24 自己重新調整了一版
- 之前那版, 我自己都看不懂了...
-
補充一個 ref
-
2020-06-22 再次調整
- 因為文中出現了錯誤
- 感謝 博客園用戶Eledim 的指正
- 至於問題的原因, 感覺還是 寫作的過程, 不夠嚴謹
- 很多的素材, 應該是在 寫作之前, 就已經准備好, 並且理清了的
- 我是 邊整理, 邊寫作, 既要顧及思路, 也要現編例子, 以后嘗試換個思路寫作
- 因為文中出現了錯誤
-