文章目录
描述
scp(Secure Copy)是 Linux 中用来通过 SSH 协议在本地和远程主机之间安全地复制文件的命令。它的基本用法和常见选项如下:
语法
sh
scp [选项] [源路径] [目标路径]
参数
-r:递归复制目录及其内容。-P port:指定远程主机的端口(注意是大写的P,区别于小写的-p)。-p:保留文件的修改时间、访问时间和访问权限。-q:静默模式,不显示进度和错误消息。-C:在传输过程中启用压缩。-i identity_file:指定用于身份验证的私钥文件。
例子
从本地复制到远程。例如,将 localfile.txt 复制到远程主机 remotehost 的 /home/username/ 目录:
sh
scp localfile.txt username@remotehost:/home/username/
从远程复制到本地。例如,将远程主机 remotehost 上的 /home/username/remotefile.txt 复制到本地目录 /home/localuser/:
sh
scp username@remotehost:/home/username/remotefile.txt /home/localuser/
递归复制目录。例如,将本地目录 localdir 及其所有内容复制到远程主机 remotehost 的 /home/username/ 目录:
sh
scp -r localdir username@remotehost:/home/username/
指定端口。例如,将 localfile.txt 通过端口 2222 复制到远程主机 remotehost 的 /home/username/ 目录:
sh
scp -P 2222 localfile.txt username@remotehost:/home/username/
使用私钥文件。例如,使用私钥 ~/.ssh/id_rsa 将 localfile.txt 复制到远程主机 remotehost 的 /home/username/ 目录:
sh
scp -i ~/.ssh/id_rsa localfile.txt username@remotehost:/home/username/