欢迎您的访问
专注架构,Java,数据结构算法,Python技术分享

Linux scp 命令

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

 

原文始发于:Linux scp 命令

赞(0) 打赏
版权归原创作者所有,任何形式转载请联系作者;码农code之路 » Linux scp 命令

相关推荐

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏