Bash
使用 scp 時如何為遠端路徑啟用自動完成功能?
我使用以下方法將文件遠端複製到我的筆記型電腦:
scp someFile USER@192.168.178.32:/home/USER/put/it/some/where/oh/damn/you/here
我希望能夠通過點擊選項卡來自動完成遠端路徑。
確保您已打開精美的自動完成功能。在許多發行版中,這意味著您
~/.bashrc
需要包含. /etc/bash_completion
.您需要設置無密碼身份驗證,即使用已載入到
ssh-agent
.建立 SSH 連接很慢,因此您可以通過一勞永逸地建立連接並在之後使用該連接來大大加快完成速度。相對複雜的方法是
ssh -N -M target-host
在設置主從連接後打開一個主 SSH 連接~/.ssh/config
;有關說明,請參閱單個命令中的多個 ssh 會話(您需要ControlMaster
andControlPath
選項)。簡單的方法是通過SSHFS掛載遠端文件系統並使用
cp
正常的 shell 完成。mkdir ~/remote sshfs USER@192.168.178.32:/home/USER ~/remote cp -p someFile ~/remote/put/it/some/where/oh/damn/you/here