scpはターゲットマシンのパスを知っていますか?

scpはターゲットマシンのパスを知っていますか?

最近、個人的な目的でOSXからLinuxに切り替えました。ヘッドレスUbuntuを実行しているホームメディアサーバーがあり、今はMintを実行しているラップトップがあります。私の習慣は、サーバーにものを移動することですscp。過去のOSXでは、コピー先を入力するときにパス内のすべての文字をタフに入力しました。習慣的にTabキーを押して終了しようとすると、機械が不安になって最初からやり直す必要があったからです。 。しかし、ちょうど新しいコンピュータのSSHキーを設定し、ラップトップからサーバーにファイルを転送している間に誤ってscpタブを押して、驚くべきことに、パスが正しく完了しました!これは正常な行動ですか? OSXのterm2で動作しないのはなぜですか?別のターミナルウィンドウにサーバー接続が開いていることに注意してください。

ベストアンサー1

これは、シェルのコマンド補完が実際に行うことです。現在のコマンドラインがで始まる場合、scp状況によっては、パスを完了するためにターゲットシステム(可能な場合)に接続する必要があることを「知っています」。すでにキーをロードしているため、これは透過的に実行できます。

/usr/share/bash-completion/completions/scpこれは通常(Bashを使用している場合)または/usr/share/zsh/functions/Completion/Unix/_ssh(Zshの場合)で実装されていることがわかります。

おすすめ記事