一乐电子

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

QQ登录

只需一步,快速开始

微信扫码登录

搜索
查看: 4366|回复: 2

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

[复制链接]
发表于 2017-2-9 19:45 | 显示全部楼层 |阅读模式
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到远程另外一台主机上,可以如下命令。
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) I; D! Z9 I- Z, h! O% `# x

$ j9 _# a# x- O$ \" R9 z
linux 的 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
: t3 T% G1 z2 B1 s$ Z5 e: O& o
一个不会敲代码的程序员  B" l; u, v& `3 x* x
) P2 U3 o4 l9 R6 u( h) p
发表于 2017-2-10 21:03 | 显示全部楼层
只会用winscp
回复

使用道具 举报

 楼主| 发表于 2017-2-11 17:26 | 显示全部楼层
lily2350660 发表于 2017-2-10 21:03
6 J- m2 C# G5 e5 \/ [( L只会用winscp
+ m3 p7 Z' W4 w
这个看一下就明白 了没必要去学
: M( K& H  v: T6 l6 A5 L* J/ M0 J: b9 J4 w, Q( u) c
回复

使用道具 举报

本版积分规则

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

GMT+8, 2025-8-20 09:20 , Processed in 0.034983 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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