Linux下shell脚本的基本知识(1)

一、什么是shell

shell也是操作系统中的一个软件,它包在linux内核的外面,为用户和内核之间的交互提供了一个接口,系统中的命令用shell去解释shell接受系统回应的输出并显示其到屏幕中

shell的类型如下图


bash= GUN Bourne-Again Shell


二、什么是shell脚本

脚本是一种解释型语言

用shell脚本保存执行的动作

用脚本判定命令的执行动作

用脚本来实现动作的批量执行

*shell脚本hello world如下图


第一行为幻术,指定shell的类型

*shell脚本的执行

1)sh 直接用指定解释器解释(什么都不加默认用shell),不读幻术,不需要加执行权限
2)./
执行,用脚本写入的幻术解释器解释,需要加执行权限
chmod +x



三、shell脚本的vim编写

/etc/vimrc配置文件下,编写如下图


第66行map表示设置快捷键为[F9];ms调用什么东西 <cr>‘s表示自动执行
第67行表示自动运行,条件是新文件以.sh结尾的文件;自动运行
Author__脚本作者

CreateTime__脚本创作时间;.strftime表示捕捉时间

Mail__脚本作者联系方式(随意写的)
Version__脚本的版本
Description__脚本的描述


四、脚本的调试
1)sh -x 脚本名称    适用于所有shell脚本

2)在脚本的幻术行末尾加上 -x


显示出来+后面的表示命令


五、脚本中常用的命令
1、diff命令
*)diff命令是用来比较两个文件或目录的不同

a表示添加
c表示改变
d表示删除
<表示第一个文件中的内容,>表示第二个文件的内容
第一个文件第二行添加123
第一个文件删除第二行的123

*)diff -u 以合并的方式来显示文件内容的不同


这里可以生成westos.path(补丁文件)

可以将第一个文件添加补丁使两个文件一致

2、pacth命令

用于不同文件打补丁

pacth file.old file.path


3、cut命令

用于命令多用与字符截取

cut -d 指定分隔符

cut -f 指定截取的列

cut -c 指定截取的字符位置

实例:执行ifconfig eth0截取出ip



4、sort

多用与字符排序

sort -n 纯数字排序

sort -r  倒序

sort -u 去掉重复数字

sort -o 输出到指定文件

sort -t  指定分隔符

sort -k 指定要排序的列

实例:按内存使用率排序,并显示其pid


5、&&和||

&&用来执行条件成立后执行的命令

||用来执行条件不成立后执行的命令

实例:用来显示ping主机,如果ping通显示up,不通显示down



6、颜色的设置




7、test命令

test命令和[ ]等同

还是配合上面显示ping通否

1)[  -z "$1" ]-z 表示是否是空白



2)-ge 大于等于

实例:如果根目录的使用率大于百分之八十则给root发邮件提示



3)

-eq 等于
-ne
不等于

这两个是数学的表示方法
-gt
大于
-ge
大于等于
-le
小于等于
-lt
小于


4)可以满足多个条件

-a and
-o or
或者


5)-ef 节点号是否一致


-nt是否比这个文件新(时间戳)

-ot 是否比这个文件老



6)file

检测文件类型

-e 查看是否存在这个文件
-f
是否是普通文件
-L
是否是链接文件
-S
是否是套接字文件
-b
是否是块设备文件
-d
是否是目录
-c
是否是字符设备

实例:写一个脚本可以显示文件时什么类型


补充tr命令,大小写的转换

tr 'a-z' 'A-Z' < 选择导入的文件




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值