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

语法:

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 

参数说明:

-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)的选项。

1、从本地复制到远程【例如:把本地文件/目录 上传给服务器】

scp /var/www/test.php  root@192.168.1.128:/var/www/
把本机/var/www/目录下的test.php文件  上传到192.168.1.1218这台服务器上的/var/www/目录中
scp -P 22 -r test  codinglog@192.168.1.128:/var/www/
把当前目录下的test目录上传到服务器

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个指定了文件名;

2》复制文件应用实例:

scp /home/space/music/1.mp3 root@www.runoob.com:/home/root/others/music
scp /home/space/music/1.mp3 root@www.runoob.com:/home/root/others/music/001.mp3
scp /home/space/music/1.mp3 www.runoob.com:/home/root/others/music
scp /home/space/music/1.mp3 www.runoob.com:/home/root/others/music/001.mp3 

3》复制目录命令格式:

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

4》复制目录应用实例:

scp -r /home/space/music/ root@www.runoob.com:/home/root/others/
scp -r /home/space/music/ www.runoob.com:/home/root/others/ 

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

2、从远程复制到本地【例如:从服务器下载文件/目录 到本地】

scp root@192.168.1.128:/home/kimi/test.txt /tmp/local_destination
把192.168.1.128上的/home/kimi/test.txt   的文件下载到 /tmp/local_destination目录下
scp -r codinglog@192.168.1.128:/home/kimi/test  /tmp/local_dir
把192.168.1.128上/home/kimi/test目录下载到本地

从远程复制到本地,只要将从本地复制到远程的命令的后2个参数调换顺序即可,如下实例:
1》复制目录、文件应用实例:

scp root@www.runoob.com:/home/root/others/music /home/space/music/1.mp3
scp -r www.runoob.com:/home/root/others/ /home/space/music/

注意:

1.如果远程服务器防火墙有为scp命令设置了指定的端口,我们需要使用 -P 参数来设置命令的端口号,命令格式如下:

#scp 命令使用端口号 4588
scp -P 4588 remote@www.runoob.com:/usr/local/sin.sh /home/administrator

2.使用scp命令要确保使用的用户具有可读取远程服务器相应文件的权限,否则scp命令是无法起作用的。

参考链接:http://www.runoob.com/linux/linux-comm-scp.html
                  https://www.cnblogs.com/zhaofeng555/p/8075279.html

Linux 命令 —— scp linux之间复制文件和目录相关推荐

  1. 【10】linux命令每日分享——cp复制文件和目录

    大家好,这里是sdust-vrlab,Linux是一种免费使用和自由传播的 类UNIX操作系统,Linux的基本思想有两点:一切都是文件:每个文件都有确定的用途:linux涉及到IT行业的方方面面,在 ...

  2. linux将txt文件复制为bak,Linux命令:cp (copy)复制文件或目录

    复制文件,只有源文件较目的文件的修改时间新时,才复制文件 cp -u -v file1 file2 .将文件file1复制成文件file2 cp file1 file2 .采用交互方式将文件file1 ...

  3. Linux命令(20)linux服务器之间复制文件和目录

    linux的scp命令: scp就是secure copy的简写,用于在linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器.  有时我们需要获得远程服务器 ...

  4. linux不同用户文件,Linux中不同用户之间复制文件的两个方法

    Linux中不同用户之间复制文件的两个方法 前言 考虑如下情景:foo用户home目录下有一文件file.txt,要将其copy至bar用户的home目录.Linux对用户home目录有严格的权限限制 ...

  5. Linux用scp实现无密码传输文件和目录(使用密钥)

    一.SCP简介 SCP(Secure Copy,安全复制)是一个在远程(本地与远程)服务器间安全的进行文件传输的方法.它以SSH协议为基础,使用SSH协议的22端口. 二.SCP无密码传输原理 原理 ...

  6. Linux命令+shell脚本大全:文件和目录列表

    要想知道系统中有哪些文件,可以使用列表命令( ls ).本节将描述 ls 命令和可用来格式化 其输出信息的选项. 3.5.1 基本列表功能 ls 命令最基本的形式会显示当前目录下的文件和目录: $ l ...

  7. Linux 命令之 du -- 显示每个文件和目录的磁盘使用空间/所占用的磁盘空间大小/所使用的磁盘空间大小/查看文件和目录的大小

    文章目录 命令介绍 常用选项 参考示例 (一)显示当前目录下的所有子目录和文件所占空间 (二)查看指定文件所占空间的大小 (三)查看指定目录的所占空间 (四)查看多个文件所占空间 (五)查看指定目录所 ...

  8. Linux 命令之 ll -- 列出当前文件或目录的详细信息

    文章目录 命令介绍 常用选项 参考示例 (一)查看当前目录下所有文件的详细信息,且按创建时间排序 (二)按时间倒序,分页排列文件 (三)查看某个目录的详细信息 (四)查看某个文件的详细信息 (五)查看 ...

  9. Linux命令scp用于远程文件的拷贝(上传和下载)

    3_Linux命令scp用于远程文件的拷贝(上传和下载) 文章目录 1.SCP简介 2.SCP使用 2.1.命令格式: 2.2.命令功能: 2.3.命令参数: 3.使用实例: 如何将本地文件通过终端上 ...

最新文章

  1. 数据结构与算法笔记 - 绪论
  2. SpringBoot | 第九章:Mybatis-plus的集成和使用
  3. Redhate5.4下Oracle 11g安装
  4. 如何提高创作型任务的效率?
  5. python使用shell环境变量_linux中添加环境变量(python为例)
  6. [NOTE] SQL与sqlmap
  7. 带父节点的平衡二叉树_Python算法系列—深度优先遍历算法【二叉树】
  8. 关于Google Storage的东西
  9. xadmin获取mysql_Django+Xadmin构建项目的方法步骤
  10. 1111---9999的变换
  11. Effective Java 学习笔记之二
  12. linux下用C计算某一个目录总大小
  13. 二维凸包算法(Andrew算法)
  14. 扫雷游戏网页版_如何成为扫雷高手,数学老师教你玩转这款复古小游戏
  15. Themal稳态热仿真介绍
  16. PHP俄罗斯方块游戏代码,俄罗斯方块游戏,俄罗斯方块游戏编程代码
  17. MySQL服务器的超级管理员名称是_mysql服务器忘记了超级管理员root密码
  18. 数仓知识03:“自上而下“建设数仓和“自下而上“建设数仓的差异
  19. C语言(苏小红)——第二章基本数据类型
  20. 拥有十多年欧美金融行业经验,他曾任硅谷Top2互联网金融公司Prosper核心高管,突然回国,究竟是为何?

热门文章

  1. MySQL-MHA集群部署(binlog复制)
  2. 获取手机当前显示的ViewController
  3. numpy 或者是 pandas 矩阵循环
  4. djano-cms学习笔计(一)
  5. JVM 配置常用参数
  6. 优秀的Java程序员必须了解GC的工作原理
  7. mysql临时文件和临时表_理解mysql的临时表和文件排序
  8. 5 加盐_工业软水处理器定期加盐的标准
  9. Linux下搜索文件常用方法
  10. ios 自定义加载动画效果