VMware17虚拟机(Centos7)| 基于Hadoop环境搭建 | SCP命令学习
文章目录
一、SCP命令介绍
SCP(Secure Copy Protocol)是Linux系统中基于SSH协议的安全文件传输工具,用于在本地与远程服务器之间或两台远程服务器之间加密传输文件和目录,以下是其核心功能和使用要点。
1.1 基本功能与特点
SCP具有以下功能与特点:
- 安全传输:所有数据通过SSH协议加密,防止数据窃听。
- 跨服务器操作:支持本地→远程、远程→本地、远程→远程的传输场景。
- 简单直接:默认传输整个文件,不支持断点续传,可选保留文件的修改时间、权限等信息(通过 -p 参数)。
1.2 SCP使用要点
1. scp语法要点
语法要点:(注意输入命令为小写
scp
)
scp [选项] 源文件/目录 用户@主机:目标路径
scp [选项] 用户@主机:源文件/目录 目标路径
2. 常用参数
命令 | 参数 | 功能描述 | 示例 |
---|---|---|---|
scp | -r | 递归复制目录 | scp -r /local/dir user@remote:/path |
-v | 显示详细调试信息 | scp -v file.txt user@remote:/path | |
-p | 保留文件时间戳和权限 | scp -p file.txt user@remote:/path | |
-P (大写) | 指定SSH端口 | scp -P 2222 file.txt user@remote:/path | |
-i | 使用密钥文件免密登录 | scp -i key.pem file.txt user@remote:/path |
3. 示例说明
scp file.txt user@remote:/home/user/
本地→远程
scp -r /opt/module/jdk1.8.0_281-amd64 root@SYK131:/opt/module
递归传输目录
scp -i key.pem -P 2222 file.txt user@remote:/path
使用密钥+指定端口
二、与其他命令对比总结
除了scp文件传输工具外,rsync 和 sftp 也是计算机领域常用的文件传输相关工具或协议。
2.1 rsync
rsync(Remote Sync)是一款开源的快速增量备份工具,即远程同步。最初主要用于Linux和UNIX系统,现在也支持跨平台,能在Windows与Linux间进行数据同步。优势在于以下几点:
- 可镜像保存整个目录树和文件系统,还能保留文件原有的权限、时间、软硬链接等属性。
- 第一次全量同步后,后续仅传输有差异的部分,传输时还能进行压缩和解压缩操作,节省带宽。
- 支持多种传输方式,如scp、ssh或直接的socket连接,也支持匿名传输 。
2.2 sftp
sftp(SSH File Transfer Protocol)即安全文件传输协议。它通过数据流连线提供文件的访问、传输和管理功能,为数据传输提供了加密通道,确保数据的完整性和机密性。
- 默认工作在TCP端口22 。
- sftp允许对远程文件进行更多操作,比如重命名、删除等,还能恢复中断的传输、获取目录列表等。
- sftp通常与SSH密钥认证配合使用,安全性比不加密的协议更高。
2.3 对比总结
命令 | 加密传输 | 断点续传 | 交互式 | 适用场景 |
---|---|---|---|---|
scp | ✔️ | ❌ | ❌ | 小文件快速传输、简单加密 |
rsync | ✔️(SSH) | ✔️ | ❌ | 大文件增量同步、断点续传 |
sftp | ✔️ | ✔️ | ✔️ | 手动交互式传输 |
三、SCP应用(基于Hadoop环境搭建)
3.1 实操练习
练习内容:完全分布式运行模式——使用scp拷贝节点信息到其他节点
练习步骤:
- 使用Xshell 5远程连接虚拟机(这里我准备了4台虚拟机,为SYK130~SYK133),连接成功如下图:
2. 在SYK132上将SYK131中的/opt/module目录下所有目录拷贝到SYK132上。(注意:在SYK132上输入命令!!)
- 在SYK131的/opt/module目录下,有两个文件。
- 在SYK132虚拟机上输入命令
scp -r root@SYK131:/opt/module/* /opt/module
。回车后输入两次密码!!!然后等待一会,回到命令行就传输成功了!!
补充知识点:
- SSH协议:是一种在不安全网络中实现安全远程登录和命令执行的网络协议,采用客户端/服务器模型,通过加密和身份验证确保数据安全与传输完整性。它广泛应用于网络管理和服务器运维,为远程访问和管理提供安全高效的手段。
- 客户端/服务器模型:通常又叫C/S模型(Client - Server模型)。在这种模型中,客户端向服务器发送请求,服务器接收请求并进行相应处理,然后将结果返回给客户端。
写在最后
以上内容基于个人学习和实践经验,若您发现任何问题或愿意补充内容,欢迎随时留言交流! 💌
!!希望这篇文档能帮到您,感谢大家的喜欢与支持!!