一乐电子

一乐电子百科

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

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

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

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

[复制链接]
发表于 2017-2-9 19:45 | 显示全部楼层 |阅读模式
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到远程另外一台主机上,可以如下命令。
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. ~/ @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
; v3 j! i' R, }3 ^* u
一个不会敲代码的程序员, U4 q+ Y5 H; J5 F  q" u( Q+ f
: s, C# K5 ?5 y2 D
发表于 2017-2-10 21:03 | 显示全部楼层
只会用winscp
 楼主| 发表于 2017-2-11 17:26 | 显示全部楼层
lily2350660 发表于 2017-2-10 21:03
8 z! C- B, z* Q2 ]; F' ~只会用winscp

; k3 l% V* v7 x% l3 K这个看一下就明白 了没必要去学
  g; C  i4 `: K* a" o% c' Z9 ]3 W' T, h

本版积分规则

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

GMT+8, 2025-4-28 04:37 , Processed in 0.056047 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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