哈喽哈喽哈喽,大家好啊,很高兴大家能看到这篇文章!
首先,本人目前是计算机专业的大一学生,基于对Linux操作系统的爱好,参与了RHCE的培训班,而我这次编写的 《百战RHCE》文章,是基于我自己的学习经验浓缩而来的,保证简洁,方便理解!
而作为一名大学生,我想通过坚持的高水平文章编写带给我自己本身经验的不断进步,同时也希望让更多的Linux新手能接触到更加系统的文章学习。本次《百战RHCE》,会由浅入深,从最基本的命令行,到编写非常复杂的Ansible 自动化脚本
因为本人和你一样也是学习者,所以文章中出现的错误,还望多多指出。
还有注意了哦,我所用的系统为Centos7,如果你还没下载的话,可以在到我的第一章节,那里有下载教材和镜像地址哦~
最后最后我在说最后一句话,引用下我们老师的话:“不要尝试背下所有指令,多记笔记!多敲命令!”
创作内容不易,学习的朋友麻烦关注下博主,后面学习不迷路。有不会的问题也可以论坛咨询博主,博主也会及时回复~~
在上一章内容当中我们讲解了基于SSH协议的远程登陆命令ssh,那么今天这章我们继续来学习基于SSH协议其他功能的一些其他命令
一.Scp 远程传输和下载数据。
针对scp的使用,朋友你只需要知道两个固定格式就可以轻松掌握了哦
1.传数据:scp -r(传输目录必须加上) 本地文件/目录 用户@主机名: (这里必须要有个空格) 远程地址
2.远程下载: scp -r(传输目录必须加上) 用户@主机名: (这里必须要有个空格) 远程文件/目录 本地地址
下面来看张图(为了方便大家的观看理解,我这边见在图形界面进行操作)
首先我们先来进行传数据的操作
首先我们先看观察左边绿色括号部分的 centos0 主机,我们使用 ll 打开lianxi 目录,发现练习目录中存在目录mulu ,文件 wenjian。
而把视线看向右边的绿括号部分,我们注意到 centos1 主机上 lianxi 目录暂时没有文件。
在次看向左边的第一个蓝色划线,我们使用 scp wenjian root2@centos1:/root/lianxi/ 的命令将wenjian这个文件传送到 centos1的 /root/lianxi 目录下了
在看第二个蓝色划线,我们使用 scp -r mulu root@centos1:/root/lianxi/ 的命令将 mulu这个目录传送到centos1的/root/lianxi 目录下了
看向右边的蓝色括号,发现文件和目录的确传送过来了。
下面我们在来进行远程下载的操作
我们先来观察下右边 centos1 主机上绿括号部分,我们使用ll 打开lianxi目录,发现练习目录中存在 目录mulu ,文件 wenjian。
而把视线看向左边的绿括号部分,我们注意到 centos0 主机上 lianxi 目录暂时没有文件
我们继续看向下面的第一个 蓝色划线部分,我们使用 scp root@centos1:/root/lianxi/wenjian 命令将 centos1 /root/lianxi/wenjian 文件下载到左边主机 centos0 上面。
我们继续看第二个蓝色划线,我们使用 scp -r root@centos1:/root/lianxi/mulu 命令将 centos1 /root/lianxi/muli 目录下载到左边主机 centos0 上面。
二.rsync同步数据
在进行rsync学习之前,我们先来继续看 scp命令,我们在上面的学习当中基本已经了解到 scp 是帮助我们在其他主机之间交换信息的重要的命令,而如果我们现在是一名公司的运维人员,此时我们需要每天进行备份数据,如果此时我们还是用 scp 的方法就会显得非常的费事和费力了,
所以,在这里我们就需要引入 rsync 同步数据这个概念了,首先呢我们先来学习两个使用格式:
1.同步数据到远程主机:rsync 选项 本机文件/目录 主机名:远程地址
2.远程数据同步到本地:rsync 选项 主机名:远程文件/目录 本地主机
这里主要和大家讲几个重要的选项
-a:所有的文件和目录
-v:终端显示详细的同步过程
-n:模拟同步 (模拟同步,但不进行实际的更改)
--delete:实现差异化同步
我们这里来给大家做个列子
1.同步数据到远程主机
首先关注绿括号我们在两边不同的主机上面使用 ll 命令 打开 lianxi目录,我们发现 centos0 上存在 mulu 目录和 wenjian 文件,而 centos1 上面并没有,我们现在尝试将 centos0 的数据 同步到 centos1 上面
我们在来关注红括号,我们在 centos0的主机上面使用 rsync -av /root/lianxi root@centos1:/root/lianxi 命令将 centos0 上面的数据同步到 centos1上面,现在我们在来观察右边 centos1 的红括号,我们发现 centos1 /root/lianxi 目录地区同步到 本地了
2.远程数据同步到本地
首先关注绿括号我们在两边不同的主机上面使用 ll 命令 打开 lianxi目录,我们发现 centos1 上存在 mulu 目录和 wenjian 文件,而 centos0 上面并没有,我们现在尝试将 centos1 的数据 同步到 centos0 上面
我们在来关注红括号,我们在 centos0的主机上面使用 rsync -av root@centos1:/root/lianxi . (注意 "." 就代表 当前目录)命令将centos1 的/root/lianxi 目录同步到 centos0 本地。
这上面都是 rsync 的基本操作但同时也是我们使用最多的操作,但还有一个很关键的 选项 --delete 我们要侧重讲一下,在开始讲之前请大家先看个图片
首先 我们看这张图的 绿色括号部分,这时的 centos0 和 centos1 目录数据是同步。看向红括号部分,而突然有一天我看 mulu 这个目录不太顺眼,将它删掉了,这时我在使用 rsync -av . root@centos1:/root/lianxi 来实现 centos0 和 centos1 数据的同步。
这时用完命令,我们在 centos1 上面打开同步目录 /root/lianxi 看看,发现 mulu还是存在?!!!
这是为啥呢?这主要因为 rsync -av . root@centos1:/root/lianxi 命令只实现同步,但不实现差异化同步,换句人话就是,多的部分我同步,少的部分我不同步。
而如果我们想让两个主机的 目录完全同步,那么我们就需要使用上 --delete 选项来实现差异话同步
可以注意到 当我使用 rsync -av . root@centos1:/root/lianxi --delete 命令 在centos1 主机上的 mulu 目录也消失了。
好了好了朋友们我们今天的内容到这就结束了,今天的内容到这里就结束了,今天的学习内容并不是很多,关键多打几遍就会了,有啥不会的朋友记得论坛里面提问哈~
如果朋友你感觉文章的内容对你有帮助,可以点赞,关注文章和专栏以及关注我哈~嘿嘿嘿~我会定期更新文章的,谢谢朋友你的支持哈~