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 函数:语法:函数名(){ 代码块} 调用:函数名
不是所有的成功都是坐享其成,联系作者v(13147256756)