shell中常用的基本命令

shell中常用的基本命令

  • shell在企业当中更多的就是对数据的采集以及对系统的监控,而不是进行开发的,因为如果用shell开发,效率太低
  • 语言分为两类:描述型解释型

1 diff

  • 作用:对比两个文件有什么不同

  • 用法: diff [options] files | directory

  • 输出信息
    [num1,num2][a|c|d][num3,num4]
    num1,num2 #第一个文件中的行
    a #添加
    c #更改
    d #删除
    < #第一个文件中的内容
    > #第二个文件中的内容
    num3,num4 #第二个文件中的个行

  • 常用参数
    -b #忽略空格
    -B #忽略空行
    -i #忽略大小写
    -c #显示文件所有内容并标示不同
    -r #对比目录
    -u #合并输出

  • 示例

  • 编写两个不同的文件:
    两个不同的文件

  • diff westos lxy
    对比两个文件

  • diff -u westos lxy
    合并输出生成补丁

  • diff -c westos lxy
    在这里插入图片描述


2 patch

首先需要安装:
dnf install patch -y

生成补丁:
diff -u westos lxy
在这里插入图片描述

将文件中的内容导入的file.parh中为补丁文件:
在这里插入图片描述

  • patch 原文件 补丁文件 #原文件会消失
    -b #备份原文件
    修改

3 cut

-d #指定:为分割符
-f #指定显示的列: **5**表示第五列 |3,5 表示3和5列 |3-5 表示3至5列 |5- 表示第五列之后 |-5 表示到第5列
在这里插入图片描述

-c #指定截取的字符(数字用法同-f)
在这里插入图片描述


4 sort

-n #纯数据排序
-r #倒叙
-u #去掉重复
-o #输出到指定文件
-t #指定分割符
-k #指定排序的列
示例:

  • 编写一个westos文件,其中随机编辑一行数列
    在这里插入图片描述
  • sort westos #只对第一行数字进行从小到大的排序
    在这里插入图片描述
  • sort -n westos #纯数据排序
    在这里插入图片描述
  • cut -n -t ‘;’ -k 2 westos #指定纯数据分割副为;的第二列数据进行排序
    在这里插入图片描述在这里插入图片描述

5 uniq

-c #合并重复并统计重复个数

  • sort -n westos | uniq -c #排序并且将重复的合并并且统计重复的个数
    在这里插入图片描述

-d #显示重复的行
-u #显示唯一的行
在这里插入图片描述

  • 练习
  • (1) ifconfig 网卡 可以显示此网卡的信息
    显示信息中包含此网卡使用的ip地址
    请用命令过滤此ip并在输出时只显示ip,其他信息不显示
    在这里插入图片描述

在这里插入图片描述

  • (2)找出能登陆系统用户中UID最大的用户,并显示其名称
  • (3)当前主机为web服务器,请抓取访问web服务器次数排在前5的ip地址

6 tr(单个字符的替换,但是批量字符的替换不行)

  • tr ‘a-z’ ‘A-Z’ #小写转大写
  • tr ‘A-Z’ ‘a-z’ #大写转小写
    在这里插入图片描述

7 test

test = [ ] ##[ ] 就相当于test命令
“test $ a = $ b” = ["$ a" = “$ b”]
在这里插入图片描述

[1] test数字对比

=
!=
-eq #等于
-ne #不等于
-le #小于等于
-lt #小于
-ge #大于等于
-gt #大于

[2] test的条件关系

-a #并且
-o #或者
在这里插入图片描述

  • 给c赋值为20,判断c是否小于等于0或者大于等于10,正确输出yes,错误输出no

[3] test对空的判定

-n #nozero 判定内容不为空
-z #判定内容为空

  • 判断d是否为空:
    在这里插入图片描述

在这里插入图片描述

[4] test对于文件的判定

-ef #文件节点号是否一致(硬链)
在这里插入图片描述

-nt #文件1是不是比文件2新
-ot #文件1是不是比文件2老
-d #目录
在这里插入图片描述

-S #套结字
-L #软链接
-e #存在
-f #普通文件
-b #块设备
-c #字符设备

  • 测试:
    vim file_check.sh
    如果脚本后未指定检测文件报错“未指定检测文件”;如果脚本后指定文件不存在报错“此文件不存在”;当文件存在时请检测文件类型并显示到输出中。
    在这里插入图片描述
    测试结果
    在这里插入图片描述

8 && ||

&& #符合条件做动作
|| #不符合条件做动作
在这里插入图片描述

  • 表示:执行动作 将/mnt/file导入/dev/null ls查看这个/mnt/file是否存在从而成功导入垃圾箱,如果符合条件做动作则显示/mnt/file is exist ;如果不符合条件做动作则显示:/mnt/file is not exist
  • 必须先判断符合条件的动作,再判断不符合条件的动作,不然在运行程序的时候就有可能出现错误
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值