一、shell中常用的基础命令(diff、patch、cut、uniq、tr、test、&&||)

一、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合并输出
diff -u westos westos.new > westos.path 将俩文件的不同导入到补丁文件当中

二、patch

  • patch 原文件 布丁文件
  • -b 备份原文件
dnf install patch -y
patch -b jjr jjr.patch #为原文件jjr打补丁且备份原文件

在这里插入图片描述

三、cut

-d指定分割符
-f指定显示列 5/第五列 3,5/3和5列 3-5/3到5列 5-/五列以后 -5/到第五列
-c指定截取的字符
cut -d : -f 1 passwd
cut -d : -f 2,1 passwd
cut -d : -f 1-2 passwd
cut -d : -f -3 passwd
cut -d : -f 3- passwd
cut -c 1-5 passwd

四、sort

-n纯数字排序
-r倒叙
-u去掉重复
-o输出到指定文件
-t指定分隔符
-k指定排序的列
sort -nru num
sort -nru num -o num1
sort -t : -k 2 -n num

五、uniq

-c合并重复并统计重复个数
-d显示重复的行
-u显示唯一的行
sort -t : -k 2 -n num | uniq -cd
sort -t : -k 2 -n num | uniq -cu

在这里插入图片描述

测试:
1.ifconfig 网卡 可以显示此网卡的信息,显示信息中包含此网卡使用的ip地址,请用命令过滤此ip并在输出时只显示ip其他信息不显示
2.找出能登陆系统用户中UID最大的用户,并显示其名称
3.当前主机为web服务器,请抓取访问web服务器次数排在前5的ip地址

注:具体看练习题专栏!!!

六、tr

cat jjr | tr 'a-z' 'A-Z' #小写转大写
cat jjr | tr 'A-Z' 'a-z' #大写转小写

在这里插入图片描述

七、&& ||

&&符合条件作动作
||不符合条件作动作
id user &> /dev/null && echo yes || echo no #符合不报错输出yes,不符合报错输出no

简单测试用户存在脚本:

vim usertest.sh
///
id jaijiren &> /dev/null &&{
        echo -e "\033[32mjiajiren is exit\033[0m"
}||{
        echo -e "\033[31mjiajiren is not exit\033[0m"
}
///
sh usertest.sh

在这里插入图片描述

八、test

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

1.test数字对比

~~
=/-eq等于
!=/-ne不等于
-le小于等于
-lt小于
-ge大于等于
-gt大于
[ "/mnt/jjr" -ef "/mnt/jjrpro" ] && echo yes || echo no #前后一定要有空格!

在这里插入图片描述

2.test的条件关系

~~
-a并且
-o或者

在这里插入图片描述
3.test对空的判定

~~
-nnozero 判定内容不为空
-zzero 判定内容为空
unset a #对于变量数值的彻底删除

在这里插入图片描述
4.test对于文件的判定

~~
-ef文件节点号是否一致(硬链)
-nt文件1是不是比文件2新
-ot文件1是不是比文件2老
-d目录
-S套结字
-L软连接
-e存在
-f普通文件
-b快设备
[ "/mnt/jjr" -ef "/mnt/jjrpro" ] && echo yes || echo no
[ -d "/mnt" ] && echo yes || echo no

在这里插入图片描述
在这里插入图片描述
测试:
编写脚本完成以下条件
file_check.sh 在执行时
如果脚本后未指定检测文件报错“未指定检测文件,请指定”
如果脚本后指定文件不存在报错“此文件不存在”
当文件存在时请检测文件类型并显示到输出中

注:具体看练习题章节!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贾几人要努力

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值