【Linux学习笔记27】Shell常用基础命令详解(diff、patch、cut、sort、uniq、tr、&&、||、test)

1. diff 比较文本文件


命令格式:diff [options] files或directorys

1.1 diff 输出信息解释


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

1.2 diff 参数详解


diff参数
-b
忽略空格
-B
忽略空行
-i
忽略大小写
-c
显示文件所有内容,并标示不同
-r
对比目录
-u
合并输出
-q
仅显示有无差异,不显示详细的信息

1.3 diff 命令使用示例


  1. 比较文件

在这里插入图片描述

  1. 比较文件,忽略空格 -b

在这里插入图片描述

  1. 比较文件,忽略空行 -B

在这里插入图片描述

  1. 比较文件,忽略大小写 -i

在这里插入图片描述

  1. 显示文件所有内容,并标示不同

在这里插入图片描述



2. patch 补丁


安装补丁程序:dnf install patch -y

命令格式:patch 原文件 补丁文件

patch参数
-b
备份原文件

patch 补丁示例

1. 将内容有异文件合并输出,并导入到一个.path文件中

在这里插入图片描述
2. 安装补丁程序,对原文件打补丁

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



3. cut 显示文件指定内容


3.1 cut 参数


cut 参数
-d
指定分隔符(默认的字段分隔符为“TAB”)
-f
指定显示的列
-c
指定截取的字符
#-f -c用法相同
5==第5列	
3,5==第3和5列	
3-5==3到5列	
5-==第5列到最后	
-5==开始到第5列)

3.2 cut 用法示例


实验素材

head /etc/passwd > /mnt/passwd

在这里插入图片描述

1. 显示指定列

在这里插入图片描述

2. 显示指定字符

在这里插入图片描述


3. 筛选不能登陆的用户,显示用户名

grep bash -v /etc/passwd | cut -d : -f 1

在这里插入图片描述



4. sort 排序


sort将文件/文本的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。


4.1 sort 参数


sort 参数
-n
纯数字排序
-r
倒序
-u
去掉重复
-o
输出到指定文件
-t
指定分隔府
-k
指定排序的列

4.2 sort 示例用法


实验素材

在这里插入图片描述


排序示例 1

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

排序示例 2

在这里插入图片描述



5. uniq 忽略重复行


用于报告或忽略文件中的重复行,一般与sort命令结合使用


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

实验素材

在这里插入图片描述

合并重复并统计重复的个数

在这里插入图片描述

显示重复的行

在这里插入图片描述

显示唯一的行

在这里插入图片描述

显示文件重复次数最多的数字

sort -n sortfile | uniq -c | sort -k 1 -n | cut -d " " -f 8 | tail -n 1

在这里插入图片描述


6. tr 替换、压缩和删除字符


tr命令可以对来自标准输入的字符进行替换、压缩和删除。它可以将一组字符变成另一组字符,经常用来编写优美的单行命令,作用很强大。


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

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



7. && 与 ||


&& 符合条件的动作

|| 不符合条件的动作

在这里插入图片描述



8 test 测试


test命令是shell环境中测试条件表达式的实用工具


test ==[ ]: [ ] 相当于test命令

test \$a = \$b  相当于 ['\$a' = '\$b' ]

8.1 test数字对比


=
字符串相等
!=
字符串不等
-eq
等于
-ne
不等于
-le
小于等于
-lt
小于
-ge
大于等于
-gt
大于

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

8.2 test条件关系


-a
并且
-o
或者

在这里插入图片描述

8.3 test对空的判定


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

在这里插入图片描述

8.4 test对于文件的判定


-e
存在
-ef
文件节点号是否一致
-nt
文件1是否比文件2新
-ot
文件1是否比文件2老
-d
是否是目录
-S
套接字
-L
软链接
-f
普通文件
-b
块设备
-c
字符设备

判断文件是否存在 -e

在这里插入图片描述

判断文件节点号是否一致 -ef

在这里插入图片描述

判断文件新旧 -nt与-ot

在这里插入图片描述

是否是目录 -d(同判断是否是其他文件类型)

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_46069582/article/details/111100991