Linux命令详解之–scp命令

摘要
本文目录
[隐藏]

与Linux cp命令 类似,Linux下还有一个能够提供文件拷贝功能的命令-- scp命令,本文就为大家介绍下Linux scp命令。

更多Linux命令详情请看:Linux命令速查手册

scp命令

Linux scp命令 通常用于Linux的跨主机之间的文件和目录的复制。

scp是 secure copy的缩写, scp命令 是Linux 下基于ssh登陆进行安全远程文件拷贝的命令。

一、Linux scp命令语法

Linux scp命令 语法如下所示:

scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] [-o ssh_option] [-P port] [-S program]
         [[user@]host1:]file1 ... [[user@]host2:]file2

比较常用的是如下格式:

scp [可选参数] file_source file_target

Linux scp命令参数说明:

-1  强制scp命令使用协议ssh1  
-2  强制scp命令使用协议ssh2  
-4  强制scp命令只使用IPv4寻址  
-6  强制scp命令只使用IPv6寻址  
-B  使用批处理模式(传输过程中不询问传输口令或短语)  
-C  允许压缩。(将-C标志传递给ssh,从而打开压缩功能)  
-p 保留原文件的修改时间,访问时间和访问权限。  
-q  不显示传输进度条。  
-r  递归复制整个目录。  
-v 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。   
-c cipher  以cipher将数据传输进行加密,这个选项将直接传递给ssh。   
-F ssh_config  指定一个替代的ssh配置文件,此参数直接传递给ssh。  
-i identity_file  从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。    
-l limit  限定用户所能使用的带宽,以Kbit/s为单位。     
-o ssh_option  如果习惯于使用ssh_config(5)中的参数传递方式,   
-P port  注意是大写的P, port是指定数据传输用到的端口号   
-S program  指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。

二、Linux scp命令 使用实例

1)将文件从本地拷贝单个文件到远程主机

#scp file1 root@linuxdaxue.com:/home/testDir
root@linuxdaxue.com's password: 
file1                                                                                               100%   74     0.1KB/s   00:00
#

2)将文件从远程拷贝到本地

#scp root@linuxdaxue.com:/home/testDir ./file_remote
root@linuxdaxue.com's password: 
testDir                                                                                             100%   74     0.1KB/s   00:00    
#ls
file1  file1_link  file2  file3  file_remote

可以看到文件已经拷贝过来了,而且指定了本地名称为:file_remote

3)将文件夹从本地拷贝到远程主机

#scp -r testDir root@linuxdaxue.com:/home/remoteDir
root@linuxdaxue.com's password: 
file2                                                                                               100%    0     0.0KB/s   00:00    
file1                                                                                               100%   74     0.1KB/s   00:00    
file_remote                                                                                         100%   74     0.1KB/s   00:00    
file3                                                                                               100%    0     0.0KB/s   00:00    
file1_link                                                                                          100%   74     0.1KB/s   00:00

拷贝文件夹需要加 –r 参数,递归拷贝文件夹下文件,并且指定远程目录名为remoteDir

4)将文件夹从远程主机拷贝到本地

#scp -r root@linuxdaxue.com:/home/remoteDir ./localDir
root@linuxdaxue.com's password: 
file2                                                                                               100%    0     0.0KB/s   00:00    
file1                                                                                               100%   74     0.1KB/s   00:00    
file_remote                                                                                         100%   74     0.1KB/s   00:00    
file3                                                                                               100%    0     0.0KB/s   00:00    
file1_link                                                                                          100%   74     0.1KB/s   00:00    
#ls
destDir  localDir  testDir

将远程目录拷贝到本地,并制定本地文件夹名称为:localDir

以上就是在实际应用中比较常用的 scp命令 用法,另外需要注意的是,远程拷贝时所使用用户应该对拷贝的文件或者文件夹有相应的权限。

更多Linux命令详情请看:Linux命令速查手册

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: