shell编程基础
脚本:简单来说就是一条条的文字命令(一些指令的堆积)
Shell属于内置的脚本
1、程序开发效率非常高,依赖于功能强大的命令可以迅速地完成开发任务(批处理)
2、语法简单,代码写起来比较轻松,简单易学
1991年linux正式发布;1992年正式诞生
linux可用的shell都记录在/etc/shells文件中
kernel主要的功能:
1、内存的管理
2、进程的管理
3、文件系统的管理(xfs,ext2/3/4)
4、设备驱动程序
5、网络系统
/etc/profile.d/
# echo $SHELL 查看默认的shell
# echo $PATH
yum search pstree 查询依赖关系
编写shell常用命令
grep :
选项 描述
-E 模式是扩展正则表达式(ERE)
-i 忽略大小写 # grep -i "root "/etc/passwd
-n 打印关键字的行并打印行号
# grep -n "root" /etc/passwd
-o 只打印匹配的内容 # grep -o"root" /etc/passwd
-c 只打印每个文件匹配的行数
# grep -c "root" /etc/passwd
-B 打印匹配的前几行
# grep -B 2 "root" /etc/passwd
-A 打印匹配的后几行
# grep -A 2 "root" /etc/passwd
-C 打印匹配的前后几行
# grep -C 2 "root" /etc/passwd
-v 取反(打印不匹配的行)
# grep -v "root" /etc/passwd
cut命令:
-c 以字符为单位进行分割
# cut -c 6 /etc/passwd(取出第六个字符)
# cut -c 1,3 /etc/passwd取出第一和三个字符
# cut -c -6 /etc/passwd取出开头到第六个字符
# cut -c 6- /etc/passwd取出第六个到结尾的字符
-d 自定义分割符 # cut -d ":" -f1 /etc/passwd
分割符可以任意定义
-f 区域哪个与-d一起使用,指定显示
sort命令:
-n 依照数值的大小排序(默认是根据字符进行排序)
-r 以相反的顺序来排序
uniq命令:
去除重复的行(相邻且相同,认定为重复)
-c 在行首用数字表示该行出现了多少次
-u 仅仅显示那些没有出现重复过的行
seq命令:
生成一个数组序列
tr命令:
作用:tr命令用于转换或删除文件中的字符
a-z任意小写
A-Z任意大写
0-9任意数字
tr a-z A-Z /etc/passwd 将文件中的小写全部转换成大写
tr -d "s" /etc/passwd 删除文件中的s