shell中常用的基础命令

  • Post author:
  • Post category:其他




一. diff命令

作用:对比文件不同和文件补丁管理

1.语法格式 :

diff [options] files|dirtorys


输出信息:

[ num1 , num2 ][ a | c | d ][ num3 , num4 ]

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

在这里插入图片描述

2.diff命令常用参数

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

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.diff 生成补丁

在这里插入图片描述



二、patch打补丁

作用:打补丁,用补丁文件更新就文件

1 .

dnf install patch

安装patch补丁软件

2 .语法格式: patch 原文件 补丁文件


-b 备份原文件


在这里插入图片描述



三、cut截取命令

作用:截取并显示指定的列

  • 常用参数
-f 显示指定的列
-d 指定分割符
-c 指定截取的字符串(数字的用法同 -f )

在这里插入图片描述



四、sort

作用:将文件内容按照指定的规律进行排序

  • 常用参数
-n 纯属子排序
-r 倒叙
-u 去掉重复
-o 输出到指定文件
-t 指定分割符
-k 指定排序的列

在这里插入图片描述

在这里插入图片描述



五、uniq

作用:冗余统计

  • 常用参数
-d 显示重复的行
-c 合并重复并统计重复个数
-u 显示唯一的行

在这里插入图片描述



练习:只获取主机的ip地址,不显示其他任何信息

ifconfig命令可以显示主机的网卡信息,ifconfig+网卡名称可以只显示此网卡的信息,网卡信息里包含了ip地址等信息。

1、ifconfig ens3 | head -n 2 |tail -n1|cut -d ” ” -f 10

2、ifconfig ens3 |awk ‘/inet>/{print $2}’

3、ifconfig ens3| head -n2|tail -n1 |cut -c 14-26

在这里插入图片描述



六、tr 字符写转换命令

作用:字符大小写转换,还适用于单个字符的转换

1.大小写转换

tr ‘a-z’ ‘A-Z’ 小写转大写
tr ‘A-Z’ ‘a-z’ 大写转小写

在这里插入图片描述

2. 单个字符或字符串的转换

注意:将要转换的字符的长度只能与被转换的字符长度相等

在这里插入图片描述



七、条件判断符号

作用:判断条件是否成立,可以优化输出

&& 条件成功则执行动作
|| 条件错误则执行其他的动作



八、条件检测命令test

  • test数字对比 ,可用符号“[ ]”代替 ” test ”
参数 符号 含义
-a 并且(全真为真)
-o 或者(一真为真)
-z
-n 非空
-ge >= 大于等于
-gt > 大于
-lt < 小于
-le <= 小于等于
-eq = 等于
-ne != 不等于

在这里插入图片描述
在这里插入图片描述

  • test对于文件的判定
参数 含义
-ef 文件节点号是否一致
-nt 文件1比文件2早建立
-ot 文件1建立时间比文件2晚
-d 是目录
-S 是套接字文件
-L 是软链接
-e 文件或目录存在
-f 是普通文件
-b 是块设备文件
-c 是字符设备文件

在这里插入图片描述
在这里插入图片描述



练习:test脚本测试

题目:编写脚本file.check.sh 。执行时,若脚本后面未指定检测文件,报错“未指定检测文件,请指定”,若脚本后指定的文件不存在时报错,“此文件不存在”,若文件存在请检测文件类型并输出。




:软连接和文件,检测出来都是文件类型,所以先检测软连接,再检测文件。

在这里插入图片描述

测试

在这里插入图片描述



版权声明:本文为weixin_45760327原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。