|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
Linux scp 命令用于 Linux 之间复制文件和目录。) x7 _6 w- b$ Y3 H1 D6 s7 \, [7 ~
! [" t4 K+ H* ?
scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。# G( M! r, j+ [
- }8 O* N' \3 v. p( t
scp 是加密的,rcp 是不加密的,scp 是 rcp 的加强版。6 e0 M- F' N2 L9 U8 f) K: Q
, M6 l9 j* l! o" d9 w
4 m4 J, o {. e% }' \6 {" Z; k4 G
6 o9 U6 \, h k: v; J5 ?' D1 r0 m
语法
- S" A5 J9 s, ^2 _0 T/ X$ ~: B- {" A7 [) R6 O4 |# t
scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]; c5 P7 [/ H2 a( g$ U
[-l limit] [-o ssh_option] [-P port] [-S program]6 J8 ?9 r1 H& Q5 f W# \
[[user@]host1:]file1 [...] [[user@]host2:]file23 ?' k" q7 D1 n" F3 }
1 ]; j) k/ J! p
4 L; ~2 y" G4 M1 Y1 A$ Y1 _; Z9 i
& C4 S; T/ Q6 q" ~$ U) o
简易写法:
Z3 X5 m+ C) z. l- a/ q8 x& I3 f1 c7 l: Y
scp [可选参数] file_source file_target
- l, A9 ]1 X. Y2 S( [
0 n& J/ w& U' s6 ^6 T" ?/ f& l; P2 z+ e$ h
; ~1 K& Z6 z- v8 V/ @4 D' R
参数说明:6 B- _8 I8 `( e) K6 e9 g
( w2 e7 U5 l$ W! V! g( ?5 t) s8 }* I-1: 强制scp命令使用协议ssh10 h2 n0 w, b T" O9 z( y7 a
-2: 强制scp命令使用协议ssh23 ^+ O) k: H4 ?+ n; F, i+ s
-4: 强制scp命令只使用IPv4寻址
2 _' _$ `9 C, C" R-6: 强制scp命令只使用IPv6寻址 r( E: i, o4 y4 z9 s' R
-B: 使用批处理模式(传输过程中不询问传输口令或短语)
8 u- B( [: e$ `-C: 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)& x1 V8 ?% r; V# q A* o
-p:保留原文件的修改时间,访问时间和访问权限。
8 W; j7 H5 D) |* Y2 k-q: 不显示传输进度条。, {+ A0 I8 |5 P E5 h& @3 [2 r
-r: 递归复制整个目录。
( e8 i' S/ y5 t-v:详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。6 J# ~' ]2 k; c! e
-c cipher: 以cipher将数据传输进行加密,这个选项将直接传递给ssh。: J" l: y0 t0 ]5 }4 @8 T& m k& a
-F ssh_config: 指定一个替代的ssh配置文件,此参数直接传递给ssh。
& D; U, N1 P$ G( g) t+ k-i identity_file: 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。 ^! X# @3 g4 a" e# H5 K0 N
-l limit: 限定用户所能使用的带宽,以Kbit/s为单位。
# v" D; E: F! v$ H! T4 _-o ssh_option: 如果习惯于使用ssh_config(5)中的参数传递方式,
5 I4 T! J" v( f" T. w-P port:注意是大写的P, port是指定数据传输用到的端口号# b0 v5 D# V! A+ k, C
-S program: 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。
( a) ?1 i0 H# m8 @& a4 P/ P9 Y- N
: X" d0 S2 A2 ~/ T4 S% P' s% W: g( o7 o) G" R ]- L X
实例
! H" t3 i/ w; p2 G
. f+ Z$ T4 U+ s; U7 i9 H1、从本地复制到远程
$ {/ h! X" H3 T5 r# O4 Z7 B* m4 t- u- `2 V
命令格式:
9 O) R7 b& \. |2 x
2 c% b0 A# m, S" D: m: `! a5 Lscp local_file remote_username@remote_ip:remote_folder . k! f# k; X: ?" D
5 O( j, r5 x. V" G1 }$ f5 p
或者
( E- x3 I% m* ~: Z6 g9 {3 ]7 r" o0 y* G# h6 A; N
scp local_file remote_username@remote_ip:remote_file & U3 X/ {9 q2 |2 {1 Q
5 D3 @1 v! m: \: W7 ?0 D或者 a% Z) A) r6 X/ P; d2 G# g
6 w, E; E) A4 z) g8 Nscp local_file remote_ip:remote_folder
+ y& `3 F8 @* l& H$ m, [4 Y/ `# s4 Z; k5 n4 n/ @
或者
- i- D( R. r1 U; _
: L {* n, \/ q6 ^2 P( e5 j! Tscp local_file remote_ip:remote_file ) G' R9 ~4 U( B$ {$ n( g. M
1 D: V, m5 }6 p第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;6 x+ H' _4 n; ~6 z+ [
第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名;# T8 X, w5 {8 w, I& m$ T
0 V( a" ^9 O2 Y O; ?4 `+ }+ Y0 c
6 Q4 n8 m& ?! x复制目录命令格式:9 v2 M& D- L% p. E4 p* R
# p# Y+ c7 l0 t
scp -r local_folder remote_username@remote_ip:remote_folder " I: _! H. C. `6 @3 d4 @& W4 K
* {& G3 s& `! k9 Z0 _4 U, L
或者 ; R: n P; P5 }* R! p, H, u
' y2 L* ~3 ]( t! ]; L7 v: h$ b
scp -r local_folder remote_ip:remote_folder 1 O M3 m9 k Y2 o. k2 ]+ t
( E9 a- [- p) e7 o, s& B第1个指定了用户名,命令执行后需要再输入密码;1 T3 M( D/ L+ J l* N9 y8 C
第2个没有指定用户名,命令执行后需要输入用户名和密码;& C7 `" s+ E Z4 F" O! W- s& t
* t# w7 o) U+ O" D+ h" Z, v0 y. [) |# ?5 H* U t
上面命令将本地 music 目录复制到远程 others 目录下。
# \" ~& f* s: |" B& C% e9 z6 ~; ^& x, d1 \2 t2 B# X
& M9 A& `3 n+ Y* y% k2 [
; d9 N7 ?) M% r3 e2、从远程复制到本地
& b% }8 u n7 w
% X' P* \# N0 ~从远程复制到本地,只要将从本地复制到远程的命令的后2个参数调换顺序即可,如下实例! U7 C9 x' d' S
( m. r! {" `7 V- C' K' z: Q* q8 | B8 @
& j; W( M( v1 { c+ r6 v2 d: m
说明1 d. ? U: Q$ L$ s& d7 |& t; E3 \
& R6 f6 T& T; L' z% \) f; D/ P1.如果远程服务器防火墙有为scp命令设置了指定的端口,我们需要使用 -P 参数来设置命令的端口号,命令格式如下:
6 M3 ^7 x( b, T4 _$ _9 P1 l' N0 v8 l% a: j) w( T- w
#scp 命令使用端口号 4588
; P7 _% n2 `# U5 f- M8 Ascp -P 4588 remote@www.runoob.com:/usr/local/sin.sh /home/administrator
0 [( H) r+ g0 v) w" H2 q- J" _$ o) o5 n" u; w; }$ S
2.使用scp命令要确保使用的用户具有可读取远程服务器相应文件的权限,否则scp命令是无法起作用的。. M) T( G0 B N! ]
|
|