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) 什么是正则表达式 正则表达式又称为规则表达式 正则表达式是一个计算机的一个概念 正则表达式为了处理大量的文本|字符串而定义的一套规则和方法,通常被用来检索,替换那些符合 ...
随机推荐
- Web登录验证之 Shiro
1.需要用到的shiro相关包 <!-- shiro begin --> <dependency> <groupId>org.apache.shiro</gr ...
- hadoop在windows上的配置文件
core-site.xml <configuration> <property> <name>hadoop.tmp.dir</name> <val ...
- 【Leetcode_easy】690. Employee Importance
problem 690. Employee Importance 题意:所有下属和自己的重要度之和,所有下属包括下属的下属即直接下属和间接下属. solution:DFS; /* // Employe ...
- 如何区分进程和线程ps -eLf
方式 使用ls /proc/pid/task/ 查看线程 使用ps -eLf命令/ps aux -L/ps aux -el 使用pstree 进程和线程 进程是资源分配的最小单位 线程是cpu时间片分 ...
- Hyperledger Fabric1.4 手动搭建过程
1.生成证书: #路径需要更改为自己的路径 cd ~/go/src/github.com/hyperledger/fabric/scripts/fabric-samples/first-network ...
- 【VS开发】【C++开发】const在函数前与函数后的区别
const在函数前与函数后的区别 一 const基础 如果const关键字不涉及到指针,我们很好理解,下面是涉及到指针的情况: int b = ...
- oracle数据库数据转储最好方式(数据库表、数据结构和数据一并导出)
导入:使用plsql:Tools --> Import Tables --> SQL Inserts 得到的为sql文件,在转储的过程中当导入另一个库的时候老是报 “表或视图不存在” ...
- docker 删除不用的镜像
1.删除悬空的镜像 docker image prune -a -f 2.删除悬空的镜像 docker container prune -f 3.定时清空镜像和脚本 [root@VM_0_42_cen ...
- JDK+Jmeter 环境搭建
1.下载JDK安装包,默认安装next即可 2. 3. 4. 5. 6.变量名:JAVA_HOME 变量的值为你安装JDK的目录 我这里是放在C盘 7. 8.添加新的变量值: %JAVA_HOME%\ ...
- subplot()一个窗口画多个图
import matplotlib.pyplot as plt plt.subplot(m,n,p) m,n表示一个窗口上显示m行n列 p表示正在处理第p个区域的部分(区域编号从左到右,从上到下) f ...