文章目录
描述
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/