rsync は、ターゲットがディレクトリ名に「:」と「@」を持つローカルディレクトリか、リモートSSHかどうかを区別しますか? [コピー]

rsync は、ターゲットがディレクトリ名に「:」と「@」を持つローカルディレクトリか、リモートSSHかどうかを区別しますか? [コピー]

[email protected]:技術的には、私は(有効なUNIXパスではありませんか?)というローカルディレクトリを作成することができますrsync

rsync test/ [email protected]:/test/

方法:

気になるのにrsync、決定ルールは何ですか?

答え1

これは非常に複雑です。

提案されたソリューションrsync: ファイル名のコロン一般的に動作しているように見えますが、可能な特別なケースがたくさんあります。

例:rsyncは、ターゲットがリモートであるかローカルであるかをどうやって知ることができますか?ディレクトリ名に、およびを含むローカルパスにすることができます。または、ユーザー名(奇妙なUnixユーザー名ですが可能です!試してみてください!)、ホスト、およびパスを持つリモートホストです。rsync src ./[email protected]:/test/
./[email protected]:/test/:@
./hellouseraddb.com/test/

こここれはOpenSSH実装でURIを解析するためのコードであり、読む価値がありますscp

ルールはIETFドラフトで説明されています。https://datatracker.ietf.org/doc/html/draft-ietf-secsh-scp-sftp-ssh-uri-04

関連情報