linux之cp/scp命令+scp命令详解
% @+ o. F. B; {) ^- j# R5 J+ H. `! h* \
! R. p) Y- c( p% ]
名称: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: K. ~/ @5 I# {) w H
' M( s* O' S$ A u
linux 的 scp 命令 可以 在 linux 之间复制 文件 和 目录;
& ], p5 Y( M2 g6 o* u |5 ]2 ~
I. i3 X: l I1 \. q" P
==================
' q& _8 o+ x- G( Zscp 命令
' `5 a' f# C o6 d& O: @6 D
==================
" ?1 b2 l7 w8 _+ {
scp 可以在 2个 linux 主机间复制文件;
z/ D& p( }( r( J, D
; U3 y8 S5 A: j0 m; w命令基本格式:
9 M; C2 m6 `2 D% O7 @/ H* [ scp [可选参数] file_source file_target
, x0 n* e# n3 ~1 |) p) ~
0 _% X& w8 s9 {9 r======
' T6 C. ]0 D' d2 O3 a
从 本地 复制到 远程
4 ~- b% E" m0 Q$ d0 p2 W======
# e& P8 C) ]0 z( r! e! o
* 复制文件:
) h% w5 Y" p1 f * 命令格式:
/ T% M g& y$ n# z scp local_file remote_username@remote_ip:remote_folder
$ \* v S6 b3 O: H( G
或者
' `) `& z2 e# d5 k9 y# `* a scp local_file remote_username@remote_ip:remote_file
/ [8 v- N' b- g1 ]) h 或者
: g( O8 v* E1 ]2 z& y6 i
scp local_file remote_ip:remote_folder
1 t: R# T/ x: Q" O7 M# { 或者
7 F7 l% S7 z+ K, O/ f+ [! Y0 f scp local_file remote_ip:remote_file
# u7 e3 z2 s9 i% K. }
4 P2 J# C+ V5 f1 n: `# `4 E, V 第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;
* [/ d2 |3 k! ^" C, L( @0 [
第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名;
4 v2 |( p% M- M3 D3 D9 D * 例子:
: |# {' _3 g- G$ y scp /home/space/music/1.mp3
root@www.cumt.edu.cn:/home/root/others/music
' @: R7 r% z3 X9 w4 ? scp /home/space/music/1.mp3 root@www.cumt.edu.cn:/home/root/others/music/001.mp3
, ]" O' U' O- z; g
scp /home/space/music/1.mp3
www.cumt.edu.cn:/home/root/others/music
% G$ H- B3 L1 J3 d2 B8 }- i scp /home/space/music/1.mp3 www.cumt.edu.cn:/home/root/others/music/001.mp3
# O$ A7 E& \4 G2 l* r: s" t9 w0 ]
& x6 b" N+ @* M
* 复制目录:
& Z+ U* {" T% N. t * 命令格式:
2 C3 q2 B6 a9 t8 `, w
scp -r local_folder remote_username@remote_ip:remote_folder
1 H% S3 j* |- [; C C8 _0 _
或者
% u4 V! l* ~; o+ q% U' ]
scp -r local_folder remote_ip:remote_folder
5 O" @7 w# M7 ~( F
+ U+ q- n9 n$ U- ]" g. `8 T. i 第1个指定了用户名,命令执行后需要再输入密码;
8 ]4 j! J* y b- v 第2个没有指定用户名,命令执行后需要输入用户名和密码;
1 u: { n2 Y7 A! O; O1 I * 例子:
% _+ ]& { I7 S3 v3 e5 _& `& i scp -r /home/space/music/
root@www.cumt.edu.cn:/home/root/others/
( m" i. a0 Z" b; G) l scp -r /home/space/music/
www.cumt.edu.cn:/home/root/others/
! c: f* D2 H% m+ ]7 \8 o$ e% W6 P9 e7 x) t M) q; a+ ~& B" W5 d+ |
上面 命令 将 本地 music 目录 复制 到 远程 others 目录下,即复制后有 远程 有 ../others/music/ 目录
; ~3 N4 H, X2 |$ M$ x& H+ B. p
! a }9 B/ a# g" }7 h. j
|+ l1 L5 P! [/ q* [======
- R% J2 K2 i* S; C0 @2 S" p
从 远程 复制到 本地
# {9 l" X! C0 V8 ~' h+ b( Z
======
9 x8 ]" g s9 B. N" F7 Z1 D4 }# c+ t
从 远程 复制到 本地,只要将 从 本地 复制到 远程 的命令 的 后2个参数 调换顺序 即可;
' w0 g9 Y" i7 S" S* W' a- W: Y2 b& M7 {
例如:
4 T$ B% ^: |# u scp
root@www.cumt.edu.cn:/home/root/others/music /home/space/music/1.mp3
' B( y- Z+ l3 s1 R: W7 e/ H) Y- O% q scp -r
www.cumt.edu.cn:/home/root/others/ /home/space/music/
最简单的应用如下 : : n, c2 v9 F/ }. g
8 ^/ T( b- X/ c* kscp 本地用户名 @IP 地址 : 文件名 1 远程用户名 @IP 地址 : 文件名 2
2 ~( ~8 R+ _8 C V. r# S) a! s& X6 q+ u, q( P7 D5 W/ p) j& X" }
[ 本地用户名 @IP 地址 :] 可以不输入 , 可能需要输入远程用户名所对应的密码 .
* D. |& s# Z+ @; A& ^+ s4 s; `" H- ~7 z, v+ B, T5 u! [7 @
可能有用的几个参数 : ) s, S6 Q9 T3 T$ F! X0 S# p, Q# o7 w2 \
1 [. L8 Y& {* |* r+ l0 W0 \0 [
-v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接 , 认证 , 或是配置错误 .
: s+ a. K$ }9 z3 p1 ^/ j+ {; c {, l
-C 使能压缩选项 . / [4 y a* O! U3 C1 x
; E, d4 y% E6 |' r! M, Z0 f-P 选择端口 . 注意 -p 已经被 rcp 使用 .
! Z$ M) D, c. v# @& N0 k( `- F+ V; y4 @4 N4 i! C
-4 强行使用 IPV4 地址 . ' k ?8 K5 T; Q; p0 O
2 q" H0 x# S* X, I0 I/ ]
-6 强行使用 IPV6 地址 .
' |/ c3 V- V6 W9 I注意两点:
9 o2 ?. c8 i" T+ F2 p
1.如果远程服务器防火墙有特殊限制,scp便要走特殊端口,具体用什么端口视情况而定,命令格式如下:
8 x/ x) i7 G$ l1 M' t#scp -p 4588
remote@www.abc.com:/usr/local/sin.sh /home/administrator
% N$ Q; h0 @6 Z; G! r( C2.使用scp要注意所使用的用户是否具有可读取远程服务器相应文件的权限。
' L( j3 H3 d3 O% u; `
4 f% k4 A9 @9 T. G6 x
4 B( ^- U% P- @% A! {6 G% s+ z- U