首页
学习
活动
专区
工具
TVP
发布

运维小白

专栏作者
361
文章
461808
阅读量
62
订阅数
用shell脚本,计算1-100的和
需求 计算1-10的和 [root@hf-01 shell]# cat jiafa.sh #! /bin/bash sum=0 for a in `seq 1 10`; do sum=$[$a+$sum] done echo $sum [root@hf-01 shell]# sh -x jiafa.sh + sum=0 ++ seq 1 10 + for a in '`seq 1 10`' + sum=1 + for a in '`seq 1 10`' + sum=3 + for a in '
运维小白
2022-01-06
6600
每日生成一个固定日期格式的文件,并将磁盘的使用情况记录到文件中
要求: 按照(xxxx-xx-xx)这样的日期格式每日生成一个文件,比如今天生成的文件为2018-2-7.log,并且把磁盘的使用情况写到这个文件中(不考虑cron,仅仅写脚本) 需求分析 这个脚本中有两点,一是按照日期的格式来生成文件 二是把磁盘的使用情况写到这个文件中 实现 日期文件格式为(xxxx-xx-xx),两种方法实现,date命令笔记 date +%F date +%Y-%m-%d [root@hf-01 ~]# date +%F 2018-02-07 [root@hf-01
运维小白
2022-01-06
8770
20.20 告警系统主脚本
告警系统主脚本 main.sh内容 #!/bin/bash #Written by aming. # 是否发送邮件的开关 export send=1 # 过滤ip地址 export addr=`/sbin/ifconfig |grep -A1 "ens33: "|awk '/inet/ {print $2}'` dir=`pwd` # 只需要最后一级目录名 last_dir=`echo $dir|awk -F'/' '{print $NF}'` # 下面的判断目的是,保证执行脚本的时候,我们在bin目录
运维小白
2022-01-06
2580
20.19 告警系统需求分析
告警系统需求分析 需求:使用shell定制各种个性化告警工具,但需要统一化管理、规范化管理。 思路:指定一个脚本包,包含主程序、子程序、配置文件、邮件引擎、输出日志等。 主程序:作为整个脚本的入口,是整个系统的命脉。 配置文件:是一个控制中心,用它来开关各个子程序,指定各个相关联的日志文件。 子程序:这个才是真正的监控脚本,用来监控各个指标。 邮件引擎:是由一个python程序来实现,它可以定义发邮件的服务器、发邮件人以及发件人密码 输出日志:整个监控系统要有日志输出。 要求:我们的机器角色多种多样,但是所
运维小白
2022-01-06
4450
20.18 shell中的数组
shell中的数组 {a[2]} 读取第三个元素,数组从0开始 echo {a[*]} 等同于 {a[@]} 显示整个数组 数组赋值 a[1]=100; echo shell中的数组2 数组分片 a=(seq 1 5) echo ${a[@]:0:3} 从第一个元素开始,截取3个 echo ${a[@]:1:4} 从第二个元素开始,截取4个 echo ${a[@]:0-3:2} 从倒数第3个元素开始,截取2个 数组替换 echo ${a[@]/3/100} a=(${a[@
运维小白
2022-01-06
5150
20.16/20.17 shell中的函数
shell中的函数 把一段代码整理到了一个小单元中,并给这个小单元起一个名字,当用到这段代码时直接调用这个小单元的名字即可。 函数就是一个子shell,就是一个代码段,定义完函数就可以引用它 格式: function 后是函数的名字,并且 function 这个单词是可以省略掉的 花括号{} 里面为具体的命令 格式: function f_name() { command } 函数必须要放在最前面 示例1
运维小白
2022-01-06
1970
20.8/20.9 case判断
case判断 格式 case 变量名 in value1) command ;; value2) command ;; *)
运维小白
2022-01-06
3890
20.6 if文件目录属性判断
if文件目录属性判断 if 判断文件、目录属性 [ -f file ]判断是否是普通文件,且存在 [ -d file ] 判断是否是目录,且存在 [ -e file ] 判断文件或目录是否存在 [ -r file ] 判断文件是否可读 [ -w file ] 判断文件是否可写 [ -x file ] 判断文件是否可执行 文件目录属性判断 if 判断文件、目录属性 [ -f file ]判断是否是普通文件,且存在 [root@hf-01 shell]# vim file1.sh [root@h
运维小白
2022-01-06
5300
20.5 shell脚本中的逻辑判断
shell脚本中的逻辑判断 格式1:if 条件 ; then 语句; fi 格式2:if 条件; then 语句; else 语句; fi 格式3:if …; then … ;elif …; then …; else …; fi 逻辑判断表达式:if [ a -gt b ]; if [ a -lt 5 ]; if [ b -eq 10 ]等 -gt (>); -lt(<); -ge(>=); -le(<=);-eq(==); -ne(!=) 注意到处都是空格 可以使用 && || 结合多个条件 if [ $
运维小白
2022-01-06
2K0
8.13 shell特殊符号下
特殊符号 $ 变量前缀,!$组合,正则里面表示行尾 ;多条命令写到一行,用分号分割 ~ 用户家目录,后面正则表达式表示匹配符 & 放到命令后面,会把命令丢到后台 > 正确重定向 >> 追加重定向 2> 错误重定向 2>> 错误追加重定向 &> 正确和错误输出重定向 [ ] 指定字符中的一个,[0-9],[a-zA-Z],[abc] || 和 && ,用于命令之间 || 表示 或者 的意思 两条命令之间,第一条命令如果执行不成功,那就会执行第二条 若第一条
运维小白
2022-01-06
8130
8.9 环境变量配置文件
环境变量配置文件目录概要 /etc/profile 用户环境变量,交互,登录才执行 /etc/bashrc 用户不能登录,执行shell就生效 ~/.bashrc ~/.bash_history ~/.bash_logout PS1='[\033[01;32m]\u@\h[\033[00m]:[\033[01;36m]\w[\033[00m]$ ' //带颜色显示命令行左边 系统的环境变量配置文件 两个纬度,一个是系统层次,一个是用户层次 系统层次,就是/etc 下的文件 用户层次,就是用户家目录下的
运维小白
2022-01-06
3580
8.7/8.8 shell变量
变量 PATH,HOME,PWD,LOGNAME env命令,来获取系统的变量 set命令多了很多变量,并且包括用户自定义的变量 自定义变量a=1 变量名规则:字母、数字下划线,首位不能为数字 变量值有特殊符号时需要用单引号括起来 变量的累加 全局变量export b=2 格式 export 变量名=变量值 全局变量仅仅在子shell里面生效 运行bash 命令,直接进去 子shell unset变量 //取消变量 查看环境变量的命令 env命令,查看系统常用的环境变量 系统的变
运维小白
2022-01-06
3670
3.4 usermod命令
usermod命令介绍 usermod命令,更改用户属性的命令 用户的信息保存在/etc/passwd文件中 usermod命令用法 usermod和useradd命令用法相似 usermod格式 usermod -u 111 username 修改用户的uid usermod -g 123 username 这里的123可以是一个组名,也可以是一个gid usermod -d /home/asklea username 指定它的家目录 usermod -s /sbin/nologin 指定它的shell
运维小白
2022-01-06
2280
3.3 用户管理
useradd命令 useradd命令,增加用户 普通用户创建的uid是从1000开始的 [root@hf-01 ~]# useradd user2 [root@hf-01 ~]# tail -n2 /etc/passwd haha:x:1003:1003::/home/haha:/bin/bash user2:x:1004:1004::/home/user2:/bin/bash useradd命令的用法 useradd -u 指定用户的uid useradd -g 指定用户组的uid useradd -d
运维小白
2022-01-06
4330
Linux基础(day72)
20.16/20.17 shell中的函数 shell中的函数 把一段代码整理到了一个小单元中,并给这个小单元起一个名字,当用到这段代码时直接调用这个小单元的名字即可。 函数就是一个子shell,就是一个代码段,定义完函数就可以引用它 格式: function 后是函数的名字,并且 function 这个单词是可以省略掉的 花括号{} 里面为具体的命令 格式: function f_name() { command
运维小白
2022-01-06
4390
Linux基础(day70)
20.5 shell脚本中的逻辑判断 shell脚本中的逻辑判断 格式1:if 条件 ; then 语句; fi 格式2:if 条件; then 语句; else 语句; fi 格式3:if …; then … ;elif …; then …; else …; fi 逻辑判断表达式:if [ a -gt b ]; if [ a -lt 5 ]; if [ b -eq 10 ]等 -gt (>); -lt(<); -ge(>=); -le(<=);-eq(==); -ne(!=) 注意到处都是空格 可以使用
运维小白
2022-01-06
3730
linux基础(day25)
在切割一个文件,在不指定任何的文件名,最后显示的切割完的文件,会是已xab,xac这样一直延续下去,若再切割一次,则会zxaaa,zxaab等依次下去
运维小白
2022-01-06
3590
linux基础(day24)
8.6 管道符和作业控制 管道符、作业控制 ctrl z //暂停一个任务 jobs //查看后台的任务 bg [id] //把任务调到后台 fg [id] //把任务调到前台 命令后面加&直接丢到后台 管道符的使用 管道符 | ,表示把前面命令输出的结果,传输给后面的命令 cat 1.txt |wc -l ;cat 1.txt |grep 'aaa' grep 命令,用来过滤指定关键词的命令,只要在一行中含有这个关键词,就会把这一行过滤出来 wc -l 命令,查看文件有多少个 [root@loca
运维小白
2022-01-06
5130
linux基础(day23)
8.1 shell介绍 shell介绍 shell是一个命令解释器,提供用户和机器之间的交互 支持特定语法,比如逻辑判断、循环 每个用户都可以有自己特定的shell CentOS7默认shell为bash (Bourne Agin Shell) 还有zsh、ksh等——>用法和bash相似,但是细节还是有一定差异 查询zsh包——>yum list |grep zsh 查询ksh包——>yum list |grep ksh 8.2 命令历史 命令历史 history //查看之前的命令 .bash_
运维小白
2022-01-06
4760
Linux基础(day11)
2.27linux和windows互传文件 前提:两者互传文件 前提条件:要使用 xshell 或者 securecrt 才能用这个方法。 前提条件:安装包 yum install -y lrzsz sz命令 sz——>从linux到windows上,会有两种情况 在桌面若已存在1.txt文件,再次传输的时候,会生成1(2).txt文件 rz命令 rz命令——>r表示remote 将linux上文件传输到windows上 [root@hf-01 ~]# rz 敲完rz后,敲回车命令,会跳出上传的界
运维小白
2022-01-06
3260
点击加载更多
社区活动
RAG七天入门训练营
鹅厂大牛手把手带你上手实战
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档