如何在linux系统中使用scp命令

2022年 10月 16日 发表评论

今天本站向您展示了如何在linux系统中使用scp命令。内容简洁易懂,一定会让你眼前一亮。希望通过这篇文章的详细介绍,你能有所收获。

scp命令的用处:

Scp在网络上的不同主机之间复制文件。它使用ssh安全协议来传输数据,并具有与ssh相同的认证机制,以便安全地远程复制文件。

Scp命令基本格式:

scp [-1246BCpqrv] [-c密码][-F ssh _ config][-I identity _ file]

[-l限制] [-o ssh_option] [-P端口] [-S程序]

[[user@]host1:]file1 [.][[user @]host 2:]文件2

scp命令的参数说明:

-1

强制scp命令使用ssh2协议

-2

强制scp命令使用ssh3协议

-4

强制scp命令仅使用IPv4寻址

-6

强制scp命令仅使用IPv6寻址

-乙

使用批处理模式(传输期间不询问传输密码或短语)

-C

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

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

-q

不显示传输进度条。

-r

递归复制整个目录。

-v详细显示输出。Scp和ssh(1)会显示整个过程的调试信息。此信息用于调试连接、身份验证和配置问题。

-c密码

用密码加密数据传输。该选项将直接传递给ssh。

-F ssh_config

指定另一个ssh配置文件,并将此参数直接传递给ssh。

-i identity_file

从指定文件中读取用于传输的密钥文件,并将此参数直接传递给ssh。

-l极限

限制用户可以使用的带宽,以kbit/s为单位。

-o ssh_option

如果您习惯使用ssh_config(5)中的参数传递方法,

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

-S程序

指定用于加密传输的程序。这个程序必须能够理解ssh(1)的选项。

scp命令的实际应用

1份从服务器本地拷贝到遥远的服务器

(1)复制文件:

命令格式:

scp local _ file remote _ username @ remote _ IP : remote _ folder

或者

scp local _ file remote _ username @ remote _ IP : remote _ file

或者

scp本地_文件远程_ IP :远程_文件夹

或者

scp local _ file remote _ IP : remote _ file

第一个和第二个指定用户名,执行命令后需要输入用户密码。第一个只指定远程目录,文件名保持不变,第二个指定文件名

第3和第4行没有指定用户名,在命令执行后需要输入用户名和密码。第三个只指定远程目录,文件名保持不变,第四个指定文件名

示例:

scp/home/Linux/soft/scp . zip root @ www . my domain.com :/home/Linux/others/soft

scp/home/Linux/soft/scp . zip root @ www . my domain.com :/home/Linux/others/soft/scp 2 . zip

scp/home/Linux/soft/scp . zip www . my domain.com :/home/Linux/others/soft

scp/home/Linux/soft/scp . zip www . my domain.com :/home/Linux/others/soft/scp 2 . zip

(2)复制目录:

命令格式:

scp-r local _ folder remote _用户名@remote_ip:remote_folder

或者

scp-r local _ folder remote _ IP : remote _ folder

第一个指定用户名,执行命令后需要输入用户密码;

第二个没有指定用户名,需要在命令执行后输入用户名和密码;

示例:

scp-r/home/Linux/soft/root @ www . my domain.com :/home/Linux/others/

scp-r/home/Linux/soft/www . my domain.com :/home/Linux/others/

上面的命令将本地的软目录复制到远程的其他目录,也就是说,复制后在远程的服务器会有一个/home/linux/others/soft/目录。

从遥远的服务器复制到当地的服务器

从远程复制到本地的scp命令类似于上面的命令,只要从本地复制到远程的命令后面的两个参数按顺序互换。

例如:

scp root @ www . my domain.com :/home/Linux/soft/scp . zip/home/Linux/others/scp . zip

scp www . my domain.com :/home/Linux/soft/-r/home/Linux/others/

linux系统下scp命令中的很多参数都和ssh2有关,所以我们需要看到更多的原始参数信息,可以运行man scp看到更详细的英文说明。

scp命令在两台服务器直接进行文件传输的方法

假设有两台机器,都是局域网,可以互相通信,没有问题,中间没有防火墙。

两台机器的IP分别为a :192 . 168 . 8 . 232 b 3360192 . 168 . 8 . 232

假设A和B机器的SSH允许root登录

要将A机器上的/root/abc.zip转移到B机器并将其放入/abc目录,您可以使用A机器上的命令:

代码如下:

scp/root/ABC . zip root @ 192 . 168 . 8 . 232:/ABC/

如果SSH端口不是默认的22,例如端口1234,则添加-P参数:

代码如下:

scp-P 1234/root/ABC . zip root @ 192 . 168 . 8 . 232:/ABC/

您也可以在b机器上使用该命令:

代码如下:

scp root @ 192 . 168 . 8 . 232:/root/ABC . zip/ABC/

例如,如果服务器的SSH端口不是默认端口22,而是端口1234,则添加-P参数:

Scp-p 1234 root @ 192 . 168 . 8 . 232:/root/ABC . zip以上内容是如何在linux系统中使用scp命令。你学到什么知识或技能了吗?如果你想学习更多的技能或丰富你的知识储备,请关注本站

小咸鱼

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: