linux之cp/scp命令+scp命令详解 + q" c6 K& R" e( S7 a T
' K0 s, @( _/ w) u5 X9 V
- _, r- ?& P: M1 I1 R- N* M名称: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) I; D! Z9 I- Z, h! O% `# x
$ j9 _# a# x- O$ \" R9 zlinux 的 scp 命令 可以 在 linux 之间复制 文件 和 目录;
! d6 i; S* C" o5 ~4 j8 K) @9 m* I/ g8 v3 h& |, V; S+ c5 v
==================
/ R3 v @: O/ j% C: ]
scp 命令
3 }0 k+ E" _% Z1 |9 ]
==================
0 |: r0 Y; q& @scp 可以在 2个 linux 主机间复制文件;
: l6 @+ A( r8 ]* Q+ @# C0 c" I3 u& r1 `- S$ v, \
命令基本格式:
" E q+ m, L' g* T [) U. k- J+ _
scp [可选参数] file_source file_target
' n3 L7 f! s; A+ e2 `6 M/ G: a/ B l! ~
======
5 V( F# @, ^% h
从 本地 复制到 远程
, {$ w; u5 M7 |5 V; G======
* U9 V1 I* e l5 [
* 复制文件:
) c& X. {9 b9 Y * 命令格式:
$ {4 ^/ }4 y0 t2 G w scp local_file remote_username@remote_ip:remote_folder
' g/ W0 C( g9 J5 O1 Y6 E$ x 或者
% V: [1 g" R' F* c
scp local_file remote_username@remote_ip:remote_file
% Q. {4 O/ X ~2 h; ?$ n6 |, Y0 H 或者
2 c, ]( c( z# V5 `# i
scp local_file remote_ip:remote_folder
4 t4 l# Y( C/ ^" x 或者
! E% O( k, {' e( @0 E2 [7 I6 [' n
scp local_file remote_ip:remote_file
; t" v3 L+ s( E
4 L2 U$ Z* a2 ?$ [7 R- T4 C* y$ ~
第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;
7 ^$ i% s9 X7 O ]) M 第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名;
; ~: j* v$ I& L* s9 [/ f- X * 例子:
4 P9 i$ I" [( D4 O
scp /home/space/music/1.mp3
root@www.cumt.edu.cn:/home/root/others/music
! _* t6 }/ i; i6 a scp /home/space/music/1.mp3 root@www.cumt.edu.cn:/home/root/others/music/001.mp3
4 f0 ^5 i m& H8 O/ H/ L scp /home/space/music/1.mp3
www.cumt.edu.cn:/home/root/others/music ) w0 R; M0 F; e0 V& U* X7 y3 @
scp /home/space/music/1.mp3 www.cumt.edu.cn:/home/root/others/music/001.mp3
) l0 E1 y# `5 M2 m, h6 H3 L$ f* ?6 I m
* 复制目录:
$ j( v) h, L0 w. d# o* @) } * 命令格式:
' B1 w* @8 q; L! X! c7 ? scp -r local_folder remote_username@remote_ip:remote_folder
Q p$ w, V, b$ N* ~
或者
' n6 k$ l: R" ]2 g! y& B! f scp -r local_folder remote_ip:remote_folder
\) j8 i0 {5 |4 r- o0 p; i, c( H3 ?
& x6 P+ w- a4 O' y% [; S, ?- L1 m 第1个指定了用户名,命令执行后需要再输入密码;
/ W# i+ r3 u% t, t
第2个没有指定用户名,命令执行后需要输入用户名和密码;
: P; N4 M# s# i6 _) `3 s
* 例子:
/ g% d; u0 @& n7 [" `
scp -r /home/space/music/
root@www.cumt.edu.cn:/home/root/others/
% p5 r$ b7 d; `; n- g4 G, V scp -r /home/space/music/
www.cumt.edu.cn:/home/root/others/ 5 m# o; W, _" q
4 b. {. S. N8 H9 U8 p% T3 {
上面 命令 将 本地 music 目录 复制 到 远程 others 目录下,即复制后有 远程 有 ../others/music/ 目录
# Y5 Z3 v* |0 A7 Y
/ D( n- B0 I2 \2 n5 w |% o% |9 E; [" `3 Z$ _7 ~1 F# ~5 z
======
/ E/ w6 V+ M. q5 l1 k( o* @1 w7 z- w从 远程 复制到 本地
5 d$ ]* q5 N8 }, X9 q======
( {8 R0 b9 k' {/ G, W
从 远程 复制到 本地,只要将 从 本地 复制到 远程 的命令 的 后2个参数 调换顺序 即可;
+ x* q4 [( k3 ?
! E2 r" c- z- I5 C- \" U/ @
例如:
, z# k4 k& f$ T6 V; ~7 |( q scp
root@www.cumt.edu.cn:/home/root/others/music /home/space/music/1.mp3
6 S, Z: R% W; c; @1 U; M scp -r
www.cumt.edu.cn:/home/root/others/ /home/space/music/
最简单的应用如下 :
% V) N2 Y7 o4 e. v5 J# V6 Z& m6 ]( p' X+ M8 a; @ g8 G6 U
scp 本地用户名 @IP 地址 : 文件名 1 远程用户名 @IP 地址 : 文件名 2 ! M" x) U0 E, t9 X% }
+ k/ S" [$ ^! ]/ c4 f+ Y6 ^
[ 本地用户名 @IP 地址 :] 可以不输入 , 可能需要输入远程用户名所对应的密码 . 8 H- B0 o8 r/ v
; T) R; `7 s; A1 t% _! D D
可能有用的几个参数 :
0 r" q8 n7 {* j6 |, F; m' ?
# {( h8 C# V# T-v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接 , 认证 , 或是配置错误 .
, v5 f$ i0 u% B4 s/ w C- A
# q4 Y: |; W4 c; u0 V-C 使能压缩选项 . : M# e1 f6 ]4 [8 b% }: m
1 J+ @+ j# Y' l. N- A" ]-P 选择端口 . 注意 -p 已经被 rcp 使用 . $ A7 @0 w( W) P1 p* l! q( c& `
0 t0 |4 g: q) B8 |* X" U
-4 强行使用 IPV4 地址 . . f# [5 w, I- g# U* k" y7 ]) K
5 \9 ^: c# i0 @( `-6 强行使用 IPV6 地址 .
0 x# `; W* a: h- z; i: C/ ]/ _注意两点:
, k3 K. [' x! Y4 m1.如果远程服务器防火墙有特殊限制,scp便要走特殊端口,具体用什么端口视情况而定,命令格式如下:
5 S* Q9 M3 h' Y( h#scp -p 4588
remote@www.abc.com:/usr/local/sin.sh /home/administrator
4 [) q) T+ Z- O4 Z2.使用scp要注意所使用的用户是否具有可读取远程服务器相应文件的权限。
9 |5 z k% D3 H
4 f' A+ S; O3 @; W9 @( p
" N. _1 t( X9 X