- 博客(90)
- 收藏
- 关注
原创 Shell学习15天( lnmp 多机部署)- 13ay
这是我自己学习做的笔记,这个项目没有做完。大家不用往下看。目录结构:这次我们主要是安装tengine和php。其实现在不懂php和tengine啊 但是目前工作也涉及不到啊~先就这样pass了吧~大概的安装步骤(没有写完):lnmp.sh tengine_install.sh环境变量配置: installrc.sh202...
2020-02-24 17:34:16
211
转载 Nginx Tengine LNMP LAMP
什么是Nginx,什么是Tengine Nginx ("engine x") 是一款轻量级的Web 服务器,是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器,其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名,其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好...
2020-02-24 15:20:47
437
原创 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
182
原创 Shell学习15天(保留N天的备份文件)- 12day
(1) 保留N天的备份文件注意哦,在shell里面手动删除的时候尽量使用相对路径删除哦,先cd到你要删除书局的目录再删除,害怕误删除嘛。。。但是在shell里面删除文件都建议使用绝对路径哈! 因为如果万一cd的目录不存在了,那么后面实用的相对路径就成了当前目录,就是执行脚本的目录了。这样很危险的!删除/data下面修改时间是7天以前的文件,用以下两条语句都可以:find /data...
2020-02-23 23:29:36
508
转载 关于Linux下s、t、i、a权限
关于Linux下s、t、i、a权限分类:2012-08-16 16:19:35原文地址:关于Linux下s、t、i、a权限 作者:wdrain文件权限除了r、w、x外还有s、t、i、a权限:s:文件属主和组设置SUID和GUID,文件在被设置了s权限后将以root身份执行。在设置s权限时文件属主、属组必须先设置相应的x权限,否则s权限并不能正真生效(c h m o d命令...
2020-02-23 22:46:24
197
原创 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
228
转载 Linux IO实时监控iostat命令详解
简介iostat主要用于监控系统设备的IO负载情况,iostat首次运行时显示自系统启动开始的各项统计信息,之后运行iostat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。语法iostat [ -c ] [ -d ] [ -h ] [ -N ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ -z ] [ d...
2020-02-22 18:14:24
154
转载 Linux vmstat命令实战详解
vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令,一个是Linux/Unix都支持,二是相比top,我可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样)。一般vmstat...
2020-02-22 17:12:02
152
原创 ARP缓存是是什么?为什么要清楚arp缓存呢?
ARP原理 :当访问某个IP,计算机必须知道这个IP的物理地址(MAC地址),这时计算机会发一个广播式的数据包询问:“ipx.x.x.x对应的mac是什么?我是IP y.y.y.y , 我的mac是yy-yy-yy-yy-yy-yy” 整个局域网的机子都收到这个询问,真正拥有这个IP的机子就会回答它:“IP x.x.x.x的mac地址是我这个xx-xx-xx-xx-xx-xx”。询问的机子会临时...
2020-02-22 15:20:40
9537
原创 Shell学习15天(文本处理AWK(使用外部变量))- 11day
(一) awk 部分函数介绍length() ##统计字符串长度(二) AWK使用外部变量下面使用到了awk的函数:gsub : 全局替换函数,sub 是只替换第一个int : 转为整数三种使用变量的方法建议使用awk -v的方式。直接在函数外部定义,调用的时候不必使用$,直接使用变量名就行。...
2020-02-22 11:20:23
271
原创 Shell学习15天(文本处理AWK(条件判断&循环&数组))- 10day
(一) 条件判段(二) 循环注意下面b.txt的文件为什么是每行打印一列就换行了,而不是每一行都打印在同一行。原因是 {print i ; i++} print打印完一次后面就是换行符号阿,打印完一次默认就是后面带的换行符号啊。除非是 {print i,j} 这里的i和j才是在同一行。因为这是同一个print语句打印出来的。那个逗号就是映射的OFS...
2020-02-21 22:25:56
340
原创 Shell学习15天(文本处理AWK工作原理概览)- 10day
(一) 什么是AWK?AWK是一个优良的文本处理工具,Linux及Unix环境中现有的功能最强大的数据处理引擎之一。这种编程及数据操作语言(其名称得自于它的创始人阿尔佛雷德·艾侯、彼得·温伯格和布莱恩·柯林汉姓氏的首个字母)的最大功能取决于一个人所拥有的知识。awk经过改进生成的新的版本nawk,gawk,现在默认linux系统下日常使用的是gawk,用命令可以查看正在应用的awk的来源(ls...
2020-02-21 17:57:45
261
原创 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
334
原创 Shell学习15天(流编辑器sed概览)- 09day
(一) sed流编辑器sed 是一种在线的非交互式的编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;...
2020-02-20 23:02:49
246
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
453
原创 Shell学习15天(正则表达式 RE)- 09day
前言学习正则之前,我们首先来了解清楚双引号和单引号中区别,双引号中可解析哪些特殊字符?1. 单双引号、无引号三者之间的区别:单引号: 单引号是全引用,被单引号括起的内容不管是常量还是变量都不会发生替换。双引号: 双引号引用的内容,所见非所得。如果内容中有命令、变量等,会先把变量、命令解析出结果,然后在输出最终内容。双引号是部分引用,被双引号括起的内容常量还是常量,变量则会发生替换...
2020-02-20 17:40:25
225
原创 Shell学习15天(Shell内置命令)- 09day
(一) Shell 内置命令: 永远返回0true 永远返回0exit 退出整个程序break 结束当前循环,或跳出本层循环。 break n 这个用法会跳出 n 层. break和continue只能作用于循环。con...
2020-02-20 11:03:39
284
原创 Shell学习15天(函数传参详解)- 08day
前言: 函数参数使用的是位置参数,不像python用什么形参实参。(一) 位置参数以下通过三个例子来说明 脚本 和 函数 参数之间的区别:例子一: 执行结果输出是23(2*3*4) 不是6 (1*2*3).说明函数接收的是传递给函数的参数,不是程序参数。例子二: 执行结果输出的是 6 (1*2*3) 因为此时传递给函数fun3的参数就是采用获取位置变量参数的方式获取的...
2020-02-19 22:32:08
201
原创 Shell学习15天(函数基本概念)- 08day
(一) 什么是函数完成特定功能的代码片段(块),在shell中定义函数可以使用代码模块化,便于复用代码。函数必须先定义才能使用(二) 如何定义函数方法1: function 函数名 { 函数要实现的功能代码 }方法2: 函数名() { 函数要实现的功能代码 }(三) 函数调用3.1 怎么给函数传参参数不用先定义,函数括号里面没有形参。脚本调用时候传位置...
2020-02-19 18:43:07
164
原创 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
238
转载 IFS的使用值为$'\n'与'\n'时的区别
在shell中使用到for循环时,是通过IFS同样也是来定义分隔符。如果要指定多个IFS字符,只要将他们在赋值行串起来就行。如下:IFS=$'\n':;"1这个赋值会将换行符、冒号、分号和双引号作为字段分隔符。如何使用 IFS 字符解析数据没有任何限制。那么下面三个的区别是什么呢?IFS='\n' //将字符\和字符n作为IFS的换行符。IFS='\n' //与上面一样。IFS...
2020-02-18 22:02:17
2141
原创 Shell学习15天(数组基本概念)- 07day
(一 ) 数组的分类1. 普通数组 : 只能使用整数作为数组索引2. 关联数组: 可以使用字符串作为数组索引,shell 默认不支持关联数组,只有先明确声明才行(二) 数组定义1. 普通数组注意:以上方法二: array3=(`cat etcpasswd`) 的结果是希望将每一行作为元素给数组。但是实际情况也许不是。因为分隔符的原因。普通数组默认以空格作为分隔符来...
2020-02-18 19:14:14
203
原创 Shell学习15天(Expect)- 07day
(一) Expect 定义expect是一个自动化交互套件,主要应用于执行命令和程序时,系统以交互形式要求输入指定字符串,实现交互通信。Expect是一个用来实现自动交互功能的软件套件 (Expect [is a] softwareexpect自动交互流程:spawn启动指定进程---expect获取指定关键字---send向指定程序发送指定字符---执行完成退出.(二) exp...
2020-02-18 17:32:58
231
原创 Shell学习15天(FD和命令管道)- 06day
(一)FD 文件描述符 文件描述符的概念见: https://blog.csdn.net/xx_ay/article/details/104362026(二) 命令管道1. 进程间通信什么是管道管道是Unix中最古老的进程间通信形式。 行一个进程连接到另一个进程的一个数据流称为“管道”。进程间通信(IPC)每个进程有各自不同的用户地址空间,任何一个进程的全局...
2020-02-17 23:11:56
324
原创 文件描述符与文件句柄
在shell程序并发控制的时候提到了文件描述符和文件句柄。没有找到权威的解释。看了下大家的帖子,以下是我自己的理解。不一定对。我暂时先这样理解吧。-----------------------------------------------------------------------------------------------------------------1. 文件描述符和文...
2020-02-17 17:56:44
676
转载 多进程和多线程之间的区别比较
多进程在同一个时间里,同一个计算机系统中如果允许两个或两个以上的进程处于运行状态,这便是多任务。现代的操作系统几乎都是多任务操作系统,能够同时管理多个进程的运行。同时运行多个进程,就必须使用并发技术。实现并发技术最容易理解的是“时间片轮转进程调度算法”,它的思想简单如下:在操作系统的管理下,所有正在运行的进程轮流使用CPU,每个进程允许占用CPU的时间非常短(比如10毫秒),这样用户根本感...
2020-02-17 16:34:13
482
转载 CentOS7设置集群环境SSH免密访问
想写一个脚本实现centos集群间的免密登陆。但是对ssh免密登陆的配置步骤已经遗忘了。今天复习复习。此文转载自: https://www.cnblogs.com/MWCloud/p/11348601.html1.准备工作1)通过克隆或者其他方式获得可互相通信的多台节点(本文为3台虚拟机:hadoop101、hadoop102、hadoop103)2)配置节点的静态IP、hostn...
2020-02-16 22:35:16
672
转载 Linux Trap命令
前言: 翻了下man 和info help 手册,这个trap命令的介绍都是英文。看的有些头疼,这找到一个中文版的说明,转载过来保存下:https://blog.csdn.net/carolzhang8406/article/details/46504415/------------------------------------------------------------------...
2020-02-16 18:55:39
247
原创 Linux中常用命令清单
命令的详细参数man page或help查看。这只是列出清单,了解有这些命令即可。1. 用户管理中的几个常用命令常用命令: useradd usermod passwd userdel与 用户 信息相关的文件/etc/passwd/etc/shadow与 用户组 信息相关的文件/etc/group/etc/gshadow2. 进程管理相关命令bg...
2020-02-16 18:53:59
310
原创 查看内置命令和非内置命令帮助的几种方法(man、help、info)
参考内容: https://blog.csdn.net/zcmuczx/article/details/82556076总结:1、[命令] —help 适用于一般的命令,非内置命令2、man [命令] 适用于一般命令,非内置命令3、help [命令] 适用于内置命令4、info命令5、man命令...
2020-02-16 17:00:20
247
转载 find -name 文件通配符必须使用双引号
shell通配符易出错点ls -l ab*find . -name “abc*”这里的*都是shell的文件通配符,包括 * ? []首先文件通配符和正则表达式含义是不同的。最大的差别在于:1."*" 在正则表达式中表示前面的字符重复任意次数,所以表示任意字符串".*", shell通配符中* 就表示任意字符串2. ".“在正则表达式中是任意一个字符,在通配符中没有其他任何含义,在...
2020-02-16 16:43:04
1173
1
原创 搜索命令的搜索限制:locate whereis which
以下以locate这个搜索命令来说明:问题一:centos系统找不到locate命令(locate: command not found)解决方法:安装mlocate包yum -y install mlocate更新数据库updatedb 问题二:仍然有一些文件无法通过locate命令找到原因:查看配置文件cat /etc/updatedb.conf...
2020-02-16 14:48:01
270
原创 Linux中,几个查找命令: find locate which whereis type 的查找原理以及基本用法
1. find命令:man find看了下,find是第归地在层次目录中处理文件。他是最常用和最强大的查找命令。他能做到实时查找、精确查找,但是速度慢。它的格式如下:总览 SYNOPSIS find [path...] [expression]描述 DESCRIPTION 这个文档是GNU版本 find 命令的使用手册。 find 搜索目录树上的每一个文件名...
2020-02-16 14:22:31
432
原创 Shell学习15天(while&until循环 )- 05day
(一) while 循环while 循环是默认使用回车符来进行分割的,所以 while 循环适合处理文本。以后需要逐行处理文本数据就使用while,其实for循环根本就不适合处理文本哈!while循环在遇到空行的时候不会跳过,他会把空当成他的一个变量。所以使用while的时候需要对line变量进行长度判断。1. while的语法结构实例一: while 循环批量创建用户和初始化...
2020-02-15 22:37:05
178
原创 Shell学习15天(for循环)- 05day
(一) for 循环空行的秘密 for循环本身后面的变量是以空格或者tab分割的,如果是空行,就会忽略空行把空行当成一个空格。反正for循环根本就不会理睬空行。视若无睹。就算指定了for循环按照回车分割,也不会理睬空行。(二) for循环语法结构实例一: for循环批量主机ping 深测. 以下代码其实很简单,但是有一个地方需要特别说明,以前没有这样使用过...
2020-02-15 16:03:20
224
转载 centos7 vim快捷命令
vi和vim是centos自带的一个编辑器,但是要熟练使用它并不容易,vim和vi一样,只是vim支持颜色vi编辑时,有命令模式和编辑模式,进入文件时,自动在命令模式/搜索内容 搜索文件中的关键字(按’n ‘键 下一个):set ic 忽略大小写 :set noic 取消大小写:%s /(旧字符)/(新字符)/g...
2020-02-14 22:03:26
625
原创 Shell学习15天(Case语句)- 04day
(一) 模式匹配 case 语句vi 中快速注释掉一段代码快的快捷键: 查看模式 ctrl+v 选择代码快 shift+i 在代码快第一行插入#,按Esc 即可。casecase没法比较大小,就是对字符串就行匹配的。模式可加引号也可不加case做一个简单的 jumpservertrap "" HUP OUIT --忽略键盘输入的相应信号密钥验证:...
2020-02-14 17:49:54
163
原创 Shell学习15天(Shell 条件测试)- 04day
(一) 条件测试类型1. 文件测试2. 数值比较3. 字符串比较(二) 条件测试语法, 用man test 查看格式一: test 条件表达式格式二: [ 条件1表达式 ]格式三: [[ 条件表达式 ]]...
2020-02-14 14:07:12
125
原创 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
201
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅