shell的常用命令

2 篇文章 0 订阅

一.什么是shell?
在计算机科学中,Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(命令解析器)。它类似于DOS下的command.com和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。同时它又是一种程序设计语言。作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。

二.shell 脚本中的常用命令
1.diff命令

diff 命令是用来比较两个文件或目录的不同
格式:diff   [options]   target1   target2
diff file1 file2比较两个文件的不同之处
diff direcory1 directory2比较两个目录的不同之处

diff  	-b 或 --ignore-space-change 		不检查空格字符的不同
		-B 或 --ignore-blank-lines 		不检查空白行
		-c 								显示全部内文,并标出不同之处
    	-i 或 --ignore-case 				不检查大小写的不同
		-p 	若比较的文件为 C 语言的程序码文件时,显示差异所在的函数名称
		-q 或 --brief 					仅显示有无差异,不显示详细的信息
		-r 或 --recursive 				比较子目录中的文件
		-u 								以合并的方式来显示文件内容的不同
		-q和-c的不同之处 		-c更智能一些

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

在这里插入图片描述
2.patch命令

Linux patch命令用于修补文件,用于文件不同文件打布丁,这个指令常与 diff 配合使用,diff 可以用来分辨两个版本之间的差异

yum install patch -y   						##安装打补丁的软件
diff -u westos1 westos2 > westos.patch      ##生成补丁文件westos.patch 
patch -b westos1 westos.patch   			##修补文件westos

1

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
3.cut命令:cut 命令多用于字符截取

cut -d 				指定分隔符
cut -f 1,7 			1-7
cut -c 1,4 			1-4 指定截取的字符位置

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

在这里插入图片描述

4.sort命令:sort多用于字符排序

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

vim westos(竖着写一些数字)
在这里插入图片描述

在这里插入图片描述
sort westos 仅对第一列数字排序

在这里插入图片描述
sort -n westos对数字排序

在这里插入图片描述

sort -nr westos对数字倒序排序

在这里插入图片描述

sort -nru westos去掉重复的数字对数字倒序排序

在这里插入图片描述

5.uniq命令:对重复的字符做相应的处理

uniq -u 	显示唯一的行
uniq -d 	显示重复的行
uniq -c 	每行显示一次并统计重复次数

sort -n westos | uniq -c 每个数字只显示一次,并且显示出现的次数

在这里插入图片描述
sort -n westos | uniq -d显示重复的行并且进行排序
在这里插入图片描述

sort -n westos | uniq -u显示唯一的行并且排序

在这里插入图片描述

6.&&(表示true条件为真)命令和||(表示false条件为假)命令

&&命令:用来执行条件成立后执行的命令
||命令: 用来执行条件不成立后执行的命令
在这里插入图片描述

在这里插入图片描述
7.test命令:test 是 Shell 内置命令,用来检测某个条件是否成立

test "$A" == "$B" 等同 [ "$A" == "$B" ]
[ "$A" = "$B" ]相等
[ "$A" != "$B" ]不相等
[ "$A" -eq "$B" ]等于
[ "$A" -ne "$B" ]不等于
[ "$A" -le "$B" ]小于等于
[ "$A" -lt "$B" ]小于
["$A" -ge "$B" ]大于等于
["$A" -gt "$B" ]大于
["$A" -ne "$B" -a "$A" -gt "$B" ]与条件(必须条件都满足才成立)
["$A" -ne "$B" -o "$A" -gt "$B" ]或条件(至少有一个条件满足才成立)
[-z "$A" ]判断是否为空,空为真,非空为假
[-n "$A" ]和条件相反就是真,非空为真,空为假
["file1" -ef "file2" ] 判断前后两个文件是否互相为硬链接
["file1" -nt "file2" ]判断前面的硬链接是否与新
["file1" -ot "file2" ]判断前面的硬链接是否旧
[-e "file" ]判断文件是否存在
[-f "file" ]判断文件是否为普通文件
[-L "file" ]是否为软链接
[-S "file" ]判断是否为套接字
[-b "file" ]判断是否为块设备
[-d "file" ]判断是否为目录
[-c "file" ]判断是否为字符设备

实验步骤如下

a=1
b=1
test "$a" = "$b" && echo yes || echo no

在这里插入图片描述
8.tr命令:tr是translate的简写,只能翻译单个字符,不能翻译句子
tr命令可以对来自标准输入的字符进行替换、压缩和删除。它可以将一组字符变成另一组字符

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值