shell中常用的基础命令

1.diff

1.用法:
diff [options] files|directorys
2.输出信息:
[num1,num2][a|c|d][num3,num4]

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

3.常用参数:

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

实验:
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
显示文件所有内容并标示有不同的行
在这里插入图片描述在这里插入图片描述在这里插入图片描述

2.patch

patch 原文件 补丁文件
patch -b 原文件 补丁文件 ##备份原文件

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

3.cut

-d : 指定:为分隔符
-f 指定显示的列
5 第五列
3,5 3和5列
3-5 3到5列
5- 第五列以后
-5 到第五列
-c 指定截取的字符(数字用法同-f)

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

4.sort

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

实验环境:切换到一个空目录/mnt中,新建编辑文件westos,写入多行数字
在这里插入图片描述
sort westos 此时直接使用sort对文件进行排序,得到的是以首个字符为排序准则的排序结果

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

5.uniq

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

在这里插入图片描述在这里插入图片描述在这里插入图片描述命令练习:

1、ifcongfig 网卡 可以显示此网卡的信息
显示信息中包含此网卡使用的ip地址
请用命令过滤此ip并在输出时只显示ip其他信息不显示

2、找出能登陆系统用户中UID最大的用户,并显示其名称

在这里插入图片描述

在这里插入图片描述

6.tr

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

7.test

test = [ ] ##[ ] 就相当于test命令
“test $a = b " = [ " b" = [ " b"=["a” = “$b” ]

注:在【】书写内容时,两边必须有空格,元素必须用引号引起来
在这里插入图片描述

7.1 test数字对比

参数含义
-eq等于
-ne不等于
-le小于等于
-lt小于
-ge大于等于
-gt大于

在这里插入图片描述

7.2 test的条件关系

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

7.3 test对空的判定

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

a=1

[ -z "$a" ] && echo yes || echo no
//判断直为空

[ -n "$a" ] && echo yes || echo no
//判断直不为空

在这里插入图片描述

7.4 test对于文件的判定

参数含义
-ef文件节点号是否一致(硬链)
-nt文件1是不是比文件2新
-ot文件1是不是比文件2老
-d目录
-S套结字
-L软连接
-e存在
-f普通文件
-b块设备
-c字符设备
[ -e "/mnt/file" ] && echo yes || echo no     //判断文件是否存在
[ -f "/mnt/file" ] && echo yes || echo no    //判断目标是否是文件
[ -d "/mnt" ] && echo yes || echo no          //判断目标是否是目录
[ -b "/dev/vda" ] && echo yes || echo no      //判断目标是否是块设备
[ -S "/var/lib/mysql/mysql.sock" ] && echo yes || echo no //判断目标是否是套接字
[ -L "/mnt/westos1" ] && echo yes || echo no   //判断是否是链接
[ -c "/dev/pts/0" ] && echo yes || echo no     //判断目标是否是字符设备
[ "/mnt/file" -ef "/mnt/file1" ] && echo yes || echo no  //判断两文件是否是相同节点号
[ "/mnt/file" -nt "/mnt/file1" ] && echo yes || echo no  //对比file文件是否比file1新 
[ "/mnt/file" -ot "/mnt/file1" ] && echo yes || echo no  //对比file文件是否比file1更老

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

8.

&& 符合条件作动作
|| 不符合条件作动作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值