shell常用的基础命令

1 diff命令

  • 使用方法:diff [options] files|directorys
  • 输出结果:[num1,num2] a/c/d [num3,num4]
  • 对其输出结果的解释如下表格所示
输出的结果部分含义
num1,num2第一个文件的行
a添加
c更改
d删除
>第一个文件的内容
<第二个文件的内容
num3,num4第二个文件的行
  • 该命令常用参数及含义
参数含义
-u合并输出
-b忽略空格
-B忽略空行
-i忽略大小写
-c显示文件所有内容并标示不同
-r对比目录

默认不加参数时,直接对比两个文件的不同;-u表示将两个文件合并输出:
在这里插入图片描述
-b忽略空格对比两个文件:
在这里插入图片描述
注意只有两个文件前面的内容一样,后面有一行空行,这样-B参数才会忽略空行:
在这里插入图片描述
-i忽略大小写,进行文件的比较:
在这里插入图片描述
显示文件所有内容并标示不同:
在这里插入图片描述
建立目录,进行对比目录:
在这里插入图片描述

2 patch命令

使用方法:

命令含义
patch 原文见 补丁文件打补丁
patch -b 原文见 补丁文件备份原文件

将合并输出放到file.path中生成定补丁文件,diff -u westos liu > file.path ,注意这里不能做两次,否则会出错,查看/mnt生成了一个补丁文件:
在这里插入图片描述
安装软件 :
在这里插入图片描述
patch westos file.path 命令表示用该补丁补全westos文件,补全后westos就和liu中文件内容一致了,也就是用liu作为一个标准去改变westos文件;然后使用-b参数对westos文件进行备份,备份时下面显示的内容表示再次使用patch命令,系统会提问是否想还原,输入y可以还原,还原后,文件中的内容就变成之前的内容了,而不是打了补丁之后的内容,若还想指定还原文件,可以使用-R参数。备份完后该目录下会出现一个.orig文件,表示原文件:
在这里插入图片描述

3 cut命令

该命令的参数及其含义

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

1)-d指定%为分割符,-f指定显示第一列,指定显示第二列:

在这里插入图片描述
1-2表示显示1到2列;1,3表示显示第一列和第三列;3-表示显示第三列和三列之后;-3表示显示第三列和第三列之前:
在这里插入图片描述
2)指定截取的字符(用法同-f):
在这里插入图片描述
3)小练习,ifconfig命令可以显示ip地址,如何使用该命令将ip地址单独过滤出来:
在这里插入图片描述

4 sort命令

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

1)编辑一个实验文件:
在这里插入图片描述
默认按第一列排序了:
在这里插入图片描述
纯数字排序:
在这里插入图片描述
纯数字倒叙排序:
在这里插入图片描述
纯数字倒叙排序并输出到指定文件:
在这里插入图片描述
2)编辑一个实验文件:
在这里插入图片描述
默认是按照分割符前面的一列排序:
在这里插入图片描述
-n纯数字排序,-t指定分割副,然后-k指定排序的是第二列:
在这里插入图片描述
3)编辑文件:
在这里插入图片描述
去掉重复的数字排序:
在这里插入图片描述

5 uniq 命令

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

合并重复的数字并统计个数,后面一列是数字,前面一列是重复个数:

在这里插入图片描述
分别显示重复的行和唯一的行:
在这里插入图片描述

6 tr命令

大小写转化,如下图所时,由于tr命令不能显示,所以使用cat和管道符,该命令可以实现单个字符转化,但不能批量操作:
在这里插入图片描述

7 &&和 ||

&&是需要前面条件成立时使用,||是需要前面的条件不成立时使用,也可以放在脚本里使用:
在这里插入图片描述

8 test命令

8.1 test命令及常用参数的使用

参数含义
-gt>
-ge>=
-lt<
-le<=
-eq=
-ne!=
-z
-n非空
-a并且
-o或者

1)下面两条命令的含义是相同的,习惯上不是用test而是用[ ]:
在这里插入图片描述
注意,两边和参数两边是必须有空格的:
在这里插入图片描述
下图所示的第一条命令,表示c>0而且c<10,若中间使用-o参数则表示或者;输入d=表示d是空的:
在这里插入图片描述
2)书写脚本文件关于该命令的练习:
在这里插入图片描述
注意:若没有输入用户就直接运行脚本,显示报错,请输入用户名;输入用户名就执行下面的语句,看用户名输入的存在或不存在 ;\033表示动作,[31m表示红色 [0m表示颜色到这里结束

8.2 test对于文件的判定

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

1)如下图所时,建立两个文件,查看他们的节点号,是不一致的,对两个文件的节点号进行比较,不一致显示no:
在这里插入图片描述
将westos1链接到westos3上,查看节点号是一致的;注意ln /mnt/westos1 /mnt/westos3是建立硬链接,加上-s擦参数是建立软链接:
在这里插入图片描述
2)判断文件时间戳的早晚:
在这里插入图片描述
3)看文件是否存在,适用于各种类型的文件,例如目录、链接等:
在这里插入图片描述
4)判断目录和文件类型:
在这里插入图片描述
5)建立软链接并判断:
在这里插入图片描述
6)小练习:写一个脚本,该脚本在执行时如果脚本后未指定检测文件,则报错“未指定检测文件,请指定” ;如果脚本后指定文件不存在,则报错“此文件不存在” ;当文件存在时请检测文件类型并显示到输出中:
在这里插入图片描述
测试:
在这里插入图片描述
注意:因为软链接和文件类型检测出来都是文件类型,所以先检测软链接,再检测文件

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值