GNU sed

教老婆学Linux运维(二)Linux常用命令指南【上】

穿精又带淫゛_ 提交于 2020-04-22 05:10:28
教老婆学Linux(二)Linux常用命令指南【上】 作者:姚毛毛的博客 tips:文章太长,分两篇发出,本篇发前三个章节: 1、文件及目录操作; 2、文件查看及编辑 3、文件查找及统计。 [TOC] 一、概述 1.1写在前面 & 学习指南 本文目的:主要是作为一张给初学者入门Linux的学习地图。 所以我只会讲一些我们生产过程中常用的命令及操作,对于命令的一些偏门用法本文会一带而过甚至不讲。 对于Linux命令详解可以参考网站 https://man.linuxde.net/。 实体书的话推荐《跟老男孩学linux运维-核心系统命令实战》。 1.2 常用命令概述 我将Linux下的常用命令分为几类: 1、文件及目录操作 2、文件查看及编辑 3、文件查找及统计 4、文件解压与压缩 5、用户与文件权限 6、资源监控与管理 为什么列的几个章节都是跟文件相关的? 因为在Linux中一切皆是文件,cpu、内存、磁盘、外设、驱动等等,都是以文件形式存在我们的Linux系统中。 1.3 常用快捷键 在Linux下有几个我操作命令的快捷键,基本上我们会在与Linux打交道时时时刻刻都用到,即: enter 执行命令。输入命令后记得回车,命令才生效。 tab 自动补全。在写文件夹路径的时候,打出首字母直接将后续名称补全,遇到首字母相同的文件夹会展示出列表 ↑ 使用方向键的up键

redis安装、持久化、主从复制、哨兵、集群等配置

跟風遠走 提交于 2020-04-21 23:54:35
1. 基于 Center OS7 安装 redis 1.1 下载安装包 wget http://download.redis.io/releases/redis-5.0.8.tar.gz 1.2 解压 tar –xvf redis-5.0.8.tar.gz 1.3 编译和安装 make install 安装完成以后进入 redis 目录 cd redis-5.0.8/src 2. 启动多个 redis 服务 2.1 指定端口启动服务 服务端启动: redis-server --port 6380 客户端启动: redis-cli -p 6380 2.2 配置文件启动方式 (1) 进入 redis 配置文件 redis.conf 执行命令 : cat redis.conf (2) 打开 redis.conf 文件后无法阅读,信息量太大了 , 简化过滤掉 redis.conf 文件里面的注释执行命令 : cat redis.conf | grep -v "#" | grep -v "^$" 这回再次打开 redis.conf 文件后就清晰多了,但是这时当前这个文件不要修改,如果想修改需要执行如下命令: cat redis.conf | grep -v "#" | grep -v "^$" > redis-6379.conf 这是生成一个新的文件叫 redis-6379.conf (3)

k8s~helm镜像版本永远不要用latest

谁说胖子不能爱 提交于 2020-04-19 18:09:40
对于容器编排工具k8s来说,你可以使用它规定的yaml格式的脚本,使用客户端kubectl来与k8s进行通讯,将你定义好的yaml部署脚本应用到k8s集群上,而这对yaml脚本一般来说都是很像的,就是说,你需要反复的使用同样结构的代码,这对于开发人员来说不是一个好的信号,所以helm出现了,它是一种模板化的部署工具,你定义好模板之后,把变量的对象放在values.yaml里就可以了。 引起的问题 在使用helm进行部署时出现了一个问题,使用镜像时习惯的使用了latest这个版本,也就是最新版本,在使用helm进行部署时,对于相同版本号的镜像来说,它对于的pod居然没有从新编排,这个问题直接影响了整个部署的方式,在jenkins项目部署之后,还需要手动进行pod的部署,这显然是不能接受的,最后在helm里打算使用docker具体的镜像版本号。 使用步骤 jenkins从gitlab上拉取项目源代码 编译项目,测试项目 打包项目成为镜像,镜像版本使用jenkins的TagId,它是当前任务的版本,我们可以直接用 上传镜像到私有仓库harbor里 拉取Helm Chart仓库代码,这个仓库里存储所有服务需要的Charts信息 使用sed命令将当前TagId写入Charts到values.yaml文件的对应服务镜像版本的位置,使用了yaml的锚点和引用功能 使用helm

k8s~helm镜像版本永远不要用latest

牧云@^-^@ 提交于 2020-04-19 17:44:24
对于容器编排工具k8s来说,你可以使用它规定的yaml格式的脚本,使用客户端kubectl来与k8s进行通讯,将你定义好的yaml部署脚本应用到k8s集群上,而这对yaml脚本一般来说都是很像的,就是说,你需要反复的使用同样结构的代码,这对于开发人员来说不是一个好的信号,所以helm出现了,它是一种模板化的部署工具,你定义好模板之后,把变量的对象放在values.yaml里就可以了。 引起的问题 在使用helm进行部署时出现了一个问题,使用镜像时习惯的使用了latest这个版本,也就是最新版本,在使用helm进行部署时,对于相同版本号的镜像来说,它对于的pod居然没有从新编排,这个问题直接影响了整个部署的方式,在jenkins项目部署之后,还需要手动进行pod的部署,这显然是不能接受的,最后在helm里打算使用docker具体的镜像版本号。 使用步骤 jenkins从gitlab上拉取项目源代码 编译项目,测试项目 打包项目成为镜像,镜像版本使用jenkins的TagId,它是当前任务的版本,我们可以直接用 上传镜像到私有仓库harbor里 拉取Helm Chart仓库代码,这个仓库里存储所有服务需要的Charts信息 使用sed命令将当前TagId写入Charts到values.yaml文件的对应服务镜像版本的位置,使用了yaml的锚点和引用功能 使用helm

等保测评linux主机整改

吃可爱长大的小学妹 提交于 2020-04-19 06:40:26
安全加固部份: 一。密码90天更换,最小长度8 建议: 对login.defs文件修只影响后续建立的用户,如果要改变以前建立的用户的有效期等可以使用chage命令. 1)/etc/login.defs,参考以下设置: PASS_MAX_DAYS 90; PASS_MIN_DAYS 1; PASS_WARN_AGE 28;密码失效28天通知用户 PASS_MIN_LEN 8; 修改命令 sed -i.bak -r ‘/^PASS_MAX_DAYS/s/99999/90/’ /etc/login.defs sed -ir ‘/^PASS_MIN_DAYS/s/0/1/’ /etc/login.defs sed -ir ‘/^PASS_WARN_AGE/s/7/28/’ /etc/login.defs sed -ir ‘/^PASS_MIN_LEN/s/5/8/’ /etc/login.defs 二。)在/etc/pam.d/system-auth文件中配置密码复杂度: 在pam_cracklib.so后面配置参数 sed ‘/password required pam_deny.so/i\password requisite pam_cracklib.so minlen=8 ucredit=-2 lcredit=-1 dcredit=-4 ocredit=-1’ /etc/pam.d

如何让在Linux检查用户账户到期时间

∥☆過路亽.° 提交于 2020-04-18 15:37:59
如果你在 Linux 上启用了密码策略。密码必须在到期前进行更改,并且登录到系统时会收到通知。如果你很少使用自己的帐户,那么可能由于密码过期而被锁定。在许多情况下,这可能会在无需密码登录的服务帐户中发生,因为没人会注意到它。 如上这将导致停止服务器上配置的 cronjob/crontab。如果如此,该如何缓解这种情况。你可以写一个 shell 脚本 来获得有关它的通知,我们前一段时间为此写了一篇文章。《使用 Bash 脚本 发送包含几天内到期的用户账号列表的电子邮件》它将给出天数,但是本文旨在在终端中给你实际日期。这可以使用 chage 命令 来实现。 什么是 chage 命令 ? chage 代表更改时效change age。它更改用户密码到期信息。 chage 命令可以修改两次密码更改之间的天数,以及最后一次更改密码的日期。 系统使用此信息来确定用户何时应更改密码。 它还允许用户执行其他功能,例如设置帐户到期日期、在到期后将密码设置为无效、显示帐户时效信息、设置密码更改之前的最小和最大天数以及设置到期警告天数。 1)如何在 Linux 上检查特定用户的密码到期日期 如果要检查 Linux 上特定用户的密码到期日期,请使用以下命令。 # chage -l daygeek Last password change : Feb 13, 2020 Password expires :

如何让在Linux检查用户账户到期时间

≯℡__Kan透↙ 提交于 2020-04-18 11:17:09
如果你在 Linux 上启用了密码策略。密码必须在到期前进行更改,并且登录到系统时会收到通知。如果你很少使用自己的帐户,那么可能由于密码过期而被锁定。在许多情况下,这可能会在无需密码登录的服务帐户中发生,因为没人会注意到它。 如上这将导致停止服务器上配置的 cronjob/crontab。如果如此,该如何缓解这种情况。你可以写一个 shell 脚本 来获得有关它的通知,我们前一段时间为此写了一篇文章。《使用 Bash 脚本 发送包含几天内到期的用户账号列表的电子邮件》它将给出天数,但是本文旨在在终端中给你实际日期。这可以使用 chage 命令 来实现。 什么是 chage 命令 ? chage 代表更改时效change age。它更改用户密码到期信息。 chage 命令可以修改两次密码更改之间的天数,以及最后一次更改密码的日期。 系统使用此信息来确定用户何时应更改密码。 它还允许用户执行其他功能,例如设置帐户到期日期、在到期后将密码设置为无效、显示帐户时效信息、设置密码更改之前的最小和最大天数以及设置到期警告天数。 1)如何在 Linux 上检查特定用户的密码到期日期 如果要检查 Linux 上特定用户的密码到期日期,请使用以下命令。 # chage -l daygeek Last password change : Feb 13, 2020 Password expires :

10.布局:两栏和主区域在后的三栏布局,实现侧边栏和主区域伪等高、实现主区域在前的三栏布局

岁酱吖の 提交于 2020-04-13 09:06:30
主区域自适应可视窗口的两栏布局: <! DOCTYPE html > < html lang ="en" > < head > < meta charset ="UTF-8" > < meta name ="viewport" content ="width=device-width, initial-scale=1.0" > < title > Document </ title > <!-- reset.css文件内容参考:https://www.cnblogs.com/lanshanxiao/p/12663192.html --> < link rel ="stylesheet" href ="./reset.css" > < style > .clearfix::after { content : "" ; display : block ; clear : both ; } .container { min-width : 700px ; } .left { float : left ; width : 300px ; margin-right : 10px ; border : 1px solid #000 ; background : #008c8c ; } .main { overflow : hidden ; border : 1px solid #000 ;

02-01 正则表达式和文本处理工具

扶醉桌前 提交于 2020-04-12 12:43:04
一 什么是正则    正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法。或者说:正则就是用来描述一类事物的规则。 生活中处处都是正则: 比如我们描述:4条腿   你可能会想到的是四条腿的动物或者桌子,椅子等 继续描述:4条腿,活的 就只剩下四条腿的动物这一类了 在linux中,通配符是由shell解释的,而正则表达式则是由命令解释的,下面我们就为大家介绍三种文本处理工具/命令:grep、sed、awk,它们三者均可以解释正则。 二 grep 参数 -n :显示行号 -o :只显示匹配的内容 -q :静默模式,没有任何输出,得用$?来判断执行成功没有,即有没有过滤到想要的内容 -l :如果匹配成功,则只将文件名打印出来,失败则不打印,通常-rl一起用,grep -rl 'root' /etc -A :如果匹配成功,则将匹配行及其后n行一起打印出来 -B :如果匹配成功,则将匹配行及其前n行一起打印出来 -C :如果匹配成功,则将匹配行及其前后n行一起打印出来 --color -c :如果匹配成功,则将匹配到的行数打印出来 -E :等于egrep,扩展 -i :忽略大小写 -v :取反,不匹配 -w:匹配单词 [root@MiWiFi-R3-srv ~] # cat a.txt root123 ROot asdf Root_123 rOOtss

02-01 正则表达式和文本处理工具

倖福魔咒の 提交于 2020-04-12 12:22:31
一 什么是正则    正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法。或者说:正则就是用来描述一类事物的规则。 生活中处处都是正则: 比如我们描述:4条腿   你可能会想到的是四条腿的动物或者桌子,椅子等 继续描述:4条腿,活的 就只剩下四条腿的动物这一类了 在linux中,通配符是由shell解释的,而正则表达式则是由命令解释的,下面我们就为大家介绍三种文本处理工具/命令:grep、sed、awk,它们三者均可以解释正则。 二 grep 参数 -n :显示行号 -o :只显示匹配的内容 -q :静默模式,没有任何输出,得用$?来判断执行成功没有,即有没有过滤到想要的内容 -l :如果匹配成功,则只将文件名打印出来,失败则不打印,通常-rl一起用,grep -rl 'root' /etc -A :如果匹配成功,则将匹配行及其后n行一起打印出来 -B :如果匹配成功,则将匹配行及其前n行一起打印出来 -C :如果匹配成功,则将匹配行及其前后n行一起打印出来 --color -c :如果匹配成功,则将匹配到的行数打印出来 -E :等于egrep,扩展 -i :忽略大小写 -v :取反,不匹配 -w:匹配单词 [root@MiWiFi-R3-srv ~] # cat a.txt root123 ROot asdf Root_123 rOOtss