Linux scp(secure copy)命令用于两台Linux机器之间复制文件或文件夹。是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 [可选参数] [源文件或目录] [目标文件或目录]
参数说明
- - 1 使用 ssh1 协议
- - 2 使用 ssh2 协议
- - 4 只使用 IPv4 寻址
- - 6 只使用 IPv6 寻址
- - B 使用批处理模式
- - C 允许压缩
- - p 保留源文件的修改时间、访问时间、访问权限
- - q 不显示传输进度条
- - r 递归复制整个目录
- - v 显示详细输出
- - c,cipher 以cipher将数据传输进行加密, 该参数直接传递给ssh
- - F,ssh_config 指定ssh配置文件,该参数直接传递给ssh
- - i, identity_file 从指定文件中读取密钥文件, 该参数直接传递给ssh
- - l, limit 限定传输速度上限(Kbit/s)
- - o, ssh_option ssh 配置选项
- - P,port 指定数据传输的端口号(P为大写)
- - S,program 指定加密传输时使用的程序
示例
# 指定用户名,命令执行后输入密码
# 仅指定远程的目录,文件名字不变
scp local_file remote_username@remote_ip:remote_floder
# 指定文件名
scp local_file remote_username@remote_ip:remote_file
# 不指定用户名,命令执行后输入用户名和密码
# 指定远程的目录,文件名字不变
scp local_file remote_ip:remote_folder
# 指定文件名
scp local_file remote_ip:remote_file
复制目录(文件夹)
# 指定用户名
scp -r local_folder remote_username@remote_ip:remote_folder
# 不指定用户名
scp -r local_folder remote_ip:remote_folder