scp 文件传输

scp

scp是Security copy,基于ssh协议登录,用于在两台主机之间加密拷贝文件或目录,既可以从本机拷贝到远程主机,也可以从远程主机拷贝到本机。


root@coderbee:~# scp
usage: scp [-12346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
           [-l limit] [-o ssh_option] [-P port] [-S program]
           [[user@]host1:]file1 ... [[user@]host2:]file2

参数说明:

  • -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 限制用户所能使用带宽,以k bit/s为单位。
  • -o ssh_config
  • -P port 大写P,port是传输数据使用的端口号。
  • -S program 指定加密传输时所使用程序,此程序必须能够理解ssh(1)的选项。
  • [[user@]host1:]file1 … 源文件或目录
  • [[user@]host2:]file2 目的文件或目录

选项参数说明来自:http://www.cnblogs.com/xuxm2007/archive/2010/08/04/1792179.html

scp的基本使用形式: scp [-r] 源文件或目录 目的文件或目录-r选项用于拷贝目录。

在本机上的文件或目录是不需要指定用户名和host的。远程主机可以不指定用户名,在命令执行后会要求输入用户名和密码。主机与路径之间是用冒号:分隔的。

对于拷贝遵循:

  • 拷贝文件时,如果目的路径是个目录,则拷贝到目的目录下,文件名不变;如果目的路径是个文件,则拷贝到以此路径指向的文件里,也就是说可以通过指定不同的文件名来直接重命名。
  • 如果是拷贝目录,则目的路径必须是个目录,且必须使用 -r 选项。

举例:

  • 从远程主机拷贝文件到本地目录: scp coderbee@coderbee.net:/home/coderbee/soft/setup.sh .
  • 从本地拷贝文件到远程主机并重命名: scp my.txt coderbee@coderbee.net:/home/coderbee/soft/mytxt
  • 拷贝本地目录到远程主机目录: scp -r basic coderbee@coderbee.net:/home/coderbee/soft/

欢迎关注我的微信公众号: coderbee笔记,可以更及时回复你的讨论。