1.shell中的基本命令(diff patch cut sort uniq && || tr)

1.实验环境配置

(1)实验前设置主机命为:shell.example.com
在这里插入图片描述
(2)设置ip为:172.25.254.118
在这里插入图片描述

2.diff命令和patch命令

(1)diff命令

diff:用来比较两个文件或目录的不同

diff命令在最简单的情况下,比较给定的两个文件的不同。如果使用“-”代替“文件”参数,则要比较的内容将来自标准输入。diff命令是以逐行的方式,比较文本文件的异同处。如果该命令指定进行目录的比较,则将会比较该目录中具有相同文件名的文件,而不会对其子目录文件进行任何比较操作。

在这里插入图片描述

命令说明
diff zxyos1 zxyos2比较zxyos1文件与zxyos2文件的不同
diff -b zxyos1 zxyos2不检查空格字符
diff -B zxyos1 zxyos2不检查空白行
diff -c zxyos1 zxyos2显示全部内容,并标出不同之处
diff -i zxyos1 zxyos2不检查大小写的不同
diff -q zxyos1 zxyos2仅显示有无差异,不显示详细信息
diff -r /mnt/xinos1 /mnt/xinos2比较子目录中的文件
diff -u zxyos1 zxyos2已合并方式显示文件内容的不同

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

(2)patch命令

patch:用于打补丁,补丁文件是使用diff产生的

patch 命令失败或拒绝接受补丁时,会产生一个和原文件同名,以”.rej”为后缀的差异文件。
     当使用 -b 时,会产生一个和原文件同名,以”.orig”为后缀的备份文件。

在这里插入图片描述
实验过程如下:

yum install -y patch		/*安装补丁工具*/
patch -b zxyos1 zxyos.patch			/*给文件zxyos1打补丁, -b---备份源文件*/

安装补丁工具
在这里插入图片描述
在这里插入图片描述

3.cut命令

cut:可以从一个文本文件或者文本流中提取文本列。
cut命令用法如下:
cut -b filename:-b 字节
cut -c filename:-c 字符
cut -f filename:-f 字段
在这里插入图片描述
练习1:显示ifconfig eth0中的ip

ifconfig eth0 | head -n 2 | tail -n 1| cut -c 14-27
ifconfig eth0 | head -n 2 | tail -n 1| cut -d " " -f 10
ifconfig eth0 | head -n 2 | tail -n 1| cut -d ' ' -f 10
ifconfig eth0 | awk ‘/inet\>/{print $2}'

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

4.sort命令和uniq命令

(1)sort命令

sort:将文件进行排序,并将排序结果标准输出。sort多用于字符排序

命令说明
sort -n纯数字排序
sort -r倒序
sort -u去掉重复数字
sort -o输出到指定文件中
sort -t指定分隔符
sort -k指定要排序的列
(2)uniq命令

uniq:用于报告或忽略文件中的重复行,一般与sort命令结合使用。可对重复字符作相应的处理

命令说明
uniq -u显示唯一的行
uniq -d显示重复的行
uniq -c每行显示一次并统计重复次数

练习2:(cp /etc/*.conf /mnt)抓出文件大小排在前5的文件名称
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.&&和||

&&:当前一条命令执行成功时,才执行后一条命令
表达式:command1 && command2(如果command1执行成功,则执行command2)
||: 当上一条命令执行失败后,才执行下一条命令
表达式:command1 || command2(如果command1执行失败,则执行command2)
在这里插入图片描述
练习3:ping 172.25.254.111,通时输出 172.25.254.111 is up,不通时输出 172.25.254.111 is down
在这里插入图片描述

vim ping.sh
	#!/bin/bash
	ping -c 1 -w 1 172.25.254.111 &> /dev/null && {
        	echo 172.25.254.111 is up 
	}||{
         	echo 172.25.254.111 down 
	}
sh ping.sh

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

vim ping.sh
		#!/bin/bash
	ping -c 1 -w 1 $1 &> /dev/null && {
        	echo $1 is up 
	}||{
         	echo $1 down 
	}
sh ping.sh 172.25.254.111

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

6.tr命令

tr:用来从标准输入中通过替换或删除操作进行字符转换
表达式: tr ‘a-z’ 'A-Z’

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值