scp
(Secure Copy) 是一个用于在本地主机和远程主机之间安全地传输文件的工具,它使用SSH协议来加密传输的数据。下面是 scp
的基本用法:
从本地复制到远程
scp /path/to/local/file username@remote_host:/path/to/remote/directory
这条命令将本地文件复制到远程主机的指定目录。
从远程复制到本地
scp username@remote_host:/path/to/remote/file /path/to/local/directory
这条命令将远程主机上的文件复制到本地指定目录。
复制目录
要递归复制整个目录,使用 -r
选项。
scp -r /path/to/local/directory username@remote_host:/path/to/remote/directory
使用特定端口
如果远程主机的SSH服务不是运行在默认端口(即22),则可以使用 -P
选项指定端口:
scp -P port_number /path/to/local/file username@remote_host:/path/to/remote/directory
示例
假设你的用户名是 user
,你想要将本地文件 document.txt
从当前目录复制到远程主机 example.com
上的 /home/user/documents
目录。远程主机的SSH服务运行在端口 2222
上。命令将是:
scp -P 2222 document.txt user@example.com:/home/user/documents
在执行命令时,系统可能会提示你输入远程主机的用户密码。
注意事项
scp
默认使用SSH的端口22,除非指定了-P
选项。- 使用
scp
时,确保你有远程主机上相应目录的写权限。 scp
传输过程中文件内容是加密的,但文件名称和大小等信息不是加密的。- 如果你的用户名在本地和远程主机上相同,你可以省略用户名:
scp /path/to/file remote_host:/path/to/directory
- 如果你有远程主机的SSH密钥,
scp
将不会提示你输入密码。
更多选项
scp
提供了更多的选项,如限制带宽、保留文件属性等。要查看所有可用选项,你可以查看 scp
的手册页:
man scp
这将提供详细的命令说明和选项列表。