SCP 命令详解

By gavin
SCP(Secure Copy)是一个用于在本地和远程主机之间进行安全文件传输的命令行工具。它使用SSH协议进行加密和身份验证,可以在不同的操作系统之间传输文件。 SCP命令的基本语法如下: ``` scp [选项] [源文件] [目标文件] ``` 常用的选项包括: - `-r`:递归复制整个目录。 - `-p`:保留源文件的修改时间、访问时间和权限。 - `-q`:安静模式,不显示进度信息。 - `-P `:指定远程主机上的SSH端口号,默认为22。 - `-i `:指定身份验证所使用的私钥文件。 源文件和目标文件的格式可以是: - 本地文件路径:`/path/to/local/file` - 远程主机上的文件路径:`user@host:/path/to/remote/file` - 远程主机上的文件路径(使用非默认SSH端口号):`user@host -p :/path/to/remote/file` 以下是一些常见的用法示例: 1. 从本地复制文件到远程主机: ``` scp /path/to/local/file user@host:/path/to/remote/file ``` 2. 从远程主机复制文件到本地: ``` scp user@host:/path/to/remote/file /path/to/local/file ``` 3. 递归复制整个目录: ``` scp -r /path/to/local/directory user@host:/path/to/remote/directory ``` 4. 从远程主机复制整个目录到本地: ``` scp -r user@host:/path/to/remote/directory /path/to/local/directory ``` 请注意,SCP命令是单向的,即只能从源文件复制到目标文件,不能同时复制到多个目标。如果需要同时复制到多个目标,可以考虑使用rsync命令。 </div>
rsync是一个强大的文件同步和备份工具,它可以在本地和远程主机之间进行文件传输,并且只传输已更改的部分,从而提高传输效率。 rsync命令的基本语法如下: ``` rsync [选项] [源路径] [目标路径] ``` 常用的选项包括: - `-a, --archive`:归档模式,保留文件的所有属性,递归复制目录。 - `-r, --recursive`:递归复制目录。 - `-v, --verbose`:详细输出。 - `-z, --compress`:压缩传输数据。 - `-P`:显示传输进度和保留部分文件。 - `-e, --rsh=COMMAND`:指定远程shell程序,例如ssh。 源路径和目标路径的格式可以是: - 本地路径:`/path/to/local/file`或`/path/to/local/directory` - 远程主机路径:`user@host:/path/to/remote/file`或`user@host:/path/to/remote/directory` 以下是一些常见的用法示例: 1. 从本地复制文件到远程主机: ``` rsync /path/to/local/file user@host:/path/to/remote/file ``` 2. 从远程主机复制文件到本地: ``` rsync user@host:/path/to/remote/file /path/to/local/file ``` 3. 递归复制整个目录: ``` rsync -r /path/to/local/directory user@host:/path/to/remote/directory ``` 4. 从远程主机复制整个目录到本地: ``` rsync -r user@host:/path/to/remote/directory /path/to/local/directory ``` 5. 使用SSH密钥进行远程传输: ``` rsync -e "ssh -i /path/to/private/key" /path/to/local/file user@host:/path/to/remote/file ``` rsync还支持其他高级功能,如过滤规则、增量备份等。你可以使用`man rsync`命令查看rsync的完整文档,了解更多选项和用法。
</div></div>