返回文章列表

scp使用说明


前言

我们在部署服务器的时候,总是需要传输到文件,可以直接使用命令或者可视化工具来完成,一般来说,命令简洁,但可视化更明了。可视化工具推荐FileZilla或者Winscp。我更喜欢使用命令来完成,本篇就介绍一下文件传输命令——scp

详细介绍

自从powershell问世以来,可以在Windows上使用Linux命令简直不要太方便。ssh是我们常用来进行远程访问服务器的命令,可以看ssh使用说明,不做赘述。本篇主要讲解另一个命令——scp

scp是Linux上机器之间互相拷贝文件的命令。全称为secure copy。我们可以从cp命令去理解,cp为拷贝文件命令,但是只可以作用在本机上,不可以跨设备访问拷贝。scp则可以跨机器传输,而且scp是加密传输的,不过加密可能导致速度会有一丢丢的下降,不过也不影响体验。最重要的是,scp非常运行轻量,不会占用太多系统资源,不影响系统的正常使用

1.命令格式:

$ scp  [可选参数]  [原路径]  [目标路径]

2.命令功能:

scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。linux的scp命令可以在linux服务器之间复制文件和目录。

3.命令参数:

-1 强制scp命令使用协议ssh1

-2 强制scp命令使用协议ssh2

-4 强制scp命令只使用IPv4寻址

-6 强制scp命令只使用IPv6寻址

-B 使用批处理模式(传输过程中不询问传输口令或短语)

-C 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)

-p 保留原文件的修改时间,访问时间和访问权限。

-q 不显示传输进度条。

-r 递归复制整个目录。

-v 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。

-c cipher 以cipher将数据传输进行加密,这个选项将直接传递给ssh。

-F ssh_config 指定一个替代的ssh配置文件,此参数直接传递给ssh。

-i identity_file 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。

-l limit 限定用户所能使用的带宽,以Kbit/s为单位。

-o ssh_option 如果习惯于使用ssh_config(5)中的参数传递方式,

-P port 注意是大写的P, port是指定数据传输用到的端口号

-S program 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。

 

4.使用实例:

scp命令的实际应用概述:

从本地服务器复制到远程服务器:

(1)复制文件

$ scp  ./idnex.html  user@192.168.1.1:/var/www/html/index.html  --指定用户名,指定文件名

$ scp ./idnex.html user@192.168.1.1:/var/www/html/  --指定用户名,不指定文件名

$ scp ./idnex.html  192.168.1.1:/var/www/html/  --不指定用户名,不指定文件名,回车后需要输入用户名和密码

(2)复制文件夹

$ scp  -r  ./  user@192.168.1.1:/var/www/  --指定用户名

$ scp  -r ./  192.168.1.1:/var/www/  --不指定用户名,回车后需要输入用户名和密码

 

从远程服务器复制到本地服务器:

(1)复制文件

$ scp  user@192.168.1.1:/var/www/html/index.html  ./idnex.html   

(2)复制文件夹

$ scp  -r  user@192.168.1.1:/var/www/html/  ./ 

特殊说明

如果远程服务器有防火墙保护端口的话,可以尝试指定端口

$ scp  -P 12345  user@192.168.1.1:/var/www/html/index.html  ./idnex.html  --从12345端口进行传输   

 


发布于 2020/4/27 | 作者:猪头少年 | 查看次数:88