霜天部落 | 关注LAMP高性能、高并发架构的设计与研究

Linux scp命令的详细应用

Linux scp 命令用于Linux之间复制文件和目录,有从本地复制到远程、从远程复制到本地两种使用方式。本文将介绍一下scp命令具体使用方法:

Linux scp 命令

scp 可以在 2个 linux 主机间复制文件;

命令基本格式:

scp [可选参数] file_source   file_target

一、从本地复制到远程

1、复制文件

命令格式:

scp local_file remote_username@remote_ip:remote_folder

或者

scp local_file remote_username@remote_ip:remote_file

或者

scp local_file remote_ip:remote_folder

或者

scp local_file remote_ip:remote_file

第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;
第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名;

例子:

scp /home/www/music/1.mp3 root@192.168.1.10:/home/root/music

scp /home/www/music/1.mp3 root@192.168.1.10:/home/root/music/01.mp3

scp /home/www/music/1.mp3 192.168.1.10:/home/root/music

scp /home/www/music/1.mp3 192.168.1.10:/home/root/music/01.mp3

2、复制目录

命令格式:

scp -r local_folder remote_username@remote_ip:remote_folder

或者

scp -r local_folder remote_ip:remote_folder

第1个指定了用户名,命令执行后需要再输入密码;

第2个没有指定用户名,命令执行后需要输入用户名和密码;

例子:

scp -r /home/www/music/ root@192.168.1.10:/home/root/others/

scp -r /home/www/music/ 192.168.1.10:/home/root/others/

上面命令将本地 music目录复制到远程others目录下,即复制后有远程有 ../others/music/ 目录

二、从远程复制到本地

从远程复制到本地,只要将从本地复制到远程的命令的后2个参数调换顺序即可;

例如:

scp root@192.168.1.10:/home/root/others/music /home/www/music/1.mp3

scp -r 192.168.1.10:/home/root/others/ /home/www/music/

最简单的应用如下:

scp 本地用户名@IP地址 : 文件名1 远程用户名@IP地址 : 文件名2

[ 本地用户名@IP地址 :] 可以不输入, 可能需要输入远程用户名所对应的密码。

可能有用的几个参数 :

-v 和大多数 linux 命令中的 -v 意思一样, 用来显示进度 . 可以用来查看连接,认证 , 或是配置错误 。

-C 使能压缩选项

-P 选择端口 . 注意 -p 已经被 rcp 使用

-4 强行使用 IPV4 地址

-6 强行使用 IPV6 地址

以上Linux scp命令的使用方法应该可以满足大家对Linux文件和目录的复制使用了。