iTerm 右鍵 scp 下載

思路

  • 介紹html

  • 配置linux

介紹

有時候在服務器上有個文件之類的,很想下載到本地,可是又沒有順手的東西。命令行或者其餘的軟件之類的雖然能搞定,不過用的很少的話還要本身去拼命令或者開軟件作鏈接找到對應的目錄很麻煩。新版的 iTerm (3.0) 經過 Shell Integration 實現了着樣的功能:git

ls 一下,而後就能夠直接右鍵文件名下載本地了。感受酷酷的,有時候真的很方便。shell

配置

主要是下面兩步bash

  • 安裝 Shell Integration服務器

  • 配置一些 ssh 的參數ssh

安裝 Shell Integration

注意這裏的安裝須要在遠程的服務器上安裝的。(固然本地也能夠安裝,只是此次的 scp 下載用到的是 Remote Host 上安裝。)curl

安裝gitlab

$ curl -L https://iterm2.com/misc/install_shell_integration.sh | bash

在啓動腳本中添加(bash 的 .bashrc,zsh 的 .zshrc,有時候安裝腳本會本身添加上,若是添加了就不用再添加了)url

source ~/.iterm2_shell_integration.`basename $SHELL`

完成後從新登錄下,或者手動 source 一下那個文件,當命令行最左邊出現小的藍色三角形的時候就是成功了,這時候 ls 到文件就能夠右鍵下載了。(本地的話能夠按住 cmd 並單擊文件能夠打開文件)

可是這時候大概是會失敗的,由於它其實本質執行的仍是 scp 的命令,只不過是經過 shell integration 能夠多得到一些信息從而幫忙拼出那個命令並執行而已。

$ scp -P<port-number> <user-name>@<host-name>:<file-path> <local-path>

比較關鍵的是 host-name 和 port-number。

設置 host name

首先說 host-name,由於機器的 host-name 通常並不能直接 DNS 解析出來,因此會有問題。這時候就能夠參考本身 ssh 登錄的時候的 host-name 了。

在以前添加 source ~/.iterm2_shell_integration... 的位置的前面添加:

export iterm2_hostname=<hostname>

export 一個 ssh 使用的 hostname 就行了。

這時候發現 scp 的時候已是正確的 hostname 了,可是它用的 port 還不對。

設置 port number

由於 scp 最終要從本地執行,因此最後這個設置也是在本地的。在本地的 ~/.ssh/config 中按需添加記錄和對應的設置參數。

Host <host-name>
  User <user-name>
  Port <port>
  IdentityFile ~/.ssh/<file>

這個也設置了以後通常就成功了!

參考

相關文章
相關標籤/搜索