SCP(Secure Copy Protocol)是一种基于SSH的安全文件传输协议。它允许用户在本地计算机和远程服务器之间,或者两个远程服务器之间安全地复制文件。SCP使用SSH进行数据传输,并利用SSH的认证功能对数据进行加密,从而保证传输过程中的安全性。
SCP的基本命令格式如下:
scp [选项] 源文件 目标文件
-P
:指定远程主机的SSH端口(默认为22)。-r
:递归复制整个目录。-q
:静默模式,不显示传输进度。-C
:启用压缩选项,提高传输效率。假设我们要将本地文件 /home/user/localfile.txt
上传到远程服务器 example.com
的 /home/remoteuser/
目录下。
scp /home/user/localfile.txt remoteuser@example.com:/home/remoteuser/
执行该命令后,系统会提示输入远程用户的密码,成功验证后文件会被上传到指定位置。
如果需要从远程服务器下载文件 /home/remoteuser/remotefile.txt
到本地 /home/user/
目录下,可以使用以下命令:
scp remoteuser@example.com:/home/remoteuser/remotefile.txt /home/user/
要将本地目录 /home/user/mydir/
上传到远程服务器的 /home/remoteuser/
目录下,可以使用 -r
选项递归上传整个目录:
scp -r /home/user/mydir/ remoteuser@example.com:/home/remoteuser/
如果远程服务器使用的是非标准SSH端口(如2222),可以使用 -P
参数指定端口号:
scp -P 2222 /home/user/localfile.txt remoteuser@example.com:/home/remoteuser/
为了加快传输速度,特别是在网络条件较差的情况下,可以启用压缩选项 -C
:
scp -C /home/user/localfile.txt remoteuser@example.com:/home/remoteuser/