shell——4.1.shell中常用的基础命令

目录

一.diff:

二.patch :      

三.cut :

四.sort:

五.uniq :

练习:

六.tr :

七.test :

八. && ||

测试 :


一.diff:

输出信息:
	[num1,num2][a|c|d][num3,num4]
	num1,num2	##第一个文件中的行
	a		##添加
	c		##更改
	d		##删除
	<		##第一个文件中的内容
	>		##第二个文件中的内容
	num3,num4	##第二个文件中的行
命令:		diff -b file file1
	-b		##忽略空格的不同
	-B		##忽略空行
	-i		##对比忽略大小写
	-c		##显示文件所有内容并标识有不同的行
	-r		##对比目录内容不同
	-u		##生成补丁	diff -u file file1 > 随便起
	
	dnf install patch	##打补丁用到的工具

 

 二.patch :       

dnf install patch	##打补丁用到的工具
patch westos(原文件) westos.path(补丁文件)
当用patch命令打补丁后原文件内容被修改且不会被备份
-b		##备份原文件

三.cut :

    cut
    -d :        ##指定:为分割符
    -f           ##指定查看的列        
    -c          ##指定截取的字符(数字用法同-f)

     cut -d : -f 1,7 passwd         ##第一列和第七列,并指定:为分割副
    cut -d : -f 1-3 passwd          ##第一列到第三列,并指定:为分割副
    cut -d : -f 3-  passwd           ##第三列到最后一列,并指定:为分割副
    cut -d : -f -3  passwd           ##第一列到第三列,并指定:为分割副
    cut -c 1-4 passwd

 

 四.sort:

sorg file        ##排序file文件中每一列的第一个字符

     -n        ##输数字排序
     -r         ##倒叙
     -u        ##去掉重复
     -o        ##输出到指定文件        sort -nur westos  -o test
     -t         ##指定分割副               sort -n -t : -k 2 westos
     -k        ##指定排序的列

五.uniq :

##配合sort使用

    -c        ##合并重复并统计重复个数     sort -n westos | uniq -c
    -d        ##显示重复的行
    -u        ##显示唯一的行

 

 练习:

1.用过滤信息使ifconfig命令只显示其ip,不现实其他信息

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

 六.tr :

    tr 'a-z' 'A-Z'         ##小写转大写
    tr 'o'    'x'             ##o转化为x

 七.test :

test = []		##[]就相当于test命令	
"test $a = $b " = [ "$a" = "$b"]	
[ "$a" = "$b" ] && echo yes || echo no 等同于 test "$a" = "$b" && echo yes || echo no	在书写[]内容时,两边必须有空格,元素要用引号引导起来

 test数字对比 :

	test数字对比
	=	
	!=
	-eq	##等于		[ "$a" -eq "$b" ] && echo yes || echo no
	-ne	##不等于
	-le	##小于等于
	-lt	##小于
	-ge	##大于等于
	-gt	##大于

 test的条件关系 :

-a	##并且	[ "$a" -gt "$b" -a "$a" -lt "$b" ] && echo yes || echo no
-o	##或者	[ "$a" -gt "$b" -o "$a" -lt "$b" ] && echo yes || echo no

 test对空的判定 :

-n	##判定内容不为空	[ -n "$a" ] && echo yes || echo no
-z	##判定内容为空	[ -z "$a" ] && echo yes || echo no

 

 test对与文件的判定

-ef	##文件节点是否一致	[ "/mnt/file" -ef "/mnt/file1" ] && echo yes || echo no
-nt	##文件1是不是比文件2新	[ "/mnt/file" -nt "/mnt/file1" ] && echo yes || echo no
-ot	##文件1是不是比文件2老	[ "/mnt/file" -ot "/mnt/file1" ] && echo yes || echo no
-d	##目录
-S	##套接字
-L	##软连接		ln -s
-e	##存在		[ -e "/mne/qq" ] && echo yes || echo no
-f	##普通文件	[ -f "/mnt/qq1" ] && echo yes || echo no
-b	##快设备		[ -b "/dev/vda" ] && echo yes || echo no
-c	##字符设备	[ -c "/dev/pts/0" ] && echo yes || echo no

 八. && ||

&&表示成功
||表示不成功

测试 :

        编写脚本file_check.sh在执行时,如果脚本后未指定检测文件报错“未指定检测文件,请指定”,如果脚本后面指定文件不存在,报错“此文件不存在”,当文件存在时清检测文件类型并显示到输出中

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值