Git - git bash 在 windows 下創建軟連接


1. 概述

  1. 使用 git bash 在 windows 下創建軟連接

    1. 或者叫 快捷方式
  2. 感謝 Tony 老師的幫助

    1. Tony 的技術筆記
    2. Windows 使用 ln -s 創建軟鏈接

2. 問題

  1. 需求

    1. 使用 git bash(MINGW64) 在 windows 下創建 軟連接
  2. 問題

    1. git bash 的 ln -s, 是直接復制一個文件, 兩者本質沒有關聯
    2. windows 窗口創建的 快捷方式, git bash 又打不開

3. 解決

  1. 方案

    1. 使用 Windows Server 2003 Resource Kit Tools 內的 linkd.exe 命令來滿足需求
  2. 環境

    1. OS

      1. win10 1905
    2. git

      1. 2.20.1
    3. mintty

      1. 2.9.4
    4. Windows Server 2003 Resource Kit Tools

      1. 貌似就這么一個版本

1. 安裝

  1. 下載 Windows Server 2003 Resource Kit Tools

    1. 下載鏈接
  2. 安裝

    1. 流程很簡單, 正常走完即可
    2. 我安裝中沒遇到什么問題
  3. 測試

    1. 重新打開一個 git bash

    2. 輸入 link 可以 tab 出 linkd.exe 即可

      1. 我也想用 -v, -h 之類的命令來測試, 但真是沒找到
    3. 命令驗證

      # 1. 直接輸入命令
      > linkd 
      # 2. 原來 windows 工具的 命令行選項, 是用 / 來操作的
      > linkd /?
      

2. 使用

  1. 概述
    1. 命令的簡單使用

1. 創建鏈接

  1. 命令

    # source 鏈接本身
    # destination 鏈接的目標
    > linkd <source> <destination>
    
  2. 例子

    # 需求: 
    ## 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 
    
  3. 問題

    1. 路徑類型

      1. 我是用的是 git 類型的路徑
        1. git 里 pwd 出來的路徑
        2. 或者說, 是 linux 類型的路徑
      2. windows 類型的路徑, 也是可以的
        1. 我作為 from 試過, 成功了
    2. 還是路徑

      1. 鏈接創建好后, 會給出一個路徑
        1. -> 后面, 指向的是 跳轉的 真實路徑
        2. 但是你進入之后, 就會發現, pwd 的路徑, 不太對
          1. 路徑直接是 鏈接 的路徑
          2. 但是里面內容是對的
          3. pwd 這個路徑, 可能會是個坑

2. 查看鏈接真實路徑

  1. 命令

    > linkd <source>
    
  2. 例子

    # 查看開始創建鏈接, 指向的實際目標
    # 顯示出來的, 是 windows 格式的路徑
    > link /e/home/room
    Source  today is linked to 
    d:\room
    

3. 刪除鏈接

  1. 命令

    # 本來的指令, 是 /D, git-bash 下, 需要做一個轉義
    # 也是奇怪, 為啥 linkd /? 就能直接出來呢
    > linkd <source> //D
    
  2. 例子

    > linkd /e/home/room //D
    The delete operation succeeded.
    

ps

  1. 這個 windows 的工具包, 居然可以在 git bash 下面跑...

    1. 有點不能理解
      1. bash 也能運行 windows 程序
    1. 這個命令, 不支持含有 中文 的路徑
      1. 不支持 中文
        1. 中文
  2. 調整

    1. 2020-02-24 自己重新調整了一版

      1. 之前那版, 我自己都看不懂了...
    2. 補充一個 ref

      1. windows系統下的文件夾鏈接功能mklink/linkd
    3. 2020-06-22 再次調整

      1. 因為文中出現了錯誤
        1. 感謝 博客園用戶Eledim 的指正
        2. 至於問題的原因, 感覺還是 寫作的過程, 不夠嚴謹
          1. 很多的素材, 應該是在 寫作之前, 就已經准備好, 並且理清了的
          2. 我是 邊整理, 邊寫作, 既要顧及思路, 也要現編例子, 以后嘗試換個思路寫作


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM