Shellshell中的常用基础命令

Posted S4061222

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shellshell中的常用基础命令相关的知识,希望对你有一定的参考价值。


一、 diff

实验环境:
在这里插入图片描述

1.用法:

  • 用法
    diff [options] files | directorys
  • 输出信息:
    [num1,um2] [a|c|d] [num3,num4]
字符含义
num1,num2第一个文件中的行
a添加
c更改
d删除
<第一个文件中的内容
>第二个文件中的内容
num3,num4第二个文件中的行

diff westos westos.new ##westos文件添加westos.new文件中的第3行,内容一致

2a3表示westos文件的第2行,westos.new文件的第3行
>表示westos.new文件包含,westos文件不包含

在这里插入图片描述

diff westos westos.new ##westos文件修改第2行,和 westos.new 文件一致

2c3表示westos文件的第2行,westos.new文件的第2行,westos文件添加
<表示westos文件
>表示westos.new文件

在这里插入图片描述

diff westos.new westos ##westos.new删除第3行,与westos一致

3d2表示westos.new 文件的第3行,westos 文件的第2行,
<表示westos.new文件
在这里插入图片描述

2.常用参数

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

diff -b westos westos.new ##忽略空格对比信息

在这里插入图片描述

diff -b westos westos.new ##忽略空行对比信息

在这里插入图片描述

diff -i westos westos.new ##忽略大小写对比信息

在这里插入图片描述

diff -i westos westos.new ##显示所有的对比信息

在这里插入图片描述

diff -r westos westos.new ##对比深层目录的内容

在这里插入图片描述

diff -u westos westos.new ##合并信息

在这里插入图片描述

二、 patch

1. diff -u westos westos.new > westos.path ##合并的信息输出成补丁文件

在这里插入图片描述

2. patch 原文件 布丁文件

用补丁文件对原文件补全信息;之前的文件会被替代

在这里插入图片描述

3. patch -b westos westos.new

用补丁文件对westos文件补全信息;生成一个 .orig 的源文件(备份)

在这里插入图片描述

三、cut

实验环境:

在这里插入图片描述

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

cut -d : -f 6 passwd ##用 : 来分割,显示第6列信息

在这里插入图片描述

cut -d : -f 1-3 passwd ##用 : 来分割,显示第1-3列信息

在这里插入图片描述

cut -d : -f 1,3 passwd ##用 : 来分割,显示第1和3列信息

在这里插入图片描述
cut -d : -f -3 passwd ##用:分割,显示第3列之前的信息
在这里插入图片描述

cut -d : -f 3- passwd ##用:分割,显示第3列之后的信息

在这里插入图片描述

cut -c 1-4 passwd ##截取 1-4 个字符信息

在这里插入图片描述

四、sort

实验环境:
在这里插入图片描述

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

1. sort westos ##第一列排序

在这里插入图片描述

2. sort -r westos ##第一列倒叙

在这里插入图片描述

3. sort -rn westos ##纯数字倒叙排序

在这里插入图片描述
实验环境:
在这里插入图片描述

在这里插入图片描述

4. sort -t:-k 2 -n westos ##用分割符:对内容进行分割,对第2列按照纯数字进行排序

在这里插入图片描述

5. sort -t:-k 2 -n westos ##用分割符:对内容进行分割,对第2列按照纯数字进行倒叙排序

在这里插入图片描述

6. sort -t:-k 2 -nru westos ##用分割符:对内容进行分割,对第2列按照纯数字进行倒叙排序,指定到file文件

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

五、uniq

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

1. sort -n westos | uniq -d ##纯数字排序,显示重复的行

2. sort -n westos | uniq -u ##纯数字排序,显示唯一的行

3. sort -n westos | uniq -c ##纯数字排序,合并重复并统计重复个数

在这里插入图片描述

六、tr

命令含义
tr ‘a-z’ ‘A-Z’小写转大写
tr ‘A-Z’ ‘a-z’大写转小写

替换单个字符
在这里插入图片描述
在这里插入图片描述

七、test

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

1.test数字对比

字符含义
取反
!=不等于
-eq等于
-ne不等于
-le小于等于
-lt小于
-ge大于等于
-gt大于

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

2. test 的条件关系

参数含义
-a并且
-o或者

在这里插入图片描述

3. test对空的判定

参数含义
-nnozero 判定内容不为空
-zzero 判定内容为空

在这里插入图片描述

4. test 对于文件的判定

参数含义
-ef文件节点号是否一致(硬链)
-nt文件1是不是比文件2新
-ot文件1是不是比文件2老
-d目录
-S套结字
-L软链接
-e存在
-f普通文件
-b块设备
-c字符设备

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

八、&& 和 ||

1. && 符合条件作动作

2. || 不符合条件作动作

在这里插入图片描述

九、练习

1. 截取ens3网卡的ip

ifconfig ens3 | grep "inet" | cut -d " " -f 10
ifconfig ens3 | cut -d " " -f 10 | head -n2 |tail -n1
ifconfig ens3 | awk '/inet\\>/{print $2}'

在这里插入图片描述

2. 显示出现次数最多的数字

方法一:
在这里插入图片描述方法二:
在这里插入图片描述在这里插入图片描述

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

在这里插入图片描述

4. 判断 westos 用户是否存在

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

5. ping ip,ping不通,输出ping is up,ping通,输出ping is down

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

6. file_check.sh脚本:

编写脚本完成以下条件
file_check.sh 在执行时
如果脚本后未指定检测文件报错“未指定检测文件,请指定”
如果脚本后指定文件不存在报错“此文件不存在”
当文件存在时请检测文件类型并显示到输出中
在这里插入图片描述在这里插入图片描述sh -x 脚本运行多少次,才能找到匹配结果输出
在这里插入图片描述

以上是关于Shellshell中的常用基础命令的主要内容,如果未能解决你的问题,请参考以下文章

Shellshell脚本的基础知识

Shellshell脚本中的变量

Linux学习:shell基础知识

Shell基础知识

shell脚本简介及常用文本编辑命令

Linux常用简单命令