假設我需要經常這樣做:
cd ../../../../foo/sub1/bar/dest/
cd ../../../../foo2/sub1/bar/dest/
cd ../../../../foo3/sub1/bar/dest/
cd ../../../../foo/sub1/bar/dest/
有沒有更快的方法來避免總是打字../../../../
那麼多次?有什麼創意嗎?
答案1
執行此操作的經典方法是設定CDPATH
變數。根據您的情況,可以將其設定為.:../../../../
或.:/path/to/the/parent/of/foo
達到所需的效果。然後你就可以簡單地cd foo/sub1/bar/dest
到達你想要的地方。
這樣做的好處是,製表符補全cd
也可以查看$CDPATH
並且會神奇地工作。
答案2
您可以使用自動跳轉它會自動從先前的 cd 命令中學習,您下次只需指定完整路徑中的唯一字串即可。前任。
j foo
,
j foo1
,
j foo2
答案3
您可以透過將別名新增至 bash 設定檔(~/.bashrc 或 /etc/bash.bashrc)來建立這些命令的捷徑
alias cdd="cd ../../../../"
然後,當您鍵入時,cdd
它將執行該命令。
答案4
我最近遇到https://github.com/rupa/z,它允許您透過正規表示式跳到最近使用的目錄。所以你可以這樣做:
z foo3.*dest
代替:
cd ../../../../foo3/sub1/bar/dest/
(只要您之前曾造訪過目錄,且最近/經常使用的內容與該正規表示式不符)