Shell
文章平均质量分 70
Sharing technology with others is the greatest happiness.
富士康质检员张全蛋
人生实难,唯有自渡。只有接受了真实现的现状和真实的自己,调整好心态,才能脚踏实地的活着,然后去发现角落处的那些惊喜和美好,去相信一切苦难困境都会过去!“即使身处阴沟,也要记得仰望星空”。
展开
-
find 几招在 Linux 中高效地查找目录
在 Linux 操作系统中,查找目录是一项常见的任务。无论是系统管理员还是普通用户,都可能需要查找特定的目录以执行各种操作,如导航文件系统、备份数据、删除文件等。Linux 提供了多种命令和工具来帮助我们在文件系统中快速找到目标目录。本文将介绍几种常用的方法和命令,帮助你在 Linux 中高效地查找目录。原创 2024-05-20 10:06:20 · 3107 阅读 · 0 评论 -
Shell 变量 环境变量(全局变量)/ bash内部变量
变量类型变量可分为两类:环境变量(全局变量,用到的是比较少的)和局部变量。环境变量也可称为全局变量,是系统预先定义好的,可以在创建它们的 shell 及其派生出来的任意子进程 shell 中使用。比如:[root@node1 ~]# echo $USERroot局部变量只能在创建它们的 shell 函数或脚本中使用。还有一些变量是用户创建的,其它的则是专用 shell 变量。环境变量(全局变量)环境变量用于定义 Shell 的运行环境,保证 Shell 命令的..转载 2021-11-24 11:31:13 · 4699 阅读 · 0 评论 -
Shell 变量的作用域详解
at是一次性计划任务,是安排某个任务在指定的时间允许一次执行。如果要周期执行就需要crontab了。最重要的就是crontab里面时间的书写格式了分钟小时 天 月 星期 脚本/命令 使用crontab -e编写计划任务只要将这几个部分填写好就可以了。把具体的时间值填上,不知道的添加上*就可以了。比如对一个数据库每天凌晨四点做一个备份,那么时间格式怎么写?原创 2018-01-23 17:58:17 · 878 阅读 · 0 评论 -
Shell变量的用法规则
一、什么是水线(High Water Mark)?所有的 oracle 段(segments,在此,为了理解方便,建议把 segment 作为表的一个同义词) 都有一个在段内容纳数据的上限,我们把这个上限称为"high water mark"或 HWM。这个 HWM是一个标记,用来说明已经有多少没有使用的数据块分配给这个 segment。HWM 通常增长的幅度为一次5个数据块,原则上 HW原创 2017-12-21 08:25:30 · 505 阅读 · 0 评论 -
Shell 系统变量$n 位置参数
这里是这边移动数据库的一个加固项,回收和业务无关但是具有DBA权限的账号。检查是否在配置用户所需的最小权限;检查是否使用数据库角色(ROLE)来管理对象的权限注意事项及影响:检查拥有dba 角色的非系统用户,与业务确认用户dba是否可以回收 加固前需要业务梳理好用户需要的权限,先授权再回收 需要注意UNLIMITED TABLESPACE 权限,回收dba 之后该权限...原创 2018-09-06 10:49:37 · 2422 阅读 · 0 评论 -
Shell 系统变量 $#、$*、$@、$?、$$
位图(BitMap)索引 前段时间听同事分享,偶尔讲起Oracle数据库的位图索引,顿时大感兴趣。说来惭愧,在这之前对位图索引一无所知,因此趁此机会写篇博文介绍下位图索引。1. 案例 有张表名为table的表,由三列组成,分别是姓名、性别和婚姻状况,其中性别只有男和女两项,婚姻状况由已婚、未婚、离婚这三项,该表共有100w个记录。现在有这样的查询: select原创 2017-09-15 09:02:27 · 538 阅读 · 0 评论 -
Shell 字符串详解
字符串(String)就是一系列字符的组合。字符串是 Shell 编程中最常用的数据类型之一(除了数字和字符串,也没有其他类型了)。字符串可以由单引号' '包围,也可以由双引号" "包围,也可以不用引号。它们之间是有区别的,稍后我们会详解。下面我们说一下三种形式的区别:1) 由单引号' '包围的字符串:任何字符都会原样输出,在其中使用变量是无效的。2) 由双引号" "那么该变量会被解析(得到该变量的值)3) 不被引号包围的字符串。原创 2022-10-21 15:20:22 · 1043 阅读 · 0 评论 -
Shell 数组 定义、增删改查、简单示例
为什么会产生Shell数组?通常在开发Shell脚本时,定义变量采用的形式为“a=1;b=2;c=3”,可如果有多个变量呢?这时再逐个地定义就会很费劲,并且要是有多个不确定的变量内容,也会难以进行变量定义,此外,快速读取不同变量的值也是一件很痛苦的事情,于是数组就诞生了,它就是为了解决上述问题而出现的。如果读者有过其他语言的编程经历,那么想必会熟悉数组的概念。简单地说,Shell的数组就是一个元素集合,它把有限个元素(变量或字符内容)用一个名字来命名,然后用编号对它们进行区分。原创 2023-09-14 16:04:25 · 306 阅读 · 0 评论 -
Shell 运算命令 (()) 括号对整数进行数学运算
默认情况下长时间是指超过10秒钟,时间值可以通过long_query_time进行修改。如果服务器性能本来就很高,应该在五秒内就可以执行完,那么可以把这个值设置为5秒,相反如果性能比较低,平时执行的查询都要一秒两秒,那么就可以将这个值调高一点。[root@localhost /]# mysqld --help --verbose | grep log-slow--slow-lau原创 2017-10-26 15:30:30 · 1714 阅读 · 2 评论 -
Shell $[]:对整数进行数学运算
需要注意的是,不能单独使用 $[],必须能够接收 $[] 的计算结果。和 (())、let 命令类似,$[] 也只能进行整数运算。进行计算,并取得计算结果。中包含了变量,那么你可以加。原创 2022-10-20 13:17:53 · 1123 阅读 · 0 评论 -
Shell命令替换:将命令的输出结果赋值给变量
Shell 命令替换是指将命令的输出结果赋值给某个变量。比如,在某个目录中输入 ls 命令可查看当前目录中所有的文件,但如何将输出内容存入某个变量中呢?这就需要使用命令替换了,这也是 Shell 编程中使用非常频繁的功能。Shell 中有两种方式可以完成命令替换,一种是反引号` `,一种是$(),使用方法如下:variable=`commands`variable=$(commands)其中,variable 是变量名,commands 是要执行的命令。commands 可以只有一个命令,也转载 2021-04-26 09:44:53 · 2585 阅读 · 0 评论 -
Shell 字符串使用与操作
Oracle 表空间详解表空间概述Oracle的表空间属于Oracle中的存储结构,是一种用于存储数据库对象(如:数据文件)的逻辑空间,是Oracle中信息存储的最大逻辑单元,其下还包含有段、区、数据块等逻辑数据类型。表空间是在数据库中开辟的一个空间,用于存放数据库的对象,一个数据库可以由多个表空间组成。可以通过表空间来实现对Oracle的调优。(Ora原创 2017-09-27 15:21:50 · 523 阅读 · 0 评论 -
Shell read命令:读取从键盘输入的数据
read 是Shell 内置命令,用来从标准输入中读取数据并赋值给变量。如果没有进行重定向,默认就是从键盘读取用户输入的数据;如果进行了重定向,那么可以从文件中读取数据。后续我们会在《Linux Shell重定向》一节中深入讲解重定向的概念,不了解的读者可以不用理会,暂时就认为:read 命令就是从键盘读取数据。read 命令的用法为:read 命令的用法为:read [-options] [variables]options表示选项,如下表所示;variables表示用来存储数据的..转载 2021-05-17 08:20:35 · 1931 阅读 · 0 评论 -
Shell test 检查条件是否成立
Shell 脚本可以使用条件逻辑,使脚本可以根据参数、Shell 变量或是其他条件的值采取不同的行动。test 命令允许你做各种测试并在测试成功或失败时返回它的退出状态码(为0表示为真,为1表示为假)。使用这个状态码,可以让 Bash 对测试的结果做出反应。test 命令可以用于:文件属性测试; 字符串测试; 算术测试。作者:赵者也链接:https://www.jianshu.com/p/cd67a50d1ece来源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出原创 2021-06-07 17:22:54 · 393 阅读 · 0 评论 -
Shell if的使用详解_&&与||的使用详解
一 IF使用详解1 格式1.1 单分支语句结构if [ 条件表达式 ]; then 指令 fi1.2 双分支语句结构if [ 条件表达式 ]; then 指令一 else 指令二 fi1.3 多分支语句结构if [ -f file ]; then echo "yes yes yes"elif [ -z file ]; then echo "yes yes"else echo "nonono"fi上面直接给出了多分转载 2021-05-26 16:55:33 · 2594 阅读 · 0 评论 -
Linux if else条件语句详解
tnsping是Oracle提供的诊断连接动作的重要方法。我们在客户端上使用tnsping,可以快速的定位连接过程中错误,进行问题判断。从功能上看,tnsping能够帮助我们解决几个方面问题:本地Oracle Net配置文件解析:sqlnet.ora、tnsname.ora是我们客户端最重要的两个配置文件。由于历史的原因,Oracle基础配置文件很多是文本格式,Oracle Net三个核心配置文件...原创 2018-07-12 16:00:32 · 3570 阅读 · 0 评论 -
Shell [[]]详解:检测某个条件是否成立
有了 [[ ]],你还有什么理由使用 test 或者 [ ],[[ ]] 完全可以替代之,而且更加方便,更加强大。但是 [[ ]] 对数字的比较仍然不友好,所以我建议,以后大家使用 if 判断条件时,用 (()) 来处理整型数字,用 [[ ]] 来处理字符串或者文件。原创 2022-10-23 15:13:39 · 1064 阅读 · 0 评论 -
Shell for i in 循环详解
1.引子系统进程是通过虚拟地址访问内存,但是CPU必须把它转换程物理内存地址才能真正访问内存。为了提高这个转换效率,CPU会缓存最近的虚拟内存地址和物理内存地址的映射关系,并保存在一个由CPU维护的映射表中。为了尽量提高内存的访问速度,需要在映射表中保存尽量多的映射关系。而在Linux中,内存都是以页的形式划分的,默认情况下每页是4K,这就意味着如果物理内存很大,则映射表的条目将原创 2018-04-25 10:20:16 · 8362 阅读 · 1 评论 -
shell 循环读取文件中每一行的方法详解
使用while循环和for循环都是读取文件中每一行的常见方法。while循环适用于处理大型文件,而for循环适用于处理小型文件。在使用这两种方法时,需要注意文件中每一行的格式,以便正确读取和处理每一行的内容。原创 2023-09-11 16:14:25 · 9185 阅读 · 0 评论 -
Shell while 循环详解
while 循环是 Shell 脚本中最简单的一种循环,当条件满足时,while 重复地执行一组语句,当条件不满足时,就退出 while 循环。表示判断条件,statements表示要执行的语句(可以只有一条,也可以有多条),do和done都是 Shell 中的关键字。每一次执行到 done 的时候都会重新判断 condition 是否成立,如果成立,就进入下一次循环,继续执行 do 和 done 之间的语句,如果不成立,就结束整个 while 循环,转载 2022-11-23 18:57:10 · 5803 阅读 · 0 评论 -
Shell while语句
因为为了性能考虑,一般通用查询日志general log不会开启。slow log可以定位一些有性能问题的sql,而general log会记录所有的SQL。mysql5.0版本,如果要开启slow log、general log,需要重启,从MySQL5.1.6版开始,general query log和slow query log开始支持写到文件或者数据库表两种方式,并且日志的开启原创 2017-10-24 09:31:49 · 3016 阅读 · 0 评论 -
Shell case in简要说明与使用
和其它编程语言类似,Shell 也支持两种分支结构(选择结构),分别是 if else 语句和 case in 语句。当分支较多,并且判断条件比较简单时,使用 case in 语句就比较方便了[root@localhost ~]# cat case.sh #!/bin/bashread numcase $num inaix) echo "aix" ;;unix) echo "unix" ;;linux) echo "linux" ;;hp) echo "hp" ;;原创 2020-05-08 23:30:16 · 4166 阅读 · 1 评论 -
Shell 函数详解(函数定义、函数调用、参数变量)
如果你嫌麻烦,函数定义时也可以不写 function 关键字:name() {statementsstatements我建议使用标准的写法,这样能够做到“见名知意”,一看就懂。原创 2023-09-11 15:03:58 · 2790 阅读 · 0 评论 -
Shell grep(1)
SHELL编程四剑客之grep工具全面搜索正则表达式(Global search regular expression(RE) ,GREP)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。Unix/Linux的grep家族包括grep、egrep和fgrep,其中egrep和fgrep的命令跟grep有细微的区别,egrep是grep的扩展,支持更多的re元字符, fgrep是fixed grep或fast grep简写,它们把所有的字母都看作单词,正则表达式中的元字符表原创 2020-06-04 17:31:24 · 203 阅读 · 1 评论 -
Shell grep(2)
Linux系统中的grep命令是一种功能强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。语法参数Grep常用参数详解如下:-a 以文本文件方式搜索;-c 计算找到的符合行的次数;-i 忽略大小写;-n 顺便输出行号;-v 反向选择,即显示不包含匹配文本的所有行;-h 查询多文件时不显示文件名;-l 查询多文件时只输出...原创 2020-06-24 09:22:19 · 1336 阅读 · 0 评论 -
Shell 四剑客之 sed s替换内容以及n p
[root@www ~]# cat sed.txt 123qfqrootrootrootqwfokThis is a test of the trial script.This is the second test of the trial script.[root@www ~]# sed -e "1s/123/456/g" -e "3s/root/linux/g" sed.txt --使用-e和下面使用;号等价456qfqlinuxrootrootqwfokThis.原创 2020-05-14 15:50:13 · 3271 阅读 · 0 评论 -
Keepalived Shell脚本来简单实现keepalived功能
(1)高可用架构主要是指两台(多台)服务器、网站、数据库之间的架构,当其中一台宕机或者异常,能够快速启用(切换)另外一台,保障门户网站、业务系统、数据库持续提供服务,防止业务单点故障。(2)高可用不代表网站、数据库、业务系统不宕机,而表示网站、数据库、业务系统宕机时间比较短,能够快速解决或者恢复网站等。衡量网站的高可用通常使用9表示,例如网站可用率是99%、99.9%、99.999%。基于SHELL编程脚本一键实现Nginx高可用,主要编程思路如下:两台Nginx WEB服务器,引入VIP地址1原创 2020-07-29 17:57:58 · 962 阅读 · 0 评论 -
Shell 四剑客之 sed d 删除
sed d 替换脚本命令,此命令的基本格式为:[address]d如果需要删除文本中的特定行,可以用 d 脚本命令,它会删除指定行中的所有内容。但使用该命令时要特别小心,如果你忘记指定具体行的话,文件中的所有内容都会被删除,举个例子:[root@localhost ~]# cat data1.txtThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick原创 2020-05-16 22:24:15 · 2583 阅读 · 1 评论 -
Shell 四剑客之 sed -a -i 添加新行
[root@www ~]# cat sed.sh 192.168.179.1.15192.168.179.1.16192.168.179.1.17[root@www ~]# sed '/1.17/amytest' sed.sh --使用a然后再匹配到的1.17下面插入一行test192.168.179.1.15192.168.179.1.16192.168.179.1.17mytest[root@www ~]# sed '/1.17/imytest' sed.sh --在其前.原创 2020-05-17 14:42:38 · 3092 阅读 · 0 评论 -
Shell 四剑客sed 之生产环境上,最常用的一套“Sed“技巧
sed命令应用广泛,使用简单,是快速文本处理的利器。它其实没多少技巧,背诵、使用是最合适的学习渠道,属于硬技能。但它又很复杂,因为高级功能太多。本篇不去关注sed的高级功能,仅对常用的一些操作,进行说明。随着使用,你会发现它和vim的一些理念是想通的,正则表达式的语法也基本上一样,并没有多少学习成本。从个人视野和工作效率上来看,sed命令都是程序员必须掌握的一个重要工具。一个简单的入门如图,一个简单的sed命令包含三个主要部分:参数、范围、操作。要操作的文件,可以直接挂在命令行的最后。.转载 2020-07-29 11:38:29 · 281 阅读 · 0 评论 -
shell AWK 举个小例子
这个世界最难的不是做什么,而是找什么?李清照的“寻寻觅觅”,最后把自己寻觅没了。仿古人,俺也寻寻觅觅了一阵子,结果跟清照大姐一样,迷失在寻寻觅觅中,到现在都不知道我在寻觅什么?——个人认为找什么不是体力活,而是技术活。awk吸引我的,也就是它教会了我怎么找我想要的东西?准备干粮[root@localhost ~]# cat net.txt Proto Recv-Q Send-Q Local-Address Foreign-Address Statet.原创 2020-06-03 14:54:22 · 336 阅读 · 1 评论 -
Shell 了解cut命令看这篇文章足矣
cut命令在Linux和Unix中的作用是从文件中的每一行中截取出一些部分,并输出到标准输出中。我们可以使用cut命令从一行字符串中于以字节,字符,字段(分隔符)等单位截取一部分内容出来。在本文中,我们通过一些例子来了解cut命令的使用,这些使用方法在我们的日常工作中也是非常常用的。Cut 命令和语法cut命令的基本语法如下:$ cut OPTION... [FILE]...我们先来了解一下cut的一些选项,cut命令必须要指定选项才能执行。-f: 提取指...原创 2020-07-22 21:04:34 · 523 阅读 · 0 评论 -
Linux find找你想要的
使用增量备份的是数据文件,控制文件和参数文件。没有备份的文件是口令文件,重做日志文件和归档日志文件。口令文件是不需要备份的,因为口令文件是可以通过orpw这个命令来创建一个新的口令文件,rman不可以对redo log文件进行备份,不过rman可以对归档日志文件做备份。(口令文件是没有必要备份的,重做日志文件是无法备份的)在备份archivelog的时候,delete input可原创 2017-12-12 08:48:14 · 1570 阅读 · 0 评论 -
Shell 脚本实现ansible免密认证 expect批量导入ssh公钥
作为一个运维工程师,不是每个人工作的环境都想阿里、腾讯那样,动不动就上亿的PV量,上万台服务器。我们通常还是工作在,几十台上百台服务器这样的环境,而使用ansible或者puppet这样的自动化运维工具则显得大材小用,并且最终的效果可能还不如几个小工具达到的效果好。像ssh免密登录在配合pssh这样的推送工具,在配合自动化配置脚本,可以说是即方便也使用。本文章将详细带大家以shell脚本的形式实现ssh免密登录进行百台机器的配置和管理。ssh服务随着明文通信协议telnet渐渐退出历史舞台...原创 2020-07-25 17:21:36 · 837 阅读 · 0 评论 -
MySQL 主从监控脚本
[root@localhost ~]# cat check_mysql_slave.sh #!/bin/bash#chek mysql master slave status scriptmysql_port=$(netstat -na | grep -w "LISTEN" | grep "3306" | awk '{print $4}' | awk -F[.:] '{print $5}')mysql_ip=$(ip a | grep "ens33" | grep "inet" | awk '{.原创 2020-06-03 20:20:04 · 232 阅读 · 0 评论 -
Shell tomcat多实例部署
#!/bin/bash#install java jdk cd /usr/srcmkdir -p /usr/javatar xf jdk1.8.0_131.tar.gz -C /usr/javals -l /usr/java/jdk1.8.0_131cat >>/etc/profile<<EOFexport JAVA_HOM=/usr/java/jdk1.8.0_131export CLASSPATH=\$CLASSPATH:\$JAVA_HOME/lib:\.原创 2020-05-31 20:20:54 · 246 阅读 · 0 评论 -
Shell 细说sort排序
sort是在Linux里非常常用的一个命令,管排序sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。使用方法:sort [选项]... [文件]...长选项必须用的參数在使用短选项时也是必须的。顺序选项:-b, --ignore-leading-blanks ignore leading blanks-d, --dictionary-order consider only blanks and alphanu原创 2020-05-27 17:09:35 · 1364 阅读 · 0 评论 -
Linux让四剑客更加强大的 cut命令、sort命令、uniq命令
正如cut的中文意思,cut的工作就是“剪”,具体来说是在文件负责剪切数据用的,它以每一行为一个处理对象,与sed的机制是一样的。sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。注意,cut命令如果使用了-b选项,那么执行此命令时,cut会先把-b后面所有的定位进行从小到大排序,然后再提取。“字节”定位中,提取第1到第5和第10个字节,-b支持形如1-5的写法,而且多个定位之间用逗号隔开。选项指定:为分割符,每个分隔符作为一个域,原创 2020-05-26 14:41:16 · 474 阅读 · 1 评论 -
Shell 四剑客AWK第一集
概述AWK 是一种解释执行的编程语言。它非常的强大,被设计用来专门处理文本数据。AWK 的名称是由它们设计者的名字缩写而来 —— Afred Aho, Peter Weinberger 与 Brian Kernighan。部分 AWK 的典型应用场景AWK 可以做非常多的工作。 下面只是其中的一小部分:文本处理 生成格式化的文本报告 进行算术运算 字符串操作,以及其它更多安装默认Linux系统中是安装 AWK 的。使用 which 命令可以判断你当前的系统上是否安装了 AW原创 2020-05-22 14:38:00 · 311 阅读 · 0 评论 -
shell 在shell脚本中正确的编写Mysql
使用 mysql -e 参数可以执行各种 sql 的各种操作语句。不用在mysql的提示符下运行mysql,即可以在shell中操作mysql的方法。格式:mysql -hhostname -Pport -uusername -ppassword -e “”#!/bin/bash HOSTNAME="192.168.111.84"#数据库信息PORT="3306"USERNAME="root"P...原创 2020-05-21 17:10:30 · 554 阅读 · 0 评论