Shell中的常用基础命令

1.diff命令:

用法:
diff [options] files|directotys

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

常用参数:

-b	#忽略空格
-B	#忽略空行
-i	#忽略大小写
-c	#显示文件所有内容并表示不同
-r	#对比目录
-u	#合并输出
2.patch

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

3.cut
cut -d :	        #指定 :为分隔符 
     -f		#指定显示的列 #(3,5 表示第三列和第五列,3-5 表示第三列到第五列,-5 表示第一列到第五列,5-表示第五列到最后一列)
     -c		#指定截取的字符(数字用法同-f)
4.sort #排序
-n	#纯数字排序
-r	#表示倒叙
-u	#表示去掉重复部分
-o	#输出到指定文件
-t 	#指定分隔府
-k	#指定排序的列
5.uniq #处理重复
-c	#合并重复并统计重复个数
-d	#显示重复的行
-u	#显示唯一的行
6.tr字符转换(用于命令之后)

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

7. && ||

用于命令之后

&& 后跟命令成功执行后的命令
|| 后跟命令执行失败后的命令

练习:
1.检测用户是否存在

vim test.sh
///
#!/bin/bash
id $1 &> /dev/null &&{               ##$1表示脚本后所跟的第一串字符
echo $1 is  exist
}||{
echo $1 is not exist 
}
///

[root@westoslinux mnt]# sh test.sh hello    #检测hello用户是否存在
hello is not exist
[root@westoslinux mnt]# sh test.sh westos   #检测westos用户是否存在
westos is exist

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

ifconfig ens3 | head -n 2 | tail -n 1 | cut -d " " -f 10  #10表示ip位第10列 

在这里插入图片描述

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

grep bash /etc/passwd | sort -rn -t : -k 3 | cut -d :-f 1 | head -n1

在这里插入图片描述

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

test数字对比
=
! =
-eq		#等于
-nq		#不等于
-le		#小于等于
-lt		#小于
-ge		#大于等于
-gt		#大于

test的条件关系
-a ##并且
-o ##或者

test对空的判定

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

实验:
编写测试脚本:

vim num_check.sh
/// 
#!/bin/bash
[ "$1" -ge "0" -a "$1" -lt "10" ] && {
    echo $1 is in 0~9
}||{
    echo $1 is not in 0-9
}
///
[root@westoslinux mnt]# sh num_check.sh 3   #检测数字3是否在0-9之间
3 is in 0~9
[root@westoslinux mnt]# sh num_check.sh 11     #检测数字11是否在0-9之间
11 is not in 0-9

test对于文件的判定:

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

编写测试脚本:
检测文件类型

vim file_check.sh
#!/bin/bash
[	 -z "$1"  ] && {
echo "未指定检测文件,请指定"
 }||{ [ ! -e "$1" ] && { echo "此文件不存在"
            } || {
            [ -d "$1" ] && { echo "目录"
                    }||{
            [ -S "$1" ] && { echo "套接字"
                            }||{
            [ -L "$1" ] && { echo "软连接"
                                    }||{
            [ -f "$1" ] && { echo "普通文件"
                                            }||{
             [ -b "$1" ] && { echo "快设备" 
                                                    }||{
             [ -c "$1" ] && { echo "字符设备" 
                                            }
        }
        }
   }
 }
 }
 }
}
///

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值