【scp】命令 – 将文件复制到/从远程机器

在本系列中,我们将以简单易懂的方式介绍Linux的基本命令从基本格式到选项,具体执行示例。这一次,将文件复制到/从远程机器“SCP“这是命令。

什么是scp命令?

“Scp”是在远程机器和本地机器之间或远程机器之间复制文件时使用的命令。一个类似的命令有“rcp(远程复制)”,但scp命令使用SSH进行通信。

要执行scp命令,必须可以使用SSH连接,例如“sshd(SSH守护程序:SSH服务器程序)”正在运行。




scp命令的格式

scp [
选项
] [登录名@主机名]路径[登录名@主机名]路径

* []表示可选参数




scp命令的关键选项

scp命令的主要选项如下。

选项
-B 以批处理模式操作(不要求输入密码等)
-l限制 以千位/秒为单位指定使用的带宽
-p 保持复制源时间戳和权限
-P端口号 指定要用于连接的端口号
-L用户名 指定用于连接的用户名
-i ID文件 指定用于连接的公用密钥文件
-C 压缩所有通信
-c加密方法 指定加密通信的方法(可指定“3des”“blowfish”“des”)
-1 仅使用SSHv1(SSH协议版本1)
-2 仅使用SSHv2(SSH协议版本2)
-4 只使用IPv4
-6 只使用IPv6
-F配置文件 指定SSH配置文件
-o配置参数 指定SSH设置参数(覆盖写入设置文件的内容)
-q 不要显示错误消息或诊断消息(安静模式)
-v 显示调试消息(详细模式)


[*]请注意,“ssh”命令的“-l”(登录名)是“-L”,“-p”(端口号)是“-P”






在本地复制远程计算机上的文件

scp连接目标:路径名称“,在本地复制连接目标处的文件。像cp命令一样,“scp连接目的地:路径名称保存目的地“还可以指定要保存的存储位置和文件名。

使用主机名或IP地址指定连接目标。例如,要将“192.168.2.4”中的“/etc/bash.bashrc”复制到当前目录“scp 192.168.2.4:/etc/bash.bashrc”,将该位置保存为“/ / Downloads /”如果是这样,请指定“scp 192.168.2.4:/etc/bash.bashrc〜/ Downloads /”。

您将使用连接目标上的当前用户名登录。如果您想以不同的名称登录,-L选项或使用ssh命令(第80个)类似地,“scp登录名@连接到:路径名如下所示进行指定。

如果您尚未建立到连接目标的SSH连接,则会显示消息“您确定要继续连接(是/否)?”。如果连接伙伴没有错误,请输入“yes”并按[Enter]键。

接下来,密码提示将显示为“登录名@连接密码:”。如果设置为使用“密钥文件”登录,请输入为密钥设置的密码,如果不使用密钥文件,请输入连接目标的登录密码。


【※】对于ssh连接,使用两个密钥文件“公钥”和“密钥”进行连接。密钥文件是使用“ssh-keygen”命令创建的,公钥由服务器管理,私钥由用户管理。


命令执行示例

scp连接目标:路径名称

scp连接目标:路径名称存储位置

(在本地复制远程计算机上的文件)(屏幕1

<! - CAP - >


画面1

屏幕1
复制“192.168.2.4”中的“/etc/bash.bashrc”并将其保存为“〜/ Downloads bashrc.ubuntu”

<! - CAPEND - >

第二次后,您可以简单地复制密码并复制它(屏幕2)。

<! - CAP - >


画面2

屏幕2
连接确认信息在第二次后不显示

<! - CAPEND - >



将本地文件复制到远程计算机

如果您想将计算机上的文件(本地环境)复制到另一台计算机(远程环境)scp文件名连接到:保存路径如下所示进行指定。

连接目标的“当前目录”是登录用户的主目录。因此,“scp文件名登录名@连接目的地:。“,该文件保存在用户登录的主目录中。

如果在保存目标中有相同的名称文件,它将被覆盖并保存。如果您想事先检查文件的存在或不存在,可以通过在ssh中执行ls命令等来检查它(请参阅第80节)。

命令执行示例

scp文件名连接目的地:路径名

(远程复制本地文件)(屏幕3

<! - CAP - >


画面3

屏幕3
使用scp将本地当前目录中的“tmp.txt”复制到远程的“〜/ Desktop”

发表评论