![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
shell
胡 胡 大 妞
人生没有无用的经历,所以当我们一直走,天一定会亮。
展开
-
Shell学习15天( 配合zabbix收集tcp/mysql/内存信息)- 13ay
1. 配合zabbix收集tcp状态#!/bin/bash#配合zabbix统计tcp连接状态#v1.0 by hujianmei 20200224LISTEN(){ ss -an | grep '^tcp' | grep 'LISTEN' |wc -l}SYN_RECV(){ ss -an | grep '^tcp' |grep 'SYN[-_...原创 2020-02-24 18:20:15 · 155 阅读 · 0 评论 -
Shell学习15天( lnmp 多机部署)- 13ay
这是我自己学习做的笔记,这个项目没有做完。大家不用往下看。目录结构:这次我们主要是安装tengine和php。其实现在不懂php和tengine啊 但是目前工作也涉及不到啊~先就这样pass了吧~大概的安装步骤(没有写完):lnmp.sh tengine_install.sh环境变量配置: installrc.sh202...原创 2020-02-24 17:34:16 · 152 阅读 · 0 评论 -
Shell学习15天(MySql多机部署)- 13ay
(1) 三种方式多机部署以下是方式一:以下代码没有测试过,看个大概流程吧~ #!/bin/bash#mysql多机部署##v1.0 by hujianmei 20200224while read ip;do { # Yum配置 ssh root@"${ip}" "rm -rf /etc/yum.repos.d/*" ...原创 2020-02-24 15:13:30 · 132 阅读 · 0 评论 -
Shell学习15天(保留N天的备份文件)- 12day
(1) 保留N天的备份文件注意哦,在shell里面手动删除的时候尽量使用相对路径删除哦,先cd到你要删除书局的目录再删除,害怕误删除嘛。。。但是在shell里面删除文件都建议使用绝对路径哈! 因为如果万一cd的目录不存在了,那么后面实用的相对路径就成了当前目录,就是执行脚本的目录了。这样很危险的!删除/data下面修改时间是7天以前的文件,用以下两条语句都可以:find /data...原创 2020-02-23 23:29:36 · 397 阅读 · 0 评论 -
Shell学习15天(Nginx日志分析10个案例)- 12day
(1) 判断主机存活 三次机会 以下为三个版本#!/bin/bash#判断主机存活 三次机会#v1.0 by hujianmei 2020223ip_list="10.18.40.1 10.12.122.2 10.34.23.1 www.baidu.com"for ip in $ip_list;do for count in {1..3};do ...原创 2020-02-23 17:38:38 · 152 阅读 · 0 评论 -
Shell学习15天(文本处理AWK(实战小例子))- 11day
(1) 清除本机器上所有arp缓存原创 2020-02-22 18:50:34 · 110 阅读 · 0 评论 -
Shell学习15天(文本处理AWK(使用外部变量))- 11day
(一) awk 部分函数介绍length() ##统计字符串长度(二) AWK使用外部变量下面使用到了awk的函数:gsub : 全局替换函数,sub 是只替换第一个int : 转为整数三种使用变量的方法建议使用awk -v的方式。直接在函数外部定义,调用的时候不必使用$,直接使用变量名就行。...原创 2020-02-22 11:20:23 · 199 阅读 · 0 评论 -
Shell学习15天(文本处理AWK(条件判断&循环&数组))- 10day
(一) 条件判段(二) 循环注意下面b.txt的文件为什么是每行打印一列就换行了,而不是每一行都打印在同一行。原因是 {print i ; i++} print打印完一次后面就是换行符号阿,打印完一次默认就是后面带的换行符号啊。除非是 {print i,j} 这里的i和j才是在同一行。因为这是同一个print语句打印出来的。那个逗号就是映射的OFS...原创 2020-02-21 22:25:56 · 259 阅读 · 0 评论 -
Shell学习15天(文本处理AWK工作原理概览)- 10day
(一) 什么是AWK?AWK是一个优良的文本处理工具,Linux及Unix环境中现有的功能最强大的数据处理引擎之一。这种编程及数据操作语言(其名称得自于它的创始人阿尔佛雷德·艾侯、彼得·温伯格和布莱恩·柯林汉姓氏的首个字母)的最大功能取决于一个人所拥有的知识。awk经过改进生成的新的版本nawk,gawk,现在默认linux系统下日常使用的是gawk,用命令可以查看正在应用的awk的来源(ls...原创 2020-02-21 17:57:45 · 197 阅读 · 0 评论 -
Shell学习15天(流编辑器sed详解)- 10day
(一) sed 定址(地址)地址决定用哪些进行编辑。地址形式可以是数字、正则表达式或二者的结合。如果没有指定地址,sed将处理输入文件的所有行。sed -r 'd' passwd 删除所有行sed -r '3d' passwd 删除第三行sed -r '1,3d' passwd 删除1-3行sed -r '/root/,5d' p...原创 2020-02-21 13:48:28 · 264 阅读 · 0 评论 -
Shell学习15天(流编辑器sed概览)- 09day
(一) sed流编辑器sed 是一种在线的非交互式的编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;...原创 2020-02-20 23:02:49 · 157 阅读 · 1 评论 -
Shell学习15天(grep详解)- 09day
(一) grep 家族grep, egrep, fgrep - 打印匹配给定模式的行总览 SYNOPSIS grep [options] PATTERN [FILE...] grep [options] [-e PATTERN | -f FILE] [FILE...]描述 DESCRIPTIONgrep : 搜索以 FILE 命名的文件输入 (...原创 2020-02-20 19:04:49 · 393 阅读 · 0 评论 -
Shell学习15天(正则表达式 RE)- 09day
前言学习正则之前,我们首先来了解清楚双引号和单引号中区别,双引号中可解析哪些特殊字符?1. 单双引号、无引号三者之间的区别:单引号: 单引号是全引用,被单引号括起的内容不管是常量还是变量都不会发生替换。双引号: 双引号引用的内容,所见非所得。如果内容中有命令、变量等,会先把变量、命令解析出结果,然后在输出最终内容。双引号是部分引用,被双引号括起的内容常量还是常量,变量则会发生替换...原创 2020-02-20 17:40:25 · 149 阅读 · 0 评论 -
Shell学习15天(Shell内置命令)- 09day
(一) Shell 内置命令: 永远返回0true 永远返回0exit 退出整个程序break 结束当前循环,或跳出本层循环。 break n 这个用法会跳出 n 层. break和continue只能作用于循环。con...原创 2020-02-20 11:03:39 · 210 阅读 · 0 评论 -
Shell学习15天(函数传参详解)- 08day
前言: 函数参数使用的是位置参数,不像python用什么形参实参。(一) 位置参数以下通过三个例子来说明 脚本 和 函数 参数之间的区别:例子一: 执行结果输出是23(2*3*4) 不是6 (1*2*3).说明函数接收的是传递给函数的参数,不是程序参数。例子二: 执行结果输出的是 6 (1*2*3) 因为此时传递给函数fun3的参数就是采用获取位置变量参数的方式获取的...原创 2020-02-19 22:32:08 · 151 阅读 · 0 评论 -
Shell学习15天(函数基本概念)- 08day
(一) 什么是函数完成特定功能的代码片段(块),在shell中定义函数可以使用代码模块化,便于复用代码。函数必须先定义才能使用(二) 如何定义函数方法1: function 函数名 { 函数要实现的功能代码 }方法2: 函数名() { 函数要实现的功能代码 }(三) 函数调用3.1 怎么给函数传参参数不用先定义,函数括号里面没有形参。脚本调用时候传位置...原创 2020-02-19 18:43:07 · 108 阅读 · 0 评论 -
Shell学习15天(数组实例练习)- 07day
(一): Array 实现性别统计以下有几点需要特别说明:1. 数组元素追加: sex+=( [f]=1)2. 数组值统计: let sex[$type]++ 把要统计的对象作为数组索引3. 下面脚本使用 awk 一行代码即可搞定: awk '{print $2}' ./sex.txt | sort |uniq -c本实例使用的sex.txt文档如下:...原创 2020-02-18 23:10:46 · 164 阅读 · 0 评论 -
IFS的使用值为$'\n'与'\n'时的区别
在shell中使用到for循环时,是通过IFS同样也是来定义分隔符。如果要指定多个IFS字符,只要将他们在赋值行串起来就行。如下:IFS=$'\n':;"1这个赋值会将换行符、冒号、分号和双引号作为字段分隔符。如何使用 IFS 字符解析数据没有任何限制。那么下面三个的区别是什么呢?IFS='\n' //将字符\和字符n作为IFS的换行符。IFS='\n' //与上面一样。IFS...转载 2020-02-18 22:02:17 · 1987 阅读 · 0 评论 -
Shell学习15天(数组基本概念)- 07day
(一 ) 数组的分类1. 普通数组 : 只能使用整数作为数组索引2. 关联数组: 可以使用字符串作为数组索引,shell 默认不支持关联数组,只有先明确声明才行(二) 数组定义1. 普通数组注意:以上方法二: array3=(`cat etcpasswd`) 的结果是希望将每一行作为元素给数组。但是实际情况也许不是。因为分隔符的原因。普通数组默认以空格作为分隔符来...原创 2020-02-18 19:14:14 · 130 阅读 · 0 评论 -
Shell学习15天(Expect)- 07day
(一) Expect 定义expect是一个自动化交互套件,主要应用于执行命令和程序时,系统以交互形式要求输入指定字符串,实现交互通信。Expect是一个用来实现自动交互功能的软件套件 (Expect [is a] softwareexpect自动交互流程:spawn启动指定进程---expect获取指定关键字---send向指定程序发送指定字符---执行完成退出.(二) exp...原创 2020-02-18 17:32:58 · 132 阅读 · 0 评论 -
Shell学习15天(FD和命令管道)- 06day
(一)FD 文件描述符 文件描述符的概念见: https://blog.csdn.net/xx_ay/article/details/104362026(二) 命令管道1. 进程间通信什么是管道管道是Unix中最古老的进程间通信形式。 行一个进程连接到另一个进程的一个数据流称为“管道”。进程间通信(IPC)每个进程有各自不同的用户地址空间,任何一个进程的全局...原创 2020-02-17 23:11:56 · 258 阅读 · 0 评论 -
Shell学习15天(while&until循环 )- 05day
(一) while 循环while 循环是默认使用回车符来进行分割的,所以 while 循环适合处理文本。以后需要逐行处理文本数据就使用while,其实for循环根本就不适合处理文本哈!while循环在遇到空行的时候不会跳过,他会把空当成他的一个变量。所以使用while的时候需要对line变量进行长度判断。1. while的语法结构实例一: while 循环批量创建用户和初始化...原创 2020-02-15 22:37:05 · 118 阅读 · 0 评论 -
Shell学习15天(for循环)- 05day
(一) for 循环空行的秘密 for循环本身后面的变量是以空格或者tab分割的,如果是空行,就会忽略空行把空行当成一个空格。反正for循环根本就不会理睬空行。视若无睹。就算指定了for循环按照回车分割,也不会理睬空行。(二) for循环语法结构实例一: for循环批量主机ping 深测. 以下代码其实很简单,但是有一个地方需要特别说明,以前没有这样使用过...原创 2020-02-15 16:03:20 · 154 阅读 · 0 评论 -
Shell学习15天(Case语句)- 04day
(一) 模式匹配 case 语句vi 中快速注释掉一段代码快的快捷键: 查看模式 ctrl+v 选择代码快 shift+i 在代码快第一行插入#,按Esc 即可。casecase没法比较大小,就是对字符串就行匹配的。模式可加引号也可不加case做一个简单的 jumpservertrap "" HUP OUIT --忽略键盘输入的相应信号密钥验证:...原创 2020-02-14 17:49:54 · 97 阅读 · 0 评论 -
Shell学习15天(Shell变量 )- 03day
(一) echo 输出带颜色的文本前景色,字体颜色: 使用 \e[1;31mString 表示字符串带指定颜色,以 \e[0m 结尾可以避免后续文字颜色。30m-37m表示不同颜色背景色,背景颜色:使用 \e[1;41mString 表示背景颜色。以\e[0m 结尾。40m-47m 表示不同颜色。(二) shell 变量2-1) 变量赋值: 第一种显...原创 2020-02-13 23:41:26 · 137 阅读 · 0 评论 -
Shell学习15天(Shell特性2/2)- 03day
(一)命令排序分号:; 不具备逻辑判断机制 前面即使命令失败,后续命令也会照常执行&&: 具备逻辑判断,前面命令成功后,后面命令才会执行。比如常用: ./configure&&make&&make install|| : 具备逻辑判断,前面命令失败后,后面命令才会执行。比如: mkdir...原创 2020-02-13 12:04:43 · 153 阅读 · 0 评论 -
Linux中的标准输入输出
今天我被下面这两种重定向的结果弄晕了。>/dev/null 2>&1 和 2>&1 >/dev/null 还好我找到一篇介绍Linux上输入输出以及重定向的好文章,不仅解决了我的疑惑,也让我对标准输入输出和重定向有了更深的理解。谢谢文章的作者。转过来保存。原文链接: https://www.jb51.net/article/106373.htm...转载 2020-02-12 22:44:36 · 366 阅读 · 0 评论 -
Shell学习15天(Shell特性 1/2 )- 02day
(一)Shell的特性1) 切换用户 su - 与su不加- 的区别是什么?用户登陆过程涉及到的shell配置文件详解加-,代表启用切换用户的shell环境,不加,代表切换用户直接使用当前的帐号shell环境。这就是有没有登陆切换用户的shell,也就是login shell 与 nologin shell的区别。 尤其注意这里的login shell&nologin shell ...原创 2020-02-12 22:02:26 · 219 阅读 · 0 评论 -
shell学习15天(Shell 能做什么&Shell调用) - 01day
(一) shell 能做什么?ok,shell无所不能!在日常维护公司应用平台以及服务器过程中,经常会用shell来处理以下一些工作:1. 自动化批量系统初始化程序(update 、软件安装、时区设置、安全策略...)2. 自动化批量软件部署程序(LAMP、LNMP,Tomcat、LVS、Nginx)3. 应用管理程序(KVM、集群管理扩容、MySQL)4. 日志分析处理程...原创 2020-02-11 23:23:11 · 394 阅读 · 0 评论 -
-bash: !": event not found错误 原因是双引号内叹号有特殊含义,用单引号就对了
需求描述: 今天在做通过echo结合passwd给用户改密码的过程中,出现无法修改的错误.错误如下:[root@testvm ~]# useradd mytest[root@testvm ~]# echo "my@test!" | passwd --stdin mytest-bash: !": event not found错误分析: 经过查找该命令发现叹号!在lin...原创 2020-02-11 15:56:04 · 11381 阅读 · 1 评论