使用 SCP 上传和下载服务器的文件
使用 SCP 上传和下载服务器的文件
简介
SCP
是一个用于 Linux
之间文件传输的轻量工具(基于 SSH
),命令使用起来十分简单,唯一的缺点大概就是不支持断点续传了。
本地 >> 远程
将本地文件上传到服务器
命令格式:1
scp localFile user@ip:remoteDir
- localFile:本地文件的路径
- user@ip:服务器的用户名/IP
- remoteDir:服务器上的目录,本地文件将被上传到该目录下
例如下面将本地的 ssh 公钥上传到服务器的
~
(当前用户目录)1
scp ~/.ssh/id_rsa.pub user@191.2.2.131:~
将本地目录上传到服务器
命令格式:1
scp -r localDir user@ip:remoteDir
- -r:递归整个目录
- localDir:本地目录的路径
- user@ip:服务器的用户名/IP
- remoteDir:服务器上的目录,本地目录将被上传到该目录下
例如下面将本地的
/d/ssh
目录上传到服务器~
目录下1
scp -r /d/ssh/ user@191.2.2.131:~
其实你应该已经发现了,文件与目录的却别就在于一个
-r
参数而已
远程 >> 本地
下载服务器文件到本地
命令格式:1
scp user@ip:remoteFile localDir
- user@ip:服务器的用户名/IP
- remoteFile:服务器上文件的路径
- localDir:本地的目录,服务器文件将被下载到该目录下
例如下面将服务器的 ssh 公钥下载到本地的
~
下面1
scp user@191.2.2.131:~/.ssh/id_rsa.pub ~
下载服务器目录到本地
命令格式:1
scp -r user@ip:remoteDir localDir
- -r:递归整个目录
- user@ip:服务器的用户名/IP
- remoteDir:服务器上的目录
- localDir:本地的目录,服务器目录将被下载到该目录下
例如下面将服务器的 .ssh 目录下载到本地的
~
下面1
scp -r user@191.2.2.131:~/.ssh ~
下面列出 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) 的选项。