随笔分类 -  基础技能 - Shell基础

Shell基础相关知识总结。
摘要:1、特殊流程控制语句介绍 Shell程序或者说其他的程序,都是顺序执行的,也就是第一行执行完再执行第二行,以此类推,依次执行。 而流程控制语句,如: if条件判断语句,你只有条件成立了,才能够执行,否则就不执行其中的程序,这就会跳过一些执行命令。 for循环也是流程控制类语句,是重复执行指定次数的相 阅读全文
posted @ 2022-06-23 11:01 繁华似锦Fighting 阅读(518) 评论(0) 推荐(0) 编辑
摘要:1、while循环 对while循环来讲,只要条件判断式成立,循环就会一直继续,直到条件判断式不成立,循环才会停止。和for循环的第二种格式for((初始值;循环控制条件;变量变化))类似。 我们写个1加到100的例子,这种例子虽然对系统管理帮助不大,但是对理解循环非常有帮助: while循环语法格 阅读全文
posted @ 2022-06-22 13:27 繁华似锦Fighting 阅读(182) 评论(0) 推荐(1) 编辑
摘要:1、应用:判断合法IP地址脚本 准备:ip.txt文件中存放着一些IP地址,我们用脚本来判断其中的合法IP地址。 [root@localhost sh]# cat ip.txt 192.168.1.200 202.106.0.20 300.36.190.5 222222222222 192.168. 阅读全文
posted @ 2022-06-22 13:12 繁华似锦Fighting 阅读(77) 评论(0) 推荐(0) 编辑
摘要:1、for循环介绍 for循环是固定循环,也就是在循环时已经知道需要进行几次的循环,有时也把for循环称为计数循环。 在Shell中for循环的语法有如下两种: # 语法1: for 变量 in 值1 值2 值3 … do 程序 done 这种语法中for循环的次数,取决于in后面值的个数(空格分隔 阅读全文
posted @ 2022-06-21 11:44 繁华似锦Fighting 阅读(969) 评论(0) 推荐(0) 编辑
摘要:1、case条件语句介绍 case语句和if…elif…else语句一样都是多分支条件语句,不过和if多分支条件语句不同的是,case语句只能判断一种条件关系,而if语句可以判断多种条件关系。 case语句语法如下: case $变量名 in "值1") 如果变量的值等于值1,则执行程序1 ;; " 阅读全文
posted @ 2022-06-21 11:00 繁华似锦Fighting 阅读(367) 评论(0) 推荐(1) 编辑
摘要:1、多分支if条件语句格式 if [ 条件判断式1 ] then 当条件判断式1成立时,执行程序1 elif [ 条件判断式2 ] then 当条件判断式2成立时,执行程序2 …省略更多条件… else 当所有条件都不成立时,最后执行此程序 fi 2、练习 我们写一个例子,用if多分支条件语句来判断 阅读全文
posted @ 2022-06-20 11:00 繁华似锦Fighting 阅读(517) 评论(0) 推荐(2) 编辑
摘要:什么是流程控制? 普通理解:Shell编写的程序是顺序执行的,也就是说第一命令先执行,然后接着执行第二条命令,然后再下一条,以此类推,而流程控制就是改变上面这种顺序执行的方式。 官方理解:流程控制语句用于控制程序的流程, 以实现程序的各种结构方式,即用来实现对程序流程的选择、循环、转向和返回等进行控 阅读全文
posted @ 2022-06-17 11:01 繁华似锦Fighting 阅读(632) 评论(1) 推荐(1) 编辑
摘要:1、test测试命令 (1)test命令介绍 在Shell中的test测试命令,用于测试某种条件或某几种条件是否真实存在。 在Shell中的test测试命令,是判断语句和循环语句中条件测试的工具。test命令经常用于对判断语句进行测试,用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测 阅读全文
posted @ 2022-06-15 11:01 繁华似锦Fighting 阅读(1409) 评论(0) 推荐(1) 编辑
摘要:1、排序命令sort (1)sort命令介绍 sort命令可针对文本文件的内容,以行为单位来排序。 命令格式如下: [root@localhost ~]# sort [选项] 文件名 选项: -f:忽略大小写。 -b:忽略每行前面的空白部分。 -n:以数值型进行排序,sort命令默认使用字符串型排序 阅读全文
posted @ 2022-06-14 11:01 繁华似锦Fighting 阅读(601) 评论(0) 推荐(1) 编辑
摘要:1、sed命令说明 sed主要是用来将数据进行选取、替换、删除、新增的命令,grep,awk,sed称为是文本操作三剑客。 我们看看sed命令的语法格式: [root@localhost ~]# sed [选项] '[动作]' 文件名 选项: -n:一般sed命令会把所有数据都输出到屏幕,如果加入此 阅读全文
posted @ 2022-06-13 11:10 繁华似锦Fighting 阅读(706) 评论(0) 推荐(1) 编辑
摘要:1、AWK内置变量 AWK内置变量如下表: awk内置变量 作用 $0 代表目前AWK所读入的整行数据。我们已知AWK是一行一行读入数据的,$0就代表当前读入行的整行数据。 $n 代表目前读入行的第n个字段。 NF 当前行拥有的字段(列)总数。 NR 当前AWK所处理的行,是总数据的第几行。 FS 阅读全文
posted @ 2022-06-10 11:00 繁华似锦Fighting 阅读(552) 评论(1) 推荐(1) 编辑
摘要:1、AWK的条件表达 如下图所示: 2、条件表达式说明 以下练习使用如下文本: ID Name Python Linux MySQL Java 1 Tangs 88 87 86 85.55 2 Sunwk 99 98 97 96,66 3 Zhubj 77 76 75 74.44 4 Shahs 6 阅读全文
posted @ 2022-06-09 11:00 繁华似锦Fighting 阅读(648) 评论(0) 推荐(0) 编辑
摘要:1、AWK介绍 (1)AWK概述 AWK是一种处理文本文件的语言,是一个强大的文本分析工具。 AWK可以看成一门独立的语言,它拥有语言的基本特征,换句话说AWK可以写出极其繁琐和复杂的程序,AWK的语法比Shell的语法还难以接收。但绝大多数情况下,我们并不需要用AWK写过于复杂的东西,建议能用Sh 阅读全文
posted @ 2022-06-08 11:03 繁华似锦Fighting 阅读(567) 评论(0) 推荐(1) 编辑
摘要:1、cut命令说明 cut命令的作用是对文本中的内容进行截取。 一个文件里边有很多数据,grep命令是用来提取文本内容包含匹配规则的行,而cut命令是用来截取文本内容中的列数据。 [root@localhost ~]# cut [选项] 文件名 选项: -f 列号:提取第几列。 -d 分隔符:按照指 阅读全文
posted @ 2022-06-07 11:07 繁华似锦Fighting 阅读(1154) 评论(0) 推荐(0) 编辑
摘要:1、扩展正则表达式说明 熟悉正则表达式的童鞋应该很疑惑,在其他的语言中是没有扩展正则表达式说法的,在Shell的正则表达式中还可以支持一些元字符,比如+、?、|、()。 其实Linux系统是支持这些字符的,只是grep命令默认不支持而已(grep命令无法识别扩展正则表达式)。 如果要想支持这些字符, 阅读全文
posted @ 2022-06-06 11:01 繁华似锦Fighting 阅读(429) 评论(0) 推荐(0) 编辑
摘要:1、正则表达式说明 正则表达式和通配符的区别 正则表达式用来在文件中匹配符合条件的字符串。 通配符用来匹配符合条件的文件名。 在Shell中,使用在文件当中搜索字符串的命令,如grep,awk,sed等命令(文本操作三剑客),可以支持正则表达式。 而在系统当中搜索文件的命令,如ls,find,cp这 阅读全文
posted @ 2022-06-01 11:16 繁华似锦Fighting 阅读(1351) 评论(0) 推荐(1) 编辑
摘要:1、注销时生效的环境变量配置文件 在用户退出登录时,只会调用一个环境变量配置文件,就是~/.bash_logout文件。 这个文件默认没有写入任何内容,可是如果我们希望再退出登录时执行一些操作,比如清除历史命令,或者备份某些数据,就可以把命令写入这个文件。 2、其他配置文件 还有一些环节变量配置文件 阅读全文
posted @ 2022-05-31 13:10 繁华似锦Fighting 阅读(333) 评论(0) 推荐(1) 编辑
摘要:1、source命令 通过source命令可以直接环境变量配置文件。 命令格式如下: [root@localhost ~]# source 配置文件 或用. [root@localhost ~]# . 配置文件 提示: 配置完成的环境变量配置文件,是需要用户退出并重新登陆才能生效,并不一定需要重启。 阅读全文
posted @ 2022-05-30 11:00 繁华似锦Fighting 阅读(404) 评论(0) 推荐(1) 编辑
摘要:1、什么是变量的测试与内容置换 我们之前说过,在Shell中,一个变量未定义,和一个变量为空值的输出效果是一样的。 # 先直接输出一个未定义的变量y [root@Lyl ~]# echo $y # 再定义变量y为空值,并输出变量y [root@Lyl ~]# y="" [root@Lyl ~]# e 阅读全文
posted @ 2022-05-27 11:31 繁华似锦Fighting 阅读(374) 评论(1) 推荐(1) 编辑
摘要:1、Shell常用运算符 Shell中常用运算符如下表: 优先级数值越大优先级越高,具有较高优先级级别的运算符先于较低级别的运算符进行求值运算。 优先级 运算符 说明 13 -,+ 单目负、单目正 12 !,~ 逻辑非、按位取反或补码 11 *,/,% 乘、除、取模 10 +,- 加、减 9 <<, 阅读全文
posted @ 2022-05-26 11:30 繁华似锦Fighting 阅读(516) 评论(0) 推荐(1) 编辑