zzxworld

Linux scp 命令使用示例和选项参考

Linux scp 命令使用示例和选项参考

scp 命令在 Linux 系统中用来远程复制文件。从服务器到本地,或是从本地到服务器。对于有日常管理 Linux 服务器需求的朋友来说,这是一个必须要掌握的命令。

scp 命令格式

scp [命令选项...] 文件来源位置 文件存放位置

文件来源和文件存放位置都可以为本地路径,或是服务器路径。本地路径与普通路径地址没有区别,服务器路径的格式为 ssh 格式:

用户名@服务器 IP 或域名:文件地址

如果 scp 命令的文件来源位置为服务器路径,表示从服务器上下载文件。反之则表示将本地文件上传到服务器。也可以为两个服务器路径,直接把数据从 A 服务器复制到 B 服务器。

scp 命令示例

从服务器上下载文件到本地:

scp zzxworld@myserver:/home/zzxworld/test.txt ./

上面命令中的 zzxworld 为演示数据,表示服务器上的用户名。myserver 类似,表示服务器 IP 或域名。/home/zzxworld/test.txt 代表服务器上的文件路径。请根据实际情况替换为自己对应的数据,以下命令示例不再赘述。

从服务器上下载目录到本地:

scp -r zzxworld@myserver:/home/zzxworld/test ./

将本地文件上传到服务器:

scp ./test.txt zzxworld@myserver:/home/zzxworld/

指定 2222 端口连接服务器并下载文件:

scp -P 2222 zzxworld@myserver:/home/zzxworld/test.txt ./

以压缩方式下载:

scp -C zzxworld@myserver:/home/zzxworld/test.txt ./

以 100 Kbit/s 的速度复制文件到服务器:

scp -l 100 ./test.txt zzxworld@myserver:/home/zzxworld/

scp 命令选项

名称 说明
-c cipher 设置数据传输时的加密方式。使用 sshd -T|grep ciphers 可获得可用的加密方式值。
-i identity_file 指定连接远程服务器时可读取的 RSA 密钥文件。
-l limit 限制数据传输时能用的网络带宽,也就是限速, 单位为 Kbit/s。
-p 保留原文件的修改时间,访问时间和访问权限。
-r 递归复制整个目录。
-v 详细模式。该选项在命令执行时会输出关于运行情况的调试信息。在进行调试连接、验证和配置问题时会很有用的
-B 用批量处理模式,避免重复询问口令)。
-q 不显示文件传输状态。
-C 使用压缩下载方式。
-F ssh_config 指定 ssh_config 配置文件。
-P port 指定远程服务器的连接端口号。
-S program 指定连接的加密类型,选项值 program 必须是 ssh 所支持的加密类型。
-o ssh_option 自定义命令的 ssh 选项。
-1 强制命令使用 v1 版本的 SSH 协议。
-2 强制命令使用 v2 版本的 SSH 协议。
-4 强制命令使用 IPv4 地址。
-6 强制命令使用 IPv6 地址。