Git - git bash 在 windows 下创建软连接
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 类型的路径, 也是可以的
- 我作为 source 试过, 成功了
- 我是用的是 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 的指正
- 至于问题的原因, 感觉还是 写作的过程, 不够严谨
- 很多的素材, 应该是在 写作之前, 就已经准备好, 并且理清了的
- 我是 边整理, 边写作, 既要顾及思路, 也要现编例子, 以后尝试换个思路写作
- 因为文中出现了错误
-
尽量尝试解释清楚; 自己校对能力有限, 如果有错误欢迎指出