scp secure cop

警告
本文最后更新于 2023-10-22,文中内容可能已过时。

scp secure cop

scp:安全复制 (远程文件复制程序)

请看《SSH 教程 - 阮一峰》下的《scp 命令》

当我们在 Linux 系统之间传输文件的时候,用 U 盘拷贝当然可以,但是这样太慢了,我们可以直接通过scp命令远程复制。scp 在网络中的主机间进行文件复制。它用 ssh 来传输及验证数据,提供与 ssh 相同的安全保护,在scp命令中需要包含主机名和用户名,用来指定从/向该主机复制此文件。

1
scp [-pqrvBC1246] [-F ssh_config] [-S program] [-P port] [-c cipher] [-i identity_file] [-l limit] [-o ssh_option] [[user@]host1:]file1 [...] [[user@]host2:]file2

常用功能参数

  • -r:递归复制整个目录。

简单实践:

从服务器下载文件

scp username@servername:/path/filename /tmp/local_destination

例如

scp codinglog@192.168.0.101:/home/kimi/test.txt /tmp/local_destination:把192.168.0.101上的/home/kimi/test.txt下载到 /tmp/local_destination

可以使用通配符匹配多个文件

scp codinglog@192.168.0.101:/opt/data/* /tmp/local_destination

上传本地文件到服务器

scp /path/local_filename username@servername:/path

例如scp /var/www/test.php  codinglog@192.168.0.101:/var/www/:把本机/var/www/目录下的test.php文件上传到192.168.0.101这台服务器上的/var/www/目录中

从服务器下载整个目录

scp -r username@servername:remote_dir/ /tmp/local_dir

例如:scp -r codinglog@192.168.0.101 /home/kimi/test  /tmp/local_dir

上传目录到服务器

scp  -r /tmp/local_dir username@servername:remote_dir

例如:scp -r test   codinglog@192.168.0.101:/var/www/ 把当前目录下的test目录上传到服务器的/var/www/ 目录

因为使用ssh连接,所以有可能无法建立ssh连接,没关系,输入yes继续传输即可,然后输入目标服务器密码即可开始传输。

0%