28. scp远程拷贝

scp

scp 用于 Linux 之间复制文件和目录。scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。scp命令是加密的,rcp命令 是不加密的,scp 是 rcp 的加强版。

格式

scp [可选参数] file_source file_target 

常用参数

  • -p:保留原文件的修改时间,访问时间和访问权限
  • -q: 不显示传输进度条
  • -r: 递归复制整个目录
  • -P port:注意是大写的P, port是指定数据传输用到的端口号

从本地复制到远程

命令格式:

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/olive/1.mp3 root@120.90.12.144:/home/root/
scp /home/olive/1.mp3 root@120.90.12.144:/home/root/001.mp3 
scp /home/olive/1.mp3 120.90.12.144:/home/root/
scp /home/olive/1.mp3 120.90.12.144:/home/root/c/001.mp3 

复制目录命令格式:

scp -r local_folder remote_username@remote_ip:remote_folder 
或者 
scp -r local_folder remote_ip:remote_folder 
  • 第1个指定了用户名,命令执行后需要再输入密码;
  • 第2个没有指定用户名,命令执行后需要输入用户名和密码;

应用实例:

scp -r /home/olive/music/ root@120.90.12.144:/home/root/ 
scp -r /home/olive/music/ 120.90.12.144:/home/root/ 

上面命令将本地 music 目录复制到远程 root目录下。

从远程复制到本地

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

应用实例:

scp root@120.90.12.144:/home/root/music/001.mp3 /home/olive/music/1.mp3 
scp -r 120.90.12.144:/home/root/music /home/olive/music/

说明

  1. 如果远程服务器防火墙有为scp命令设置了指定的端口,则需要使用 -P 参数来设置端口号,格式如下:
#scp 命令使用端口号 6001
scp -P 6001 root@120.90.12.144:/usr/olive/start.sh /home/olive
  1. 使用scp命令要确保使用的用户具有可读取远程服务器相应文件的权限,否则scp命令无法使用。
上一篇:使用 go 协程+Channel,让你的代码执行快到起飞


下一篇:SecureFX 8.3上传文件提示access is denied问题