一乐电子

一乐电子百科

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

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
查看: 2237|回复: 2
收起左侧

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

[复制链接]
发表于 2017-2-9 19:45 | 显示全部楼层 |阅读模式
linux之cp/scp命令+scp命令详解  4 B- g* \: Z- ~$ l' L( Y
- J% R' j1 v1 D1 A
( j% Q5 a# D& q; f9 B

名称: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- k% f% T" f( l* I' e

  r  L8 ]" F3 o2 P
linux 的 scp 命令 可以 在 linux 之间复制 文件 和 目录; 6 u$ A& r6 o1 z
4 K5 a  u; o" H7 k0 K" `2 k
==================
, Y2 k. q' l" P% |- m( c# }scp 命令 * y$ C2 d* d# D: f0 k; i% |
==================
6 J! F4 D0 s* q; ?; d. kscp 可以在 2个 linux 主机间复制文件; 1 P0 |' ~6 r. U5 J4 }

; ]: k& f/ b9 u命令基本格式:
7 r) r3 P' W9 a       scp [可选参数] file_source file_target
/ i. K5 n: Q% d8 C; e, s
0 i& d, _, r) F% }7 D4 w====== # g! i. W& _  h* M1 N4 s
从 本地 复制到 远程
- A. R7 t2 N5 @$ {% @3 d======
7 B& g9 y, v; G! {0 Z0 i! L* 复制文件: - K* ^( u9 b1 B6 _7 {$ c
        * 命令格式: $ H7 C1 c+ ]* x* D
                scp local_file remote_username@remote_ip:remote_folder / b! i4 l% d! x8 Q- ^
                或者
# {. R, A1 k! B) p3 P# {                scp local_file remote_username@remote_ip:remote_file
- V9 o. d$ Q) m, s# ?                或者
7 s( U1 U8 o% A( a# p$ z                scp local_file remote_ip:remote_folder ( V6 Y% L5 c- C% F1 U" F
                或者 ( U3 h0 X8 [& d) r: ?
                scp local_file remote_ip:remote_file
/ K3 O# C9 ?% J/ \0 F6 k
9 d* r$ t8 l2 F$ @  E" k! `1 h                第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;
/ A' c) h# x" h                第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名;
/ d2 L. q+ }" k& b) ?        * 例子: 4 X9 I! }3 a/ O5 ^
                scp /home/space/music/1.mp3 root@www.cumt.edu.cn:/home/root/others/music 1 C" M( T2 [* A
                scp /home/space/music/1.mp3 root@www.cumt.edu.cn:/home/root/others/music/001.mp3
* U& X+ d" V$ ^2 G$ p                scp /home/space/music/1.mp3 www.cumt.edu.cn:/home/root/others/music
+ }9 u  y; O' b" e6 x$ H, B                scp /home/space/music/1.mp3 www.cumt.edu.cn:/home/root/others/music/001.mp3
5 h/ v7 v% a# P* M& X0 F# `8 ~+ Z2 S! n$ x, M5 w
* 复制目录:
5 R3 d( P( N1 o3 y) B        * 命令格式: 3 N9 W- T* z3 f# N1 b$ g6 r
                scp -r local_folder remote_username@remote_ip:remote_folder
' b* v8 E, S: O+ Z, Q1 O                或者 , T' q# Q7 l9 r( q
                scp -r local_folder remote_ip:remote_folder
8 v1 z8 ~/ {" ]' k" C
) y6 ?! n3 O6 S1 A& @1 A2 M                第1个指定了用户名,命令执行后需要再输入密码;
+ J* f# s9 M0 X( K( Z1 u                第2个没有指定用户名,命令执行后需要输入用户名和密码;
4 D$ |6 B/ T$ a1 l: s+ o; V9 S2 G        * 例子: 9 [; ]' ?' |3 _/ }# y: B! g. u
                scp -r /home/space/music/ root@www.cumt.edu.cn:/home/root/others/
" U! K7 y3 @+ h! \                scp -r /home/space/music/ www.cumt.edu.cn:/home/root/others/ 8 Y5 j; |( @! _/ ~
8 b5 W8 J& U, a6 z$ A5 g
                上面 命令 将 本地 music 目录 复制 到 远程 others 目录下,即复制后有 远程 有 ../others/music/ 目录 / e. X8 c$ d9 Z: n$ ]) q/ \, Q
0 O: T) W4 g5 r8 e+ z

$ a: ?" O0 B0 e# Y======
9 L7 W/ L* i6 @. U# t从 远程 复制到 本地
% [& g# \0 D) f. @% j======
, P7 |  m- c5 Y6 a% V从 远程 复制到 本地,只要将 从 本地 复制到 远程 的命令 的 后2个参数 调换顺序 即可;
  \9 [- y3 X$ Y
3 Y, I+ y6 G4 u7 J例如: : J. i4 {& f# C4 q, I0 R
        scp root@www.cumt.edu.cn:/home/root/others/music /home/space/music/1.mp3 8 E! X1 h' v; ~2 A8 N6 S) k
        scp -r www.cumt.edu.cn:/home/root/others/ /home/space/music/
最简单的应用如下 :
4 M' J  ?9 B+ r' a8 W. |" s5 O( \7 I( D( L4 k2 T& p# E. Y
scp 本地用户名 @IP 地址 : 文件名 1 远程用户名 @IP 地址 : 文件名 2
# r0 I6 h: i; j2 k. Y9 e; v2 h8 M5 p. S3 O$ K
[ 本地用户名 @IP 地址 :] 可以不输入 , 可能需要输入远程用户名所对应的密码 .
4 U% ?1 q+ x5 O0 i  ]3 V' y4 k3 c% y
可能有用的几个参数 : % C9 W: U* `1 m' s- F, d
2 [7 R& i# G6 _1 U$ r  z  o
-v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接 , 认证 , 或是配置错误 .
& t4 r& v+ P0 a2 r6 {! P1 K. A
-C 使能压缩选项 . 6 `" G) `& V9 I$ k: e$ [
/ F% ?4 p5 I  j) g
-P 选择端口 . 注意 -p 已经被 rcp 使用 .
5 A6 s8 M7 D1 B9 G8 e/ K& |
2 n0 X* Y0 O2 x+ Y9 |* b-4 强行使用 IPV4 地址 .
6 S, a* q9 J6 [+ W! \
  y0 `2 y. x1 t$ R" [1 x5 f3 p-6 强行使用 IPV6 地址 .

% b; b( x( L* ]$ d+ X) J% m
注意两点:
+ T2 @: B4 }2 \* V1.如果远程服务器防火墙有特殊限制,scp便要走特殊端口,具体用什么端口视情况而定,命令格式如下:8 V! }- @$ C& M, C8 o
#scp -p 4588 remote@www.abc.com:/usr/local/sin.sh /home/administrator
% h3 ?; U& W6 |2.使用scp要注意所使用的用户是否具有可读取远程服务器相应文件的权限。
' d' ]( J! ^- f9 V1 {) _

) d' A2 W5 R4 Y$ j5 S
4 s: y4 M/ L* _# \3 [- G
1 h/ l2 r! @: T, C
一个不会敲代码的程序员/ j% u6 f- M  [9 O; D3 a% b; Y- d( W

! b! Z2 V5 @' {- p' B7 d  a8 F+ H
发表于 2017-2-10 21:03 | 显示全部楼层
只会用winscp
 楼主| 发表于 2017-2-11 17:26 | 显示全部楼层
lily2350660 发表于 2017-2-10 21:039 Y" p5 P$ U8 ~# z
只会用winscp
% Y7 i! ]" e) S. U
这个看一下就明白 了没必要去学) o! W" N3 J2 M

" F/ \- a* R$ Q5 \

本版积分规则

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

GMT+8, 2024-4-19 21:29 , Processed in 0.065481 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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