shell

一,shell的概述

    操作系统其实是一组软件,这组软件控制整个硬件与管理系统的活动监测。如果这组软件可以被用户随意操作将很不安全。所以就需要用户通过应用程序来指挥内核,让内核完成我们所需的硬件任务,这个应用程序就是shell。我们必须通过shell将我们输入的命令与内核通信。好让内核可以控制硬件来正确无误的工作。我们常用的shell有以下几种

vim /etc/shells

我们主要学习的是/bin/bash这个linux默认的shell

二,脚本的编写执行以及调试

1,第一行应该写#!/bin/bash 脚本声明,用来告诉系统使用哪种解释器来执行程序。

后面写脚本的可执行语句。

2,脚本的执行

第一种方法:可以使用   sh +  脚本文件

第二种方法:也可以给脚本文件执行权限,然后直接写绝对路径来执行。使用的是第一行脚本声明中的解释器。

3,脚本的调试

[root@foundation200 mnt]# sh -x file1.sh

+ echo hello      :命令行

hello                  :执行结果

4,自动添加脚本信息说明。

autocmd BufNewFile *.sh exec ":call WESTOS()"

新建的以“.sh”结尾的文件都执行函数WESTOS的功能

"map <F4> ms:call WESTOS()<cr>'s

按F4执行函数WESTOS的功能

测试,建立以.sh结尾的文件

三,简单脚本练习

运行脚本显示当前主机的ip

运行脚本

运行脚本显示当前主机可以登录的用户

运行脚本

四,写脚本时常用到的一些命令

1,diff:比较文件的差异

对比两个不同的文件

生成补丁文件

打补丁,首先下载服务


安装补丁软件patch,

2,cut按列用于截取字符

cut参数

cut -d :指定分隔符

cut -f 1 :指定截取每行第一列

cut -c 3 :截取每行第三个字符

用cut编辑脚本,找出系统中可以登录的用户


2,sort 字符排列

sort 参数

-n :纯数字排序

-r   :倒叙

-u  :去掉重复的数字

-t    :指定分隔符

-o    :输出到指定文件中

-k   :指定要排序的列

测试

对/mnt下的文件进行排序找出最大的两个

3,uniq : 对重复字符的处理

uniq -u 显示唯一的行

uniq -d 显示重复的行

uniq  -c 每行显示的次数

创建文件

一般uniq和sort一起使用

显示唯一的行


显示每行重复的次数

显示重复的行

&& 和 ||

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

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

"[ ]"用来判断条件是否成立

常见的字符串比较

= :比较字符串的内容是否相同

!= :比较字符串的内容是否不同

-z   : 判断字符串内容是否为空

-n : 文件是否不为空

文件类型的判断

-e : 文件是否存在

-d  :是否为目录

-L :是否为连接文件

-f :是否为正常类型的文件

-c :是否为字符设备

-b:是否为块设备文件

-S:是否为套接子设备

判断文件节点是否一样,

建立文件,查看节点,创建硬链接

编写脚本判断文件类型

4,tr :转换字符

5,find 查找文件(可以用man取查找find的用法)

-group : 查找组

-type : 查找类型

-user : 查找用户

-not -group 查找不是改组的文件

-perm 777 : 精确匹配权限为777的文件

-perm : -644  匹配u=6,g=4,o=4 的文件

-perm : /666 匹配u=6,或g=6,或o=6的文件

-size 20K : 精确查找大小为20K的文件

-size +20K : 精确查找大于20K的文件

-size  -20K : 精确查找大于20K的文件

-maxdepth 1 -name passwd :查找目录的深度为一层

-mindepth 2 -name passwd  : 查找目录的深度最小为两层



























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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值