shell
文章平均质量分 91
丶Done
这个作者很懒,什么都没留下…
展开
-
iptables防火墙
在Internet中,企业通过架设各种应用系统来为用户提供各种网络服务,如Web网站、电子邮件系统、FTP服务器、数据库系统等。那么,如何来保护这些服务器,过滤企业不需要的访问甚至是恶意的入侵呢?本章将开始学习Linux系统中的防火墙——netfilter和iptables,包括防火墙的结构和匹配流程,以及如何编写防火墙规则。Linux的防火墙体系主要工作在网络层,针对TCP/IP数据包实施过滤和限制,属于典型的包过滤防火墙(或称为网络层防火墙)。...原创 2022-07-17 20:39:03 · 144 阅读 · 0 评论 -
shell数组
数组是存放相同类型数据的集合,在内存中开辟了连续的空间,通常配合循环使用数组的分类普通数组不需要声明直接定义,下标索引只能是整数关联数组需要用declare-A声明否则系统不识别,索引可以是字符串数组的定义方式第一种直接把要加入数组的元素用小括号括起来,中间用空格分开${#num}显示字符串长度数组名=(value0value1value2)第二种精确的给每一个下标索引定义一个值加入数组,索引数字可以不连续。...原创 2022-07-17 20:17:05 · 94 阅读 · 0 评论 -
expect免交互
执行完成后保持交互状态,把控制权交给控制台,会停留在目标终端而不会退回到原终端,这个时候就可以手工操作了,interact后的命令不起作用,比如interact后添加exit,并不会退出root用户。expect{//捕获内容,当出现password的时候,就会向程序发送密码,默认是不换行的,所以需要\r回车换行,多个条件需要花括号括起来,注意格式问题!比如切换到root用户,expect脚本默认的是等待10s,当执行完命令后,默认停留10s后,自动切回了原用户。...原创 2022-07-17 20:10:00 · 188 阅读 · 0 评论 -
shell正则表达式
a’”}’//直接调用的话需要先用双引号再用单引号100[root@localhost~]#awk-vc=1‘BEGIN{printc}’//awk直接定义变量并引用1调用函数getline,读取一行数据的时候并不是得到当前行而是当前行的下一行print$0}’//显示偶数行246810getline}’//显示奇数行13579。......原创 2022-07-17 20:06:48 · 836 阅读 · 0 评论 -
shell脚本括号使用
1.1 单小括号()命令组。括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用。括号中多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括 号之间不必有空格。命令替换。等同于 cmd ,shell扫描一遍命令行,发现了( c m d ) 结 构 , 便 将 (cmd)结构, 便将(cmd)结构,便将(cmd)中的cmd执行一次,得到其标准输出,再将此输出放到原来命令。有些shell不支持,如tcsh。初始化数组。如:array=(a b c d)。整数扩展原创 2022-07-04 09:08:26 · 1512 阅读 · 0 评论 -
shell函数
-------------函数的定义(两种方式)---------------12函数定义完之后并不会自动执行,需要调用才行,好处在于可以写一段功能代码作为函数,有需要就直接调用定义的时候哪怕出现语法错误也没关系,不调用就不会报错当然我们写函数最终目的还是为了调用,为了实现某个功能块函数返回值:return表示退出函数并返回一个退出值,脚本中可以用?变量显示该值使用原则:1、函数一结束就取返回值,因为?变量显示该值使用原则:1、函数一结束就取返回值,因为?变量显示该值使用原则:1、函数一结束原创 2022-07-04 09:05:12 · 196 阅读 · 0 评论 -
shell数值变量的运算
在 Bash Shell 环境中,只能进行简单的整数运算,不支持小数运算整数值的运算主要通过内部命令 expr 进行运算符与变量之间必须有至少一个空格。运算内容:加(+)、减(-)、乘(*)、除(/)、取余(%)运算符号:(())和(()) 和(())和[]运算命令:expr和let运算工具:bc(系统自带)常用的 几种运算符如下所述。 +:加法运算。 -:减法运算。 *:乘法运算,注意不能仅使用“*”符号,否则将被当成文件通配符。 /:除法运算。 %:求模运算,又称为取余运算原创 2022-07-04 08:57:26 · 1297 阅读 · 0 评论 -
shell循环语句
for循环语句一、for循环1、语法结构(1)列表循环(2)不带列表循环(3)类C风格的for循环遍历案列例1:打印1-5这5个数字[root@server ~]# vim for.sh#!/bin/bashfor i in {1…5}doecho $idone例2:打印5次hello world注意:虽然我们定义了一个变量i,但是没有使用它,它只是控制循环次数[root@server ~]# vim for.sh#!/bin/bashfor i in {1…5}doe原创 2022-07-04 08:54:57 · 1340 阅读 · 0 评论 -
shell之条件语句
1.条件测试操作1.2 文件测试要使Shell脚本程序具备一定的“智能”,面临的第一个问题就是如何区分不同的情况以确定执行何种操作。例如,当磁盘使用率超过 95%时,发送告警信息;当备份目录不存在时,能够自动创建;当源码编译程序时,若配置失败则不再继续安装等Shell 环境根据命令执行后的返回状态值($?)来判断是否执行成功,当返回值为 0 时表示成功,否则(非 0 值)表示失败或异常。使用专门的测试工具——test 命令,可以对特 定条件进行测试,并根据返回值来判断条件是否成立(返回值为 0 表示条件成原创 2022-07-04 08:51:30 · 237 阅读 · 0 评论 -
shell脚本编程规范与变量
Shell是一个命令解释器,它在操作系统的最外层,负责直接与用户进行对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕反馈给用户。这种对话方式可是交互也可以是非交互式的,我们所输入的命令计算机是不识别的,这时就需要一种程序来帮助我们进行翻译,变成计算机能识别的二进制程序,同时又把计算机生成的结果返回给我们。⭐⭐面试题:Shell #!/bin/bash 是什么-》解释器,追问:除了/bin/bash之外 你还知道哪些??Linux系统中的Shell是一个特殊的应用程序,它介于原创 2022-07-04 08:43:28 · 86 阅读 · 0 评论