
shell
新是一切的根源
人生天地间 忽如远行客
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Shell中exit 和 return 的区别
1.exit 命令exit 命令是 Shell 内建命令,用于退出当前 Shell 进程。使用格式如下:exit [N]可以指定退出状态 N,N 的取值范围是 0-255,一般情况下,0 表示正常退出,非零表示异常退出。如果状态码是 0-255 之外的数值,则会被强制转换为 uint8_t 类型的数值,比如 -1 会被转换为 255,256 会发生类型宽度截断,被转换为 0。状态码 N 可...原创 2020-03-01 20:31:49 · 2147 阅读 · 0 评论 -
shell阶段性总结(变量+流程控制语句+循环+正则表达式)
1.变量定义1) 变量名=变量值 echo $变量名 echo ${变量名}2)read -p "提示用户信息:" 变量名3)declare -i/-x/-r 变量名=变量值2. 流程控制语句1)if [ 条件判断 ];then command fi2)if [ 条件判断 ];then command else command fi 3) i...原创 2020-02-17 13:24:48 · 277 阅读 · 0 评论 -
shell之局域网内脚本检查主机网络通讯(附并发改写)
需求:写一个脚本,局域网内,把能ping通的IP和不能ping通的IP分类,并保存到两个文本文件内,以172.25.254.1~172.25.254.10为例。#!/bin/bash#定义变量ip=172.25.254#循环去ping主机的ipfor ((i=1;i<=10;i++))do ping -c1 $ip.$i &>/dev/null ...原创 2020-02-17 12:14:55 · 984 阅读 · 0 评论 -
shell之批量创建用户
需求:批量加5个新用户,以u1到u5命名,并统一加一个新组,组名为class,统一改密码为123.#!/bin/bash#判断class组是否存在grep -w ^class /etc/group &> /dev/null[ $? -ne 0 ] && groupadd class#循环创建用户for ((i=1;i<=5;i++))do ...原创 2020-02-17 11:54:45 · 1107 阅读 · 0 评论 -
shell判断所输整数是否为质数
#!/bin/bashread -p "请输入一个正整数:" number[ $number -eq 1 ] && echo "$number 不是质数" && exit[ $number -eq 2 ] && echo "$number 是质数" && exitfor i in `seq 2 $[$number-1]`...原创 2020-02-17 11:28:54 · 2669 阅读 · 0 评论 -
shell之服务的监控
1.端口监控**netstat ss lsof** [root@localhost ~]# netstat -antlupe |grep 3306tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 27 115506 11097/mysqld ...原创 2020-02-16 16:55:30 · 497 阅读 · 0 评论 -
shell中[ ] 和[[ ]]的区别
1. 空字符串判断[root@localhost ~]# a=[root@localhost ~]# echo $a[root@localhost ~]# [ $a = hello ];echo $?-bash: [: =: unary operator expected2[root@localhost ~]# [ "$a" = "hello" ];echo $?1[root@l...原创 2020-02-16 16:05:22 · 1419 阅读 · 0 评论 -
shell之活学活用
1. 查看系统运行级别[root@localhost ~]# runlevel N 5[root@localhost ~]# runlevel |cut -c35[root@localhost ~]# runlevel |cut -d' ' -f25[root@localhost ~]# 2. 查看系统ip等信息[root@localhost ~]# ifconfig eth...原创 2020-02-16 15:38:15 · 203 阅读 · 0 评论 -
shell脚本监控web站点目录下的文件安全性
1. 监控wed站点目录文件安全:(1)大小可能会变化(2)修改时间会变化(3)文件内容会变化,利用md5sum指纹校验(4)增加或删除文件,对比每次监测前后的文件数量在企业网站发布代码之后,即对网站所以数据建立指纹库和文件库,没有基础的指纹库,无法进行入侵监测2. 建立测试数据[root@localhost web_detect]# mkdir /var/html/www -p[...原创 2020-02-16 13:35:04 · 327 阅读 · 0 评论 -
shell编程中的md5sum以及随机数的创建
1. md5sum是什么MD5 全称是报文摘要算法(Message-Digest Algorithm 5),此算法对任意长度的信息逐位进行计算,产生一个二进制长度为128位(十六进制长度就是32位)的“指纹”(或称“报文摘要”),不同的文件产生相同的报文摘要的可能性是非常非常之小的。md5sum命令采用MD5报文摘要算法(128位)计算和检查文件的校验和。一般来说,安装了Linux后,就会有m...原创 2020-02-16 12:13:53 · 2435 阅读 · 0 评论 -
shell脚本--awk的用法
1. awk的用法语法格式:awk [选项] ‘指令’ 操作文件常用选项:-F 指定分隔符,分隔符用""引起来-v:var=value在awk程序开始之前指定一个值valu给变量var,这些变量值用于awk程序的BEGIN快-f:后面跟一个保存了awk程序的文件,代替在命令行指定awk程序实例1:在命令行直接输入awk指令awk ‘{print}’ 1.txt #逐行读取...原创 2020-02-15 20:57:17 · 569 阅读 · 1 评论 -
shell文本处理三剑客之sed
1. sed的用法sed在处理文本时是逐行读取文件内容,读到匹配的行就根据指令做操作,不匹配就跳过。sed是Linux下一款功能强大的非交互流式文本编辑器,可以对文本文件进行增、删、改、查等操作,支持按行、按字段、按正则匹配文本内容,灵活方便,特别适合于大文件的编辑。本文主要介绍sed的一些基本用法,并通过shell脚本演示sed的使用实例。1.sed的使用方法调用sed 命令的语法有两种...原创 2020-02-15 20:41:47 · 199 阅读 · 0 评论 -
shell基本正则表达式及grep命令
1. 基本正则表达式实际上,正则表达式完成了数据过滤,将不满足的正则表达式定义的数据拒绝掉,剩下的与正则表达式匹配的数据元字符:shell赋予了它们超越字面意思的意义掌握正则表达式基本元素主要是对正则表达式中元字符意义的掌握*:匹配前面一个普通字符0次或多次重复 hel*o:helo hello hellllo都可以匹配.:匹配任意一个字符 ...73.:值得注意的是"."符号可以匹...原创 2020-02-14 13:21:33 · 326 阅读 · 0 评论 -
shell 脚本中的常用命令(diff、patch、cut、sort、uniq、seq、join、tr)
一,diff和patch命令diff通常比较文件的内容,patch常用来打补丁比较内容[root@server1 mnt]# vim file1[root@server1 mnt]# vim file2[root@server1 mnt]# cat file1123haha[root@server1 mnt]# cat file2123nihao# 第一个文件的第2行 修改...原创 2020-02-14 12:55:02 · 893 阅读 · 0 评论 -
shell环境变量
1. shell环境变量shell环境变量不仅在Shell编程方面,而且在Linux系统管理方面,都起着非常重要的作用环境变量的特殊之处仅在于它的值适用于所有由登陆进程所生产的子进程如果要列出系统中所有的环境变量,可使用env命令2. 自定义环境变量export 变量名=value变量名=value ; export 变量名Declare -x 变量名=value清除环境变量uns...原创 2020-02-14 12:02:23 · 799 阅读 · 0 评论 -
shell编程之数组
1.数组定义方法Shell数组:Shell数组定义以及获取数组元素和其他编程语言一样,Shell 也支持数组。数组(Array)是若干数据的集合,其中的每一份数据都称为元素(Element)。Shell 并且没有限制数组的大小,理论上可以存放无限量的数据。和 C++、Java、C# 等类似,Shell 数组元素的下标也是从 0 开始计数。获取数组中的元素要使用下标[ ],下标可以是一个整数...原创 2020-02-14 11:42:12 · 464 阅读 · 0 评论 -
shell之select语句
1. select in 语句select in 循环用来增强交互性,它可以显示出带编号的菜单,用户输入不同的编号就可以选择不同的菜单,并执行不同的功能select in 是 Shell 独有的一种循环,非常适合终端(Terminal)这样的交互场景,C语言、C++、Java、Python、C# 等其它编程语言中是没有的Shell select in 循环的用法如下:select var...原创 2020-02-14 10:48:19 · 1883 阅读 · 0 评论 -
shell中的case in 语句
1. case in 语句和其它编程语言类似,Shell 也支持两种分支结构(选择结构),分别是 if else 语句和 case in 语句。在《Shell if else》一节中我们讲解了 if else 语句的用法,这节我们就来讲解 case in 语句。当分支较多,并且判断条件比较简单时,使用 case in 语句就比较方便了[root@server1 mnt]# cat test....原创 2020-02-13 13:27:12 · 449 阅读 · 0 评论 -
shell中的for 循环
1. for 循环基本概念除了 while 循环和 until 循环,Shell 脚本还提供了 for 循环,它更加灵活易用,更加简洁明了。Shell for 循环有两种使用形式,下面我们逐一讲解C语言风格的 for 循环C语言风格的 for 循环的用法如下:for((exp1; exp2; exp3))do statementsdone几点说明:exp1、exp2、ex...原创 2020-02-13 13:11:09 · 426 阅读 · 0 评论 -
shell中的until循环
1. until循环unti 循环和 while 循环恰好相反,当判断条件不成立时才进行循环,一旦判断条件成立,就终止循环until 的使用场景很少,一般使用 while 即可Shell until 循环的用法如下:until conditiondo statementsdonecondition表示判断条件,statements表示要执行的语句(可以只有一条,也可以有多条...原创 2020-02-13 12:38:01 · 493 阅读 · 0 评论 -
shell中的while 循环
1. while 循环while 循环是 Shell 脚本中最简单的一种循环,当条件满足时,while 重复地执行一组语句,当条件不满足时,就退出 while 循环Shell while 循环的用法如下:while conditiondo statementsdonecondition表示判断条件,statements表示要执行的语句(可以只有一条,也可以有多条),do和...原创 2020-02-13 12:27:48 · 4067 阅读 · 0 评论 -
shell中的echo命令
1. echo命令的定义和语法echo 是一个 Shell 内建命令,用来在终端输出字符串[root@server1 mnt]# sh test.sh students,你好!http://www.westos.orgShell教程的网址是:http://www.westos.org${name}的网址是:${url}[root@server1 mnt]# cat test.sh ...原创 2020-02-13 12:18:46 · 2774 阅读 · 0 评论 -
搞定shell中的[[ ]]
1. [[ ]]的定义及语法[[ ]] 是 Shell 内置关键字,它和 test 命令类似,也用来检测某个条件是否成立test 能做到的,[[ ]] 也能做到,而且 [[ ]] 做的更好;test 做不到的,[[ ]] 还能做到。可以认为 [[ ]] 是 test 的升级版,对细节进行了优化,并且扩展了一些功能[[ ]] 的用法为:[[ expression ]]当 [[ ]] 判...原创 2020-02-13 12:12:37 · 536 阅读 · 0 评论 -
shell之test命令
1.test命令的用法test 是 Shell 内置命令,用来检测某个条件是否成立。test 通常和 if 语句一起使用,并且大部分 if 语句都依赖 test。test 命令有很多选项,可以进行数值、字符串和文件三个方面的检测。Shell test 命令的用法为:test expression当 test 判断 expression 成立时,退出状态为 0,否则为非 0 值test...原创 2020-02-12 16:35:35 · 545 阅读 · 0 评论 -
shell之if语句
1. if语句最简单的用法就是只使用 if 语句,它的语法格式为:if conditionthen statement(s)fi# 请注意 condition 后边的分号;,当 if 和 then 位于同一行的时候,这个分号是必须的,否则会有语法错误实例1下面的例子使用 if 语句来比较两个数字的大小:[root@server1 mnt]# sh test.sh 1...原创 2020-02-12 16:02:12 · 225 阅读 · 0 评论 -
shell之alias命令
1.Shell aliasShell alias:给命令创建别名alisa 用来给命令创建一个别名。若直接输入该命令且不带任何参数,则列出当前 Shell 进程中使用了哪些别名。现在你应该能理解类似ll这样的命令为什么与ls -l的效果是一样的吧下面让我们来看一下有哪些命令被默认创建了别名:[root@foundation0 ~]# aliasalias cp='cp -i'alias...原创 2020-02-12 15:51:19 · 5828 阅读 · 0 评论 -
shell函数
1.shell函数定义Shell 函数的本质是一段可以重复使用的脚本代码,这段代码被提前编写好了,放在了指定的位置,使用时直接调取即可Shell 中的函数和C++、Java、Python、C# 等其它编程语言中的函数类似,只是在语法细节有所差别Shell 函数定义的语法格式如下:function name() { statements [return value]}对...原创 2020-02-12 14:07:44 · 259 阅读 · 0 评论 -
shell字符串
字符串(String)就是一系列字符的组合。字符串是 Shell 编程中最常用的数据类型之一(除了数字和字符串,也没有其他类型了)1. 字符串三种形式字符串举例: str1=c.biancheng.net str2="shell script" str3='C语言中文网'下面我们说一下三种形式的区别:由单引号’ '包围的字符串:任何字符都会原样输出,在其中使用变量是无效...原创 2020-02-03 12:02:28 · 483 阅读 · 0 评论 -
shell特殊参数
1. Shell 特殊变量及其含义脚本功能是打印脚本传递的第一个参数的值[root@server1 mnt]# sh p.sh dd # 传入一个dd字符串参数,赋值给脚本中的$1dd[root@server1 mnt]# cat p.sh echo $1[root@server1 mnt]# sh p.sh dd pp # 传入两个字符串参数,但脚本不会接收第二个从那书 参数默认以...原创 2020-02-03 11:38:20 · 383 阅读 · 0 评论 -
shell位置参数
我们先来说一下 Shell 位置参数是怎么回事。运行 Shell 脚本文件时我们可以给它传递一些参数,这些参数在脚本文件内部可以使用$n的形式来接收,例如,$1 表示第一个参数,$2 表示第二个参数,依次类推。同样,在调用函数时也可以传递参数。Shell 函数参数的传递和其它编程语言不同,没有所谓的形参和实参,在定义函数时也不用指明参数的名字和数目。换句话说,定义 Shell 函数时不能带...原创 2020-02-03 11:05:48 · 341 阅读 · 0 评论 -
shell数学运算
如果要执行算术运算(数学计算),就离不开各种运算符号,和其他编程语言类似,Shell 也有很多算术运算符,下面就给大家介绍一下常见的 Shell 算术运算符,如下表所示。1. Shell 算术运算符Shell 算术运算符一览表 算术运算符 说明/含义+、- 加法(或正号)、减法(或负号)*、/、% 乘法、除法、取余(取模)** 幂运算++、-- 自增和自减,可以放在变量的前面...原创 2020-02-02 16:30:36 · 1078 阅读 · 0 评论 -
shell命令的替换
Shell 命令替换是指将命令的输出结果赋值给某个变量。比如,在某个目录中输入 ls 命令可查看当前目录中所有的文件,但如何将输出内容存入某个变量中呢?这就需要使用命令替换了,这也是 Shell 编程中使用非常频繁的功能Shell 中有两种方式可以完成命令替换,一种是反引号,一种是$(),使用方法如下:variable=`commands`variable=$(commands)其中,va...原创 2020-02-02 15:54:08 · 961 阅读 · 0 评论 -
shell之定义变量
变量是任何一种编程语言都必不可少的组成部分,变量用来存放各种数据。脚本语言在定义变量时通常不需要指明类型,直接赋值就可以,Shell 变量也遵循这个规则。在 Bash shell 中,每一个变量的值都是字符串,无论你给变量赋值时有没有使用引号,值都会以字符串的形式存储。这意味着,Bash shell 在默认情况下不会区分变量类型,即使你将整数和小数赋值给变量,它们也会被视为字符串,这一点和大部...原创 2020-02-02 15:43:31 · 10707 阅读 · 0 评论 -
shell脚本的执行
运行 Shell 脚本有两种方法,一种在新进程中运行,一种是在当前 Shell 进程中运行1. 在新进程中运行 Shell 脚本在新进程中运行 Shell 脚本有多种方法。(1)将 Shell 脚本作为程序运行Shell 脚本也是一种解释执行的程序,可以在终端直接调用(需要使用 chmod 命令给 Shell 脚本加上执行权限)通过这种方式运行脚本,脚本文件第一行的#!/bin/bash...原创 2020-02-02 14:47:22 · 271 阅读 · 0 评论 -
shell是什么以及第一个shell脚本
1. shell是什么(1)现在我们使用的操作系统(Windows、Mac OS、Android、iOS 等)都是带图形界面的,简单直观,容易上手,对专业用户(程序员、网管等)和普通用户(家庭主妇、老年人等)都非常适用;计算机的普及离不开图形界面。然而在计算机的早期并没有图形界面,我们只能通过一个一个地命令来控制计算机,这些命令有成百上千之多,且不说记住这些命令非常困难,每天面对没有任何色彩的...原创 2020-02-02 14:19:09 · 405 阅读 · 0 评论