linux之cp/scp命令+scp命令详解
3 C1 D; s( w+ I. |5 q/ |: v2 G- p. Y9 Y8 K1 N* C3 v
" c0 J8 V5 t4 z0 L, f
名称:cp
使用权限:所有使用者
使用方式:
cp [options] source dest
cp [options] source... directory
说明:将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。
把计
-a 尽可能将档案状态、权限等资料都照原状予以复制。
-r 若 source 中含有目录名,则将目录下之档案亦皆依序拷贝至目的地。
-f 若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制。
范例:
将档案 aaa 复制(已存在),并命名为 bbb :
cp aaa bbb
将所有的C语言程式拷贝至 Finished 子目录中 :
cp *.c Finished
命令:scp
不同的Linux之间copy文件常用有3种方法:
第一种就是ftp,也就是其中一台Linux安装ftp Server,这样可以另外一台使用ftp的client程序来进行文件的copy。
第二种方法就是采用samba服务,类似Windows文件copy 的方式来操作,比较简洁方便。
第三种就是利用scp命令来进行文件复制。
scp是有Security的文件copy,基于ssh登录。操作起来比较方便,比如要把当前一个文件copy到远程另外一台主机上,可以如下命令。
然后会提示你输入另外那台172.19.2.75主机的root用户的登录密码,接着就开始copy了。
如果想反过来操作,把文件从远程主机copy到当前系统,也很简单。
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gifscp root@/full.tar.gz 172.19.2.75:/home/root/full.tar.gz home/daisy/full.tar.gz
) x E: ^2 y; y1 A/ `" L
2 f# n/ I+ w' o/ blinux 的 scp 命令 可以 在 linux 之间复制 文件 和 目录;
& b# Z; J/ ~5 t* K1 G- z
) P; B8 W' ]* Z: g8 d
==================
5 [ i" @1 F3 ^3 O5 k9 G1 ~5 L+ @scp 命令
4 c6 ~ B: a$ [0 D$ Q' c==================
" D. ^( i6 l2 e
scp 可以在 2个 linux 主机间复制文件;
' E) t) F2 M6 a9 D+ T2 b
+ A. q' Y! S! }( u
命令基本格式:
/ Q# m6 n: U' o4 W! F9 e9 O7 V4 I! `
scp [可选参数] file_source file_target
* g7 w- Z% w$ y$ |* B9 n+ }
7 \; ~* H+ v; Y5 t" V* N! ?/ ?======
- \% v T) g+ N$ _5 {( {从 本地 复制到 远程
+ h' z; F' L, V! J
======
* G# T0 i$ H; }7 I$ u
* 复制文件:
; c/ J1 i Z1 X7 u4 D: C1 Q
* 命令格式:
1 h6 q& Q! L/ w# j! y# n9 e1 k
scp local_file remote_username@remote_ip:remote_folder
6 A% o4 ^7 ~) v* ^6 r; m7 u
或者
. u) G, v2 Q8 P% k
scp local_file remote_username@remote_ip:remote_file
0 v/ n7 `/ ~4 j$ ^+ _5 ^
或者
# R+ k$ S2 y2 A scp local_file remote_ip:remote_folder
9 I, f$ Y- G+ e, Z 或者
3 z, b# p, m" |( g2 x( X# r/ x. |2 V scp local_file remote_ip:remote_file
: E& m% t0 T* V7 S5 x! l
; E+ g+ j3 H+ p
第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;
6 p; R8 [! {" i7 g( v4 A7 c# e J5 U 第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名;
( z9 K5 J8 I1 d' h0 D6 K * 例子:
1 H% S4 h3 d5 d; }, R$ D* q scp /home/space/music/1.mp3
root@www.cumt.edu.cn:/home/root/others/music
) j( ~& }$ O9 v. z+ d; ` scp /home/space/music/1.mp3 root@www.cumt.edu.cn:/home/root/others/music/001.mp3
% L8 Q. g* s9 \0 P) h scp /home/space/music/1.mp3
www.cumt.edu.cn:/home/root/others/music " I) B) |: ]" b" i2 Q. _( a
scp /home/space/music/1.mp3 www.cumt.edu.cn:/home/root/others/music/001.mp3
+ G- d3 Y2 o9 i! O! ]% \, D" I% u m& {. P
* 复制目录:
& O( x5 A. B& @. [7 k7 m- r) v * 命令格式:
3 G; Q( E/ Q- ~9 ^, \. R
scp -r local_folder remote_username@remote_ip:remote_folder
) @- M* N8 T) S2 k, \. | 或者
. _" O" n. y! ~* C( |
scp -r local_folder remote_ip:remote_folder
6 h4 z8 r; X/ C: d& M' h
5 V! m( W% x2 \1 d N( S7 C1 l 第1个指定了用户名,命令执行后需要再输入密码;
! P) ?5 M E# g/ b+ a, T
第2个没有指定用户名,命令执行后需要输入用户名和密码;
+ Z2 E: C* c: w& U+ ? * 例子:
8 f2 j+ n5 ?$ v: r scp -r /home/space/music/
root@www.cumt.edu.cn:/home/root/others/
+ N1 R* \% I5 \: t! o; \ scp -r /home/space/music/
www.cumt.edu.cn:/home/root/others/ 0 ^& Z+ h, u' K+ \6 Z$ d- U: e
$ m3 x' H3 ]0 S, h
上面 命令 将 本地 music 目录 复制 到 远程 others 目录下,即复制后有 远程 有 ../others/music/ 目录
, T! W$ J% J- H8 \6 Q0 {8 B
3 h J( v& U1 M
+ I0 Y s* d! s& I7 d4 K======
2 n9 z& N$ b- T x0 @
从 远程 复制到 本地
! r9 |2 j0 @" h) z( ]( F
======
' \( t9 a2 n- `从 远程 复制到 本地,只要将 从 本地 复制到 远程 的命令 的 后2个参数 调换顺序 即可;
9 c$ w/ w; P! H2 ]. y
% _/ S6 X; l! O- D例如:
2 u5 X# @! e; V
scp
root@www.cumt.edu.cn:/home/root/others/music /home/space/music/1.mp3
8 o3 }" p; ^: x1 \7 C: o* g scp -r
www.cumt.edu.cn:/home/root/others/ /home/space/music/
最简单的应用如下 : 7 J/ P. m* v' o. v* I
r! s& N/ |( i/ oscp 本地用户名 @IP 地址 : 文件名 1 远程用户名 @IP 地址 : 文件名 2 3 b& s I7 R- k2 P
8 {5 @" g) l. f7 e) W; x
[ 本地用户名 @IP 地址 :] 可以不输入 , 可能需要输入远程用户名所对应的密码 . ' L" e) M: _' a* _- n! U2 f
' ]3 V; j7 z0 r可能有用的几个参数 :
% Z1 ]3 [" p* |
8 u3 x, O& g# l$ x! s, z( L-v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接 , 认证 , 或是配置错误 . + W! h& F) ?4 n
! x. c _( `% h/ @% m: Y+ e* j-C 使能压缩选项 . * Z% _3 ?* a7 A6 B* p, R( G
) ]! ^+ c& D, C% r7 q-P 选择端口 . 注意 -p 已经被 rcp 使用 . H# {) R" J' W! q/ ?
- }5 r- X9 p2 H& v) I, i$ p
-4 强行使用 IPV4 地址 . ! h( J( r+ d6 \- I0 e' \1 ^
0 l6 Y0 B( v. X0 s
-6 强行使用 IPV6 地址 .
% }; h4 u- d. B/ V. W注意两点:
+ A& P! [; J/ W1 ? s; _& I2 ]
1.如果远程服务器防火墙有特殊限制,scp便要走特殊端口,具体用什么端口视情况而定,命令格式如下:
: |( g( X2 R& K3 u#scp -p 4588
remote@www.abc.com:/usr/local/sin.sh /home/administrator
& ^6 S6 n3 L- k4 A' F6 c2.使用scp要注意所使用的用户是否具有可读取远程服务器相应文件的权限。
& }6 Q+ w/ j7 O( Q' m' g3 k
6 M b& V6 U% ?- b1 m: t( ^1 X
( P% n+ f; x, t3 ?, ?/ h2 a {