在Linux中,使用scp命令可以在本地主机和远程主机之间进行文件传输。scp命令的基本语法如下:
scp [选项] [源文件] [目标文件]
其中,选项包括:
- -r:递归复制整个目录(如果源文件是目录)
- -P port:指定远程主机的ssh端口,默认为22
- -p:保留源文件的时间戳,权限和所有者
- -q:不显示传输进度信息
源文件和目标文件可以是本地文件或远程主机上的文件。如果是远程文件,需要使用用户名和主机名的形式指定,例如:username@hostname:/path/to/file
。
以下是一些示例用法:
- 从本地复制文件到远程主机:
scp /path/to/local/file username@hostname:/path/to/remote/file
- 从远程主机复制文件到本地:
scp username@hostname:/path/to/remote/file /path/to/local/file
- 递归复制整个目录:
scp -r /path/to/local/directory username@hostname:/path/to/remote/directory
- 从远程主机复制文件夹到本地,并保留时间戳和权限:
scp -rp username@hostname:/path/to/remote/directory /path/to/local/directory
- 指定远程主机的ssh端口:
scp -P 2222 /path/to/local/file username@hostname:/path/to/remote/file
注意:在执行scp命令时,需要输入密码来进行身份验证,或者使用公钥认证来避免输入密码。