一乐电子

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

微信扫码登录

手机号码,快捷登录

手机号码,快捷登录

搜索
查看: 5008|回复: 2

linux之cp/scp命令+scp命令详解

[复制链接]
发表于 2017-2-9 19:45 | 显示全部楼层 |阅读模式
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到远程另外一台主机上,可以如下命令。
scp /home/daisy/full.tar.gz root@172.19.2.75:/home/root
然后会提示你输入另外那台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/ b
linux 的 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  {

5 N7 q! e" G* ~; ~, w0 U一个不会敲代码的程序员% R. [; K: q4 G6 H* t, r; ^

6 p* K6 p8 D4 q' ]/ A
发表于 2017-2-10 21:03 | 显示全部楼层
只会用winscp
回复

使用道具 举报

 楼主| 发表于 2017-2-11 17:26 | 显示全部楼层
lily2350660 发表于 2017-2-10 21:03
& A" X9 i* G* O0 P) D4 [$ d* @只会用winscp
5 M) Z$ x# o$ I
这个看一下就明白 了没必要去学
. Z8 {8 o  u3 F5 l
9 m+ K- n2 N, y0 A: ]# \+ \  y
回复

使用道具 举报

本版积分规则

QQ|一淘宝店|手机版|商店|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2026-1-12 00:44 , Processed in 0.031103 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表