跳到底部

Linux系统的大致的学习框架

Linux系统的大致的学习框架

Linux系统入门

1.Linux中用户及组的管理,软件包的管理,磁盘管理,磁盘的规划,系统启动流程
2.Linux操作系统简介,Windows操作系统简介,Windows与Linux操作系统的差异,VM虚拟机软件的安装和配置,
3.Linux网络配置管理,Linux服务器IP命名规范,Linux服务器主机命名规范,Linux服务器上网DNS设置,管理和维护Linux服务器,
4.Linux系统文件与目录的管理,Vi编辑器的使用,Vi编辑器的增删改查,
5.Linux系统用户及组的管理,用户与组的创建于删除,
6.Linux权限的管理
7.Linux软件包的管理,tar命令,yum命令,
8.Linux系统磁盘的管理,mount命令,磁盘故障的修复方法,Linux系统的启动流程(面试必考的内容),Linux系统的进程的管理

服务的管理

1.必须要会用的服务:NTP,DHCP,Samba,NFS,Vsftpd,Apache
2.构建LAMP架构,Redis数据库,TFP服务器,
3.MysQL数据库:mysql数据库的引擎,Mysql数据库索引,MySql数据库的安装方式,Mysql数据库密码的破解


Shell编程

1.Shell四剑客(find,sed,awk,grep),变量的使用,if语句,for循环,while循环,case选择语句,select选择语句,
2.Shell实例的编写:一键系统备份,一键收集系统信息,一百台服务器IP地址的修改,zabbix批量的安装,apache虚拟主机,vsftpd虚拟用户,一键Nginx和tomcat配置,Shell编程的核心思想,docker核心脚本,一键bind管理脚本

Web架构
1.负载均衡软件
2.构建Nginx Web服务器,Nginx虚拟主机的配置,Nginx性能优化,Nginx参数的深入理解,Nginx日志切割,Nginx location规则,Nginx Rewrite规则,
3.构建Rsync同步服务器,Rsync服务端配置,Rsync基于SSH同步,Rsync实时同步的配置,
4.构建DNS域名解析服务,DNS服务器的工作原理,DNS服务器的种类,DNS服务器的安装和配置,DNS主配置文件,
5.LVS负载均衡,LVS负载均衡的工作原理,LVS负载均衡NAT模式的工作图解,LVS负载均衡DR模式的工作图解,

安全相关

1.Iptables, IPtables 内核及原理剖析,firewalld 防火墙,firewalld 防火墙配置文件,ddos安全

其他:
1.TCP三次握手原理,CPU,内存,硬盘IO,数据抓包,TCP/IP报文详解,
2.Docker虚拟化,Docker虚拟化的特点,Docker镜像的原理,Docker虚拟化网络的通信原理
3.云计算Openstack,Openstack云计算Glance镜像原理,Openstack云计算Nova原理剖析,

Linux运维面试的题目:
1.传统运维方式,
2.自动化运维,IT自动化运维工具(Puppet,Saltstack,Ansible),IT自动化运维体系,
3.KVM虚拟化,KVM虚拟化安装,KVM网桥配置,KVM虚拟化硬盘扩容,KVM虚拟机批量克隆,基于Shell的批量添加KVM虚拟机,
4.虚拟化技术的原理,

 

学会了基础的Linux后还需要更深入的学习就需要,一边工作一边从工作中总结、学习和进步。这样做的优点是,学习稳扎稳打、现学现卖、知识掌握牢固,印象深刻!如果你有这样的工作机会,
Linux的高级技术:
nagions 监控

zabbix监控

DNS服务搭建

邮件服务搭建

HA高可用集群

LB负载均衡集群

自动化工具puppet

Linux下的虚拟化
-------------------------
top 命令查看系统进程占用资源情况。类似于Windows任务管理器,定时刷新,按键Q退出
ps aux 查看进程详细信息

 需要搞定的技术

kvm
xen

lvm
RAID
文件系统挂载
ext文件系统
read命令

find命令
if语句
磁盘管理
文件系统管理
egrep bash环境配置

文件管理 管道 用户和组管理 用户和权限管理
pxe
tftp
dhcp
lvs

=========================================

shell脚本的基础

编写Shell脚本的好处:批量的处理,自动化的完成维护,减轻管理员的负担
Shell脚本是Linux中的一种特殊的应用程序
/etc/shells 列出当前系统中所支持的Shell解释器
chsh -l 列出当前系统中所支持的Shell解释器

/bin/bash 是大多数Linux系统中默认的shell解释器

写一个简单的shell脚本:将操作的Linux命令放在一个文件中,赋予文件执行权限依次执行
写一个脚本first.sh
vim first.sh
#! /bin/bash 脚本的声明,表示用的是bash脚本语言写的,用bash解释器执行
# 脚本的注释信息
mkdir /root/shell
ifconfig

默认写好的脚本是没有执行权限的
chmod +x first.sh
./first.sh 执行一下脚本

sh和source命令执行脚本的时候不需要权限
变量
network=/etc/sysconfig/network-scripts/ifcfg-eno
echo $? 返回的结果是0表示上一条命令的执行结果是Ok的
查看一下变量的值
echo $network
cat $network

变量就是,可以存放一个值,这个值是可变的
常见的shell变量有:自定义变量,环境变量,位置变量,预定义变量,
使用echo来打印输出一个变量的值
变量的名称的格式:$变量名

数值变量

 

自定义变量:
自定义变量是用户根据自己的环境自己定义的变量

变量的赋值格式:变量名=变量值 等号两边不能有空格
变量的名称只能从字母或者下划线开头的名称

Linux中变量严格区分大小写,Linux与linux是不同的变量

用echo一次打印多个变量的值
echo $变量1 $变量2 多个变量之前需要有空格

当变量名跟后面的字符很容易混淆的时候使用{}将变量名括起来
echo打印一个变量的内容后加一个字符串、
echo ${变量名}字符串

"" 双引号:可以用来打印输出空格
linx=7.1
system="RHEL $linux"
echo $system
输出结果是:RHEL 7.1

'' 单引号,单引号中的内容会作为普通的字符串处理,单引号的作为内容的时候用\' 来进行转义避免冲突

`` 反撇号 ,括号中的内容当做命令来执行
rpm -qf /usr/bin/pwd 效果等同于rpm -qf `which pwd` 或者 rpm -qf $(which pwd)
或者
rpm -q $(rpm -qf $(which pwd))

反撇号只能将包含的内容当做一条命令来执行,不支持多个嵌套和并列,可以用$()来解决多个内容并列和嵌套命令的执行,来替换反撇号

read命令,用来提示用户要输入的信息,从而实现简单的交互过程,
read xxx sss
值1 值2
Ctrl+D 结束输入


read -p "输入一个密码:" passwd
123456
echo $passwd
123456

read -p 用来设置指定的提示信息

局部定义的变量只在当前的bash环境下生效

set查看当前所有变量
env查看全局变量

exit
export Linux linux 设置全局变量

export XXX=www.xxx.com
echo $XXX
bash 切换一个环境
echo $XXX

位置变量:$1-$9
$1 $2

vim weizhi.sh
#!/bin/bash
# 注释
SUM=$(expr $1 + $2 )
echo "$1 + $2 = $SUM"

执行一下这个脚本
source weizhi.sh 1 2

$0是预定义的变量而不是位置变量

预定义变量:
$# 位置变量的个数
$* 具体的内容
$? 返回值正确0 非0表示上条命令执行失败,取值在0-127之间
$0 当前执行的命令或程序的名称

写一个备份的脚本
vim backup.sh
#!/bin/bash
# 注释
file=beifen-$(date +%s).tar.gz
tar zcf $file $* &>/root/tar.log
echo "已执行$0脚本"
echo "共完成$#备份对象"
echo "具体的内容是$*"

执行一下这个脚本
source backup.sh /home
source backup.sh /home /opt

[ ] 条件判断
文件测试:判断是一个文件还是目录,判断是都具有读写执行权限,判断文件目录是否存在
-d 是否是一个目录directory
-e 判断文件或目录是否存在
-f 判断文件File是否存在
-r 判断当前用户是否有读的权限read
-w 判断当前用户是否有写的权限write
-x 判断当前用户是否有执行的权限excute

判断一个目录cdrom是都存在
[ -d /media/cdrom ]
echo $? 返回结果非0表示不存在

或者:
test -d /media/cdrom
echo $? 返回结果非0表示不存在

&& 表示前面的命令之执行成功后才执行后面的命令
[ -d /media/cdrom ] && echo "Yes"

环境变量是指系统已经定义好的变量,环境变量的值由操作系统本身自己维护,
env命令可以查看当前系统的环境变量
环境变量的配置文件在 /etc/profile 全局变量
环境变量的局部变量 /home/yonghuming/./bash_profile 个人目录的局部环境变量

$PWD
$PATH
$USER
$SHELL
$HOME

 


作业
1. 如何编写一个正确的脚本(脚本的格式)?
2. #!/bin/bash 什么意思?
3. 列出执行脚本的三中常用的方法;
4. shell脚本的变量分类;
5. 自定义变量中的单引号,反撇号的作用;
6. read 的作用 –p选项的作用;
7. 怎样设置和查看全局变量?
8. 将局部变量转化为全局变量的命令是?
9. 环境变量中$PATH的用处?
10. 预定义变量的作用.$#代表什么意思?

posted @ 2019-04-19 11:54  iLoveBurning  阅读(477)  评论(0)    收藏  举报
测试QQ:##########这个是我QQ啦、、、

博客已萌萌哒运行431天2小时33分钟14秒 (●'◡'●)ノ♥

 当前时间

返回顶部
 返
 回
 顶
 部
生活其实也很简单,喜欢的就去争取得到了就珍惜失去了放它在记忆里,努力把自己变得可爱变得优秀、这样子活着很踏实很舒心、、