Linuxscp-r命令
Linuxscp-r命令详细介绍
在 Linux 系统里,scp -r 命令主要用于在本地和远程主机之间递归地复制文件与目录。scp 是 “secure copy” 的缩写,其功能是通过 SSH 协议安全地复制文件;-r 是 “recursive” 的缩写,有递归的意思,它能让命令复制目录及其包含的所有子目录和文件。
基本语法
plaintext
scp -r [选项] 源路径 目标路径
主要参数
- 源路径:可以是本地文件或目录的路径,也可以是远程主机上文件或目录的路径。远程路径的格式为
username@remote_host:path,其中username是远程主机的用户名,remote_host是远程主机的 IP 地址或域名,path是文件或目录在远程主机上的路径。 - 目标路径:同样可以是本地或远程的路径,格式与源路径类似。
常见使用场景
1. 从本地复制目录到远程主机
bash
/local/directory username@remote_host:/remote/directory
这会把本地的 /local/directory 目录及其所有内容复制到远程主机上的 /remote/directory 目录。
2. 从远程主机复制目录到本地
bash
username@remote_host:/remote/directory /local/directory
此命令会把远程主机上的 /remote/directory 目录及其所有内容复制到本地的 /local/directory 目录。
3. 在两个远程主机之间复制目录
bash
username1@remote_host1:/remote/directory1 username2@remote_host2:/remote/directory2
该命令将把 remote_host1 上的 /remote/directory1 目录及其所有内容复制到 remote_host2 上的 /remote/directory2 目录。不过,执行此命令的本地主机需要有访问这两个远程主机的权限。
其他常用选项
-P:用于指定远程主机的 SSH 端口,例如scp -r -P 2222 /local/directory username@remote_host:/remote/directory。-i:用于指定 SSH 私钥文件,例如scp -r -i /path/to/private_key /local/directory username@remote_host:/remote/directory。-v:启用详细模式,显示复制过程中的详细信息,方便调试和查看进度。