shell脚本与自动化
概述
什么是脚本?
脚本,是使用一种特定的描述性语言,依据一定的格式编写的可执行文件,又称作宏或批处理文件。
什么是shell?
命令解释器,负责接收用户输入的命令,进行解释将需要执行的操作传递给内核执行,并输出执行结果
当前系统所支持的shell有哪些?
CentOS系统默认用户使用的shell为/bin/bash
/etc/shells文件中保存了系统支持的shell种类
Bash
Bourne again Shell是bsh的升级版也是应用最广泛的shell
编写shell脚本
可以使用任意编辑器编写如vim
vim /tmp/simple.sh 为了便于识别以sh结尾作为扩展名
#!/bin/bash 声明脚本运行环境
cd /boot
pwd
ll -h init*
赋予可执行权限
chmod a+x /tmp/simple.sh
执行脚本文件的几种方法
./simple.sh 在脚本所在目录执行
sh /tmp/simple.sh
source /tmp/simple.sh
脚本常用的工具
AWK是一个优良的文本处理工具,Linux及Unix环境中现有的功能最强大的数据处理引擎之一。
基本用法
awk -F: '{if(length($2)>3) print $1}' /etc/shadow
sort 文本内容排序
cat /etc/passwd|sort -t ':' -nk 3 从小到大,以冒号为分隔符,第三列。
cat /etc/passwd|sort -t ':' -nrk 3 从大到小
uniq 重复内容合并
通常配合sort一起使用
sort |uniq -c 显示每一项重复的次数
变量的作用
用来存放系统和用户需要的特定数值,变量赋值格式:变量名=变量值
变量名:使用固定的名称,由系统预设或用户定义
变量值:能够根据用户设置、系统环境的变化而变化
变量的类型
自定义变量:由用户自己定义、修改和使用
全局变量:在子shell中仍然能使用的变量
环境变量:由系统维护,用于设置工作环境
位置变量:通过命令行给脚本程序传递参数
预定义变量:Bash中内置的一类变量,不能直接修改
常见的变量类型
预定变量
由bash预先设定好的一类特殊变量
$#:表示位置参数的个数
$*:表示位置参数的内容
$$:当前进程的进程PID号
$?:前一条命令执行完后的返回状态0表示正确,非0表示异常
$0:当前执行的脚本或程序名称
位置变量
表示为 $n,n为1~9之间的数字
./脚本名称 $1 $2
例如./simple.sh one two three four five six
还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!
王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。
对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!
【完整版领取方式在文末!!】
93道网络安全面试题
内容实在太多,不一一截图了
黑客学习资源推荐
最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
😝朋友们如果有需要的话,可以联系领取~
1️⃣零基础入门
① 学习路线
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
② 路线对应学习视频
同时每个成长路线对应的板块都有配套的视频提供:
2️⃣视频配套工具&国内外网安书籍、文档
① 工具
② 视频
③ 书籍
资源较为敏感,未展示全面,需要的最下面获取
② 简历模板
因篇幅有限,资料较为敏感仅展示部分资料,添加上方即可获取👆
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!