概述

scpsecure copy的缩写,scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。linux的scp命令可以在linux服务器之间复制文件和目录。

因此我们可以用于写一个脚本在一台服务器上来向多台服务器发送文件部署代码。

语法

scp的基本语法是:scp [选项] [参数]

常用选项如下:

选项 说明
-1 使用ssh协议版本1-2
-2 使用ssh协议版本2
-4 使用ipv4
-6 使用ipv6
-B 以批处理模式运行
-C 使用压缩
-F 指定ssh配置文件
-l 指定宽带限制
-o 指定使用的ssh选项
-P 指定远程主机的端口号,如果默认 SSH 端口不是 22,则使用此选项指定 SSH 端口。
-p 保留文件的最后修改时间,最后访问时间和权限模式
-q 不显示复制进度
-r 以递归方式复制,可用于复制目录

使用

从远程复制文件到本地

从远程服务器复制指定文件到本地主机的指定目录下,基本语法格式如下:

scp user@ip:/path/to/remote/file /path/to/local/directory

参数说明:

  • user@ip::指的是用户名和远程服务器的IP地址,如root@192.168.3.5。注意,用户名和服务器IP地址都是远程服务器的而不是本地服务器的。注意:冒号是必须的。
  • /path/to/remote/file:指的是远程服务器上你想要复制的文件,如/root/.ssh/restart.sh
  • /path/to/local/directory:指的是将远程服务器上的文件复制到本地后存放在哪个目录,如/root/home

例如,将远程服务器上的/root/test.txt文件复制到本地服务器上的/root/.ssh目录下注意,需要输入远程服务器指定用户的密码。

scp root@192.168.40.90:/root/test.txt /root/.ssh

从远程复制目录到本地

从远程服务器复制指定目录到本地主机的指定目录下,基本语法格式如下:

scp -r user@ip:/path/to/remote/directory /path/to/local/directory

参数说明:

  • -r:是一个选项,表示以递归的方式复制,复制目录的时候使用。
  • user@ip::指的是用户名和远程服务器的IP地址,如root@192.168.3.5。注意,用户名和服务器IP地址都是远程服务器的而不是本地服务器的。注意:冒号是必须的。
  • /path/to/remote/directory:指的是远程服务器上你想要复制的目录。
  • /path/to/local/directory:指的是将远程服务器上的目录复制到本地后存放在哪个目录下,如/root/home

例如,将远程服务器上的/root/.ssh/文件夹复制到本地服务器上的/root/home目录下,注意,需要输入远程服务器指定用户的密码。

scp -r root@192.168.40.90:/root/.ssh /root/home

上传本地文件到远程

可以将本地服务器上的指定文件上传到远程服务器上的指定目录下,语法如下:

scp /path/to/local/file user@ip:/path/to/remote/directory

参数说明:

  • user@ip::指的是用户名和远程服务器的IP地址,如root@192.168.3.5。注意,用户名和服务器IP地址都是远程服务器的而不是本地服务器的。注意:冒号是必须的。
  • /path/to/local/file:指的是本地服务器待上传的文件,如/root/.ssh/local.txt
  • /path/to/remote/directory:指的是将本地服务器上的文件上传后存放在哪个目录,如/root/home

例如,将本地服务器上的/root/.ssh/local.txt文件上传到192.168.40.90这台远程服务器上的/root/home目录下。注意,需要输入远程服务器指定用户的密码。

scp /root/.ssh/local.txt root@192.168.40.90:/root/home

上传本地目录到远程

可以将本地服务器上的指定文件上传到远程服务器上的指定目录下,语法如下:

scp -r /path/to/local/directory user@ip:/path/to/remote/directory

参数说明:

  • -r:是一个选项,表示以递归的方式复制,复制目录的时候使用。
  • user@ip::指的是用户名和远程服务器的IP地址,如root@192.168.3.5。注意,用户名和服务器IP地址都是远程服务器的而不是本地服务器的。注意:冒号是必须的。
  • /path/to/remote/directory:指的是远程服务器上你想要复制的目录。
  • /path/to/local/directory:指的是将远程服务器上的目录复制到本地后存放在哪个目录下,如/root/home

例如,将本地服务器上的/root/.ssh文件夹上传到远程服务器,放在/root/home目录下,注意,需要输入远程服务器指定用户的密码。

scp -r /root/.ssh/ root@192.168.40.90:/root/home

拓展延申

无论是从远程服务器上复制文件目录到本地,还是从本地服务器上传文件目录到远程服务器,每一次连接都需要输入远程服务器的密码,这很麻烦。所以我们可以让两台服务器建立信任关系,从此scp操作就不需要输入密码了,具体如何操作请参考:让两台甚至多台Linux服务器建立SSH信任关系。

Linux命令之远程拷贝文件scp相关推荐

  1. linux命令跨进程拷贝文件,linux scp命令安全远程文件复制程序

    功能描述 scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度. ...

  2. windows到linux远程拷贝 pscp 不用输入密码,使用pscp实现Windows 和 Linux服务器间远程拷贝文件...

    在工作中,每次部署应用时都需要从本机Windows服务器拷贝文件到Linux上,有时还将Linux 上的文件拷到本机,这些操作以前都是使用Ftp 工具FlashFxp 来操作的,最近就想有什么更快捷的 ...

  3. 使用pscp实现Windows 和 Linux服务器间远程拷贝文件

    为什么80%的码农都做不了架构师?>>>    在工作中,每次部署应用时都需要从本机Windows服务器拷贝文件到Linux上,有时还将Linux 上的文件拷到本机,这些操作以前都是 ...

  4. centos 7.9 scp命令 实现远程拷贝文件

    1.说明 Linux scp 命令用于 Linux 之间复制文件和目录. scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令. s ...

  5. centos scp命令 实现远程拷贝文件,常用命令记载

    本地复制到远程 scp local_file remote_username@remote_ip:remote_folder scp local_file remote_username@remote ...

  6. Linux 命令行远程下载文件curl,wget

    curl下载http # 密码验证网站下载添加:--user <用户名> curl --user user http://192.168.23.1/share_deb/123.zip -- ...

  7. Linux之命令scp远程拷贝文件

    scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当你服务器 ...

  8. scp命令 – 远程拷贝文件

    scp命令 – 远程拷贝文件 SCP概述 一.格式 二.参数 三.实例 SCP概述 scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令.linu ...

  9. linux scp拷文件夹,linux scp远程拷贝文件及文件夹

    linux scp远程拷贝文件及文件夹 1.拷贝本机/home/administrator/test整个目录至远程主机192.168.1.100的/root目录下 复制代码 代码如下: scp -r ...

  10. Linux 用ssh远程登录及scp传输文件

    #ssh ssh命令是openssh套件中的客户端连接工具,可以给予ssh加密协议实现安全的远程登录服务器. ####语法 ssh (选项) 远程主机 ####常用选项 -1:强制使用ssh协议版本1 ...

最新文章

  1. 实验一:SQL server 2005高可用性之----日志传送
  2. java使用sigar监控服务器
  3. 如何用web3.js在以太坊区块链上保存数据?
  4. 如何在Telegram机器人中设置推送通知
  5. xp系统 服务器访问账号,winxp系统下的网站出现访问的用户过多的解决办法
  6. [10.2模拟] book
  7. appium部分操作
  8. OpenGL基础21:材质
  9. java单核多线程与多核多线程_多线程的程序在多核CPU与单核CPU运行效率有何不同 | 学步园...
  10. oracle监听防止连接风暴,Oracle Listener 监听风暴处理
  11. Java POJO 自动生成器
  12. 微信小程序开发者工具出现Framework inner error错误
  13. 数据库服务器,sql
  14. sat数学可以用计算机吗,SAT考试数学是否可以使用计算器
  15. 课本剧剧本和计算机专业相关,【课本剧】 高中课本剧剧本大全
  16. 用zrender制作一个基础的绘图板,绘图板可用于组态界面的基础性开发
  17. javascript的基本数据类型有哪些?
  18. 英特尔商用客户端焕“芯”,释放数字时代三重生产力
  19. java 串口 dtr rts_串口(RS232 RS485等)通讯中RTS/CTS,DTR/DSR的含义详解
  20. 【四】ubuntu中deb包签名与应用

热门文章

  1. 4. 嵌入式OpenWRT入门基础篇-----设置OpenWRT系统为AP、中继模式
  2. 基于Windows AD的单点登录系统
  3. 【JVM】深入理解JVM垃圾回收机制及其垃圾回收算法
  4. Java开发常见英文单词(带音标翻译)
  5. Agilent GeneSpring GX V11.5_win32_win64扩展生物学分析软件
  6. 几款免费且实用的项目管理工具
  7. EBS 采购订单入库
  8. 工程师分享——SMT贴片机编程的主要流程 2021-08-11
  9. 英特尔傲腾持久内存 Optane DC Persistent Memory Module
  10. 用类描述计算机中cpu的速度和硬盘容量,用类描述计算机中CPU的速度和硬盘的容量。要求Java的应用程序有4个类,名字分别是PC、CPU、HardDisk和Test,其中Test是主类。...