linux——运维基础,与常用命令
运维概述
1 什么是运维
服务器的运行维护
2 名词
IDC(互联网数据中心)
3 监控软件
zabbix(用的最多), nagios, cactti
4 常用的linux操作系统
1 CentOS
2 Redhat
3 Ubuntu
5 虚拟化
esxi 6.5 (用vsphere client 连接)
6 web正向代理(客户端知道自己使用的代理IP)
1 用途
1 访问原来无法访问的资源(goole)
2 对web服务器隐藏用户信息
7 nginx反向代理(客户端没有感觉)
1 流程
客户端 --> 反向代理服务器 --> 把请求转发给内部网络服务器
2 作用
1 保证内网安全,可以使用方向代理提供WAF功能,阻止WEB攻击
2 实现负载均衡,优化网站的负载
负载均衡规则:(通过nginx反向代理)
1 轮询 :逐一循环调度
2 权重(weight) : 指定轮询几率,权重值和访问比例成正比
3 ip_hash : 根据客户端ip分配固定的后端服务器
8 负载均衡实现(修改nginx配置文件)
upstream servers{#定义集群
server 10.10.10.11;
server 10.10.10.12 weight=2;
server 10.10.10.13;
server 10.10.10.14 backup;
}
server{
listen 80;
... ...
}
linux 常用命令
1, ifconfig 查看IP地址和MAC地址
2 nslookup :解析域名对应的ip地址
3 top :linux下的任务管理器,动态显示当前所有进程CPU以及内在的使用率,q退出
4 ps -aux | grep '服务名':显示系统进程(PID号) 6 df -h:查看磁盘使用情况 ,一般查看根('/')
7 ls -lh : l 表示长格式,h 提供易读单位
8 ls -lhd 文件夹名 :查看文件夹大小
9 chmod : 修改文件权限
chmod +x 文件名
chmod 644 文件名
r :4 w:2 x:1
10 wc -l :统计文件的行数
wc -l /etc/password :统计linux系统有多少个用户
11 sort : 对文件中的内容进行排序
sort ip.txt
12 uniq -c : 配合sort使用效果更好
1 作用:去除重复的行,并统计每行出现的次数(相邻行才能去重)
13 find命令:根据指定条件查找文件/目录
1
1 -name :文件名查找
find 路径 -name "文件名"
2 -iname :不区分大小写
2 -type :根据类型查找(文件|目录)
1 常用选项
f :文件
d :目录
l : 链接(link快捷方式)
find . -name 'mysql*' -type f
3 按大小查找
1 + :大于...的文件/目录
2 - :小于...的文件/目录
3 查找/home/treana/software大于20m的文件
find /home/tarena/software/ -size +20M -type f
4 -ctime :根据时间查找
1 -ctime + 1 :表示1天以前的文件/目录
2 -ctime - 1 :表示1天以内的文件/目录
3 find . -ctime -1
5 处理动作
find ... -exec Linux命令 {} \;
1 当前目录下查找1天以内的.doc文件,然后删除
find . -name '*.doc' -ctime -1 -type f -exec rm -rf {} \;
6 根据指定内容查找-->(#changsouce)
find . -type f -name "*.html" |xargs grep -i "#changsource" find . -name "*.html" |xargs grep -i "#changsource"
14 ssh : 远程连接到服务器
1 格式:ssh 用户名@IP地址
15 scp
1 远程复制文件/目录
2 scp 文件名 用户名@IP地址:绝对路径
16 du -sh :显示当前目录大小
du -sh 目录名
运维工具
1 xshell(软件,安装在windows)
安全终端模拟软件
1 xshell的使用方法
文件 - 新建
2 Windows <--> Linux 文件互传
1 安装lszrz
sudo apt-get install lrzsz
2 windows文件 -> Linux
在xshell终端
rz
3 Linux文件 --> windows
在xshell终端
sz 文件名
周期性计划任务
1 crontab -e
选3 或者4
2 设置周期性计划任务
* * * * * python3 /home/tarena/software/..py
分 时 日 月 周
*: 代表所有可能的值
,: 指定多个时间点
每月的1号和5号执行1 个py 文件
0 0 1,5 * * python3 /home/tarena/software/..py
/: 指定时间间隔的频率
每隔10分钟执行1个py 文件
*/10 * * * * * python3 /home/tarena/software/...py
-: 指定一个时间段
0点- 6点之间,每小时去执行1个py文件
0 0-6/1 * * * python3 /home/tarena/software/...py
1 每分钟执行1次 backup.py
*/1 * * * * python3 /home/tarena/software/backup.py
2 每小时的第3分钟和第15分钟执行backup.py
3,15 * * * * python3 /home/tarena/software/backup.py
3 每周六和周日的0点执行backup.py
0 0 * * 6,0 python3 /home/tarena/software/backup.py
4 每天的18点-23点之间,每小时执行1次backup.py
0 18-23/1 * * * python3 /home/tarena/software/backup.py
5 awk 的使用
1 语法格式:awk 选项 '动作' 文件
2 用法: Linux命令 | awk 选项 '动作'
3 使用示例
1 awk '{print "hello"}' ip.txt
2 de -h | awk '{print $1}'
作用:显示de -h 结果第一列的内容(默认以空白分隔不同的列)
3 awk -F '分隔符' '{动作}' ...
## 默认以空白分隔,-F 可手动指定分隔符
4 显示本机的IP地址
ifconfig | head -2 | tail -1
5 sort 的参数
sort -k 1 :按照第1列进行排序
sort -n : 以数字的方式比较排序
sort -r : 倒序排列
sort -rnk 1 :把第1列以数字的方式进行倒序排列 shell编程,,第一句必须要加上#!/bin/bash
在执行时,需要使用 sh xx.sh 来执行
后缀以.sh shell 编程
1 所有的shell程序都是以 .sh结尾
2 执行方式
3 shell 基础
1 变量赋值
1 变量名=值 : =两侧不能有空格
number=10 name="张三丰"
2 获取linux命令的执行结果给变量赋值
1 time=$(date)
2 time=`date`
3 接受用户从终端输入给变量赋值
read -p "提示信息" 变量名
read -p "输入姓名:" name ex:
#!/bin/bash
number=10
time=$(date)
read -p "请输入姓名:" name
echo $number
2 输出语句
echo $变量名
3 '' 和 "" 的区别
在引号内
1 ''无法获取变量的值
2 ""可以获取变量的值
read -p "input name:" name
echo '名字是:$name' --> 结果: 名字是:$name
echo "名字是:$name" --> 结果:名字是:张三丰 4 运算符
1 算术运算符
+ - * / %
++ :自加1运算
--
运算命令(let):
1 let运算表达式
i=1
let i++
echo $i --> 2
2 expr运算表达式
i=1
sum=`expr $i + 5`
echo $sum -->6
2 比较运算符
1 文件状态
-e :文件/目录,是否存在
-d:目录/判断是否为目录
-f:文件 ,判断是否为文件
3 字符比较 = !=
空: -z
非空: !-z 或 -n
4 数值比较
等于 eq
不等于 -ne
小于: -lt -le
大于: -gt -ge 5 逻辑比较
逻辑与:&&
逻辑或: ||
5 if条件判断
1 语法格式:
if [ 条件 ];then
执行条件
elif [];then
执行条件
else
执行语句
fi 6 for 循环
语法:for 变量名 in 值列表
do
执行语句
done
造数方法 : `seq 起始值 步长 中止值`(包括终止值)
例 `seq 5` : 1 2 3 4 5 默认起始值为1 ,步长为1
c 语言的for 循环:for((赋初值;条件判断;步长))
do
执行语句
done
7 while 循环
语法: while [条件]
do
执行语句
done
8 函数:语法:函数名(){
代码块}
调用:函数名
linux——运维基础,与常用命令的更多相关文章
- Linux内存运维操作及常用命令
Linux内存运维操作及常用命令 1.问题诊断 1.1 什么是 Linux 服务器 Load Average? 1.2如何查看 Linux 服务器负载? 1.3服务器负载高怎么办? 1.4如何查看服务 ...
- 第一阶段·Linux运维基础-第1章·Linux基础及入门介绍
01-课程介绍-学习流程 02-服务器硬件-详解 03-服务器核心硬件-服务器型号-电源-CPU 01-课程介绍-学习流程 1.1. 光看不练,等于白干: 1.2 不看光练,思想怠慢: 1.3 即看又 ...
- Linux运维基础采集项
1. Linux运维基础采集项 做运维,不怕出问题,怕的是出了问题,抓不到现场,两眼摸黑.所以,依靠强大的监控系统,收集尽可能多的指标,意义重大.但哪些指标才是有意义的呢,本着从实践中来的思想,各位工 ...
- linux运维基础知识
linux运维基础知识大全 一,序言 每一个微不足道的知识,也是未来的铺垫.每一份工作的薪资职位,也是曾经努力的结果. 二,服务器 1,运维人员工作职责: 1)保证数据不丢失:2)保证服务器24小时运 ...
- Linux运维基础命令笔试题--看看你会多少?
老男孩教育linux运维就业班第一周课后学习效果能力上机大考察 (每题10分共130分,过100即可,请给出详细步骤) 1.创建目录/data/oldboy ,并且在该目录下创建文件oldboy.tx ...
- linux运维基础__争取十月前研究的差不多
转来的一编,考虑在十月前研究的差不多 linux运维人员基础 1.很多地方经常会用到的rsync工具 实施几台服务器的同步效果 我们公司就是使用这个工具完成服务器的游戏的服务端和客户端同步,有几个文章 ...
- [转帖] Linux运维基础知识学习内容
原作者地址:https://www.cnblogs.com/chenshoubiao/p/4793487.html 最近在学习 linux 对简单的命令有所掌握 但是 复杂的脚本 shell pyt ...
- 网络配置——Linux运维基础
今天把Linux的网络配置总结了一下,尽管并不难可是是个比較重要的基础.然后我也不知到自己以后是否会做运维,可是我知道自己比較喜欢刨根问底.还有就是我很珍惜我以前掌握过的这些运维的技能.今天突然间问自 ...
- Linux运维基础
一.服务器硬件 二.Linux的发展史 三.Linux的系统安装和配置 四.Xshell的安装和优化 五.远程连接排错 六.Linux命令初识 七.Linux系统初识与优化 八.Linux目录结构 九 ...
- linux运维基础之跟我一起学正则表达式(一)
正则表达式 ### 二, 1) 什么是正则表达式 正则表达式又称为规则表达式 正则表达式是一个计算机的一个概念 正则表达式为了处理大量的文本|字符串而定义的一套规则和方法,通常被用来检索,替换那些符合 ...
随机推荐
- 深入理解Java虚拟机 - 书评
谈起<深入理解java虚拟机>这本书,让我印象深刻的就是换工作跳槽面试的时候,当时刚进入java开发这个行业的时候,平时只是做一些对数据库的增删改查等功能,当自己技术增长一些的时候,就开始 ...
- Apache配置优化一(查看当前apache数据)
1.查看当前的运行模块 httpd -l 2.查看httpd进程数 ps -ef | grep httpd | wc -l 3.查看请求80服务的client ip按照连接数排序 netstat -n ...
- (七)UML之用例图
用例图主要用来描述“用户.需求.系统功能单元”之间的关系.它展示了一个外部用户能够观察到的系统功能模型图. [用途]:帮助开发团队以一种可视化的方式理解系统的功能需求. 用例图所包含的元素如下: 1. ...
- todolist形式的搜索框,分开组件写的,点击上下键时,框内显示当前选中的内容
### 首先 安装react 脚手架 cnpm install create-react-app -g //只需要在电脑上安装一次就好了,以后不用再下载了 ### 创建项目 crea ...
- 【长期更新】Python使用随想笔记
Q1:python函数传参是传值还是传引用? A:Python参数传递采用的肯定是"传对象引用"的方式.这种方式相当于传值和传引用的一种综合.python不允许程序员选择采用传值还 ...
- python邮件发送自动化测试报告
话不多说直接贴代码 # encoding: utf-8import smtplib #发送邮件模块from email.mime.text import MIMEText #邮件内容from emai ...
- mysql的AB及读写和集群
Mysql的AB及读写 第1章 Mysql的AB配置 1.1 master配置 1.2 slave配置 第2章 读写分离 2.1 安装mycat 2.2 启动mycat 2.3 登录mycat相关问 ...
- java枚举的线程安全及序列化
原文链接:https://www.cnblogs.com/z00377750/p/9177097.html https://www.cnblogs.com/chiclee/p/9097772.html ...
- Python--yaml文件写入
原文地址:https://www.cnblogs.com/yoyoketang/p/9255109.html yaml作为配置文件是非常友好的一种格式,前面一篇讲了yaml的一些基础语法和读取方法,本 ...
- docker&k8s-配置/常用命令
kubectl delete deployment,ingress,svc demo-mml-jp-ylmopt-web-1 -n demo-mml #删除预生产环境mml组ylmopt-web ...