1、概述
scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读 read only system时,用scp可以帮你把文件移出来。另外,scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsync就远远不及它了。虽然 rsync比scp会快一点,但当小文件众多的情况下,rsync会导致硬盘I/O非常高,而scp基本不影响系统正常使用。
【以上时抄录的】
scp在主机之间通过网络拷贝文件。传输数据使用ssh(1),和sss(1)一样使用相同的身份验证,并提供相同的安全。不像rcp(1),scp将请求密码如果需要身份验证。
文件复制到/从主机的文件名可能包含用户和主机规格说明。本地文件名称可以使用绝对或相对路径名明确避免scp将文件名包含‘:’作为主机说明符。两个远程主机之间复制也是允许的。
当一个源文件复制到已经存在的目标文件,scp将取代目标文件的内容(保持inode)。
如果目标文件不存在,则根据目标文件名创建一个空的文件,然后填充源文件内容。没有尝试使用临时文件在“near-atomic”转移。
2、命令格式
scp[-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] [-ossh_option] [-P port] [-S program] [[user@]host1:]file1 ...[[user@]host2:]file2
3、常用命令参数
-1 强制scp使用协议1.
-2 强制scp使用协议2.
-4 强制scp只使用IPv4地址。
-6 强制scp只是用IPv6地址。
-B 选择批处理模式(防止要求密码或口令)。
-C 压缩启用。通过-C标志到ss(1)去启用压缩。
-c cipher 选择要使用的密码来加密数据传输。这个选项直接通过ssh(1)。
-Fssh_config 指定一个替代ssh的每个用户的配置文件。这个选项直接通过ssh(1)。
-iidentity_file 选择的文件标识(私钥)公共密钥身份验证是只读。这个选项直接通过ssh(1)。
-llimit 限制带宽使用,指定Kbit / s。
-ossh_option 可以通过ssh的格式选项用于ssh_config(5)。这是用于指定选项,没有单独的scp命令行标志。下面列出的选项的全部细节,及其可能的值,请参阅ssh_config(5)。
AddressFamily
BatchMode
BindAddress
ChallengeResponseAuthentication
CheckHostIP
Cipher
Ciphers
Compression
CompressionLevel
ConnectionAttempts
ConnectTimeout
ControlMaster
ControlPath
GlobalKnownHostsFile
GSSAPIAuthentication
GSSAPIDelegateCredentials
HashKnownHosts
Host
HostbasedAuthentication
HostKeyAlgorithms
HostKeyAlias
HostName
IdentityFile
IdentitiesOnly
KbdInteractiveDevices
LogLevel
MACs
NoHostAuthenticationForLocalhost
NumberOfPasswordPrompts
PasswordAuthentication
PKCS11Provider
Port
PreferredAuthentications
Protocol
ProxyCommand
PubkeyAuthentication
RekeyLimit
RhostsRSAAuthentication
RSAAuthentication
SendEnv
ServerAliveInterval
ServerAliveCountMax
StrictHostKeyChecking
TCPKeepAlive
UsePrivilegedPort
User
UserKnownHostsFile
VerifyHostKeyDNS
-P port 指定远程连接的端口。
-p 保存原始文件的修改时间、访问时间和模式【保留属性信息】。
-q 安静模式:禁用来自ssh(1)的过程表以及预警和诊断消息。
-r 递归地复制整个目录。
-Sprogram 项目名称用于加密连接。程序必须理解ssh(1)选项。
-v 详细的模式。引起scp和ssh(1)打印他们过程中的调试信息。这有助于调试连接,认证,和配置问题。
scp工具退出0为成功,如果出现错误则>0。
4、常用示例
[oldboy@zhangzhang]$ scp -P52113 -pr /tmp/zhang/ oldboy@192.168.0.17:/tmp
cc 100% 0 0.0KB/s 00:00
aa 100% 0 0.0KB/s 00:00
cc 100% 0 0.0KB/s 00:00
aa 100% 0 0.0KB/s 00:00
dd 100% 0 0.0KB/s 00:00
bb 100% 0 0.0KB/s 00:00
5、命令所在位置和类型
[oldboy@zhang ~]$which scp
/usr/bin/scp
[oldboy@zhang ~]$type scp
scp is/usr/bin/scp
6、另请参见