Linux中的脚本编辑基础

本文深入探讨了Shell的基本知识及应用,包括Shell脚本的创建、比较文件或目录的不同、使用patch补丁、diff命令参数、cut命令使用、sort命令应用、逻辑运算符&&和||、test命令操作、tr命令转换大小写等核心内容。

一、shell 的基本知识

1.shell 的定义

shell 是操作系统中的一个软件,它包在linux 内核的外面,为用户和内核之间的交互提供了一个接口,系统中的命令用shell 去解释,shell 接受系统回应的输出并显示到屏幕中

2.shell 脚本的定义

脚本是一种解释型语言,用shell脚本保存执行动作,用脚本判定命令的执行条件,用脚本来实现动作的批量执行。

3.Unix系统中常见的shell有:sh、csh、ksh、tcsh、bash

二、shell 的应用

1.shell 脚本的创建

call 表示调用     以下设置只针对新脚本有用

测试:

2.比较两个文件或目录的不同 (diff )

只显示两个文件的不同之处

a  表示添加 add

c 表示更改 change

d 表示删除 delete

< 表示第一个文件中的内容

>表示第二个文件中的内容

创建两个不同的文件

在第一个文件的第一行添加123 才能匹配第二个文件内容

vim file

两个文件的第二行不同

将第一个文件的第二行更改为123后才能与第二个文件相匹配

3.patch 补丁

安装 patch

yum install patch -y

整合两个不同的文件,生成补丁

生成补丁文件 file.path

使用补丁 (不备份)

-b可以备份file 的原始文件

4.diff中使用的参数

-b 不检测空格字符的不同

-B不检测空格行的不同

-c 显示全部内容,并标明不同之处

-i 不检测大小写的不同

-q仅显示有无差异,不显示详细信息

-r 比较子目录中文件

5.cut 的使用

cut 命令多用于字符截取

-d 指定分隔符         -f 指定截取的列

截取1到3列

截取1列和3列

-c 指定截取的字符位置      截取第二个和第三个字符

截取第二个到第五个字符

6.sort命令的使用  多用于字符的排序

-o 表示输出到指定文件

对第一个字符排序

-n 表示纯字数排序

-r 倒序

-u 去掉重复数字

排序并统计文件内容重复次数

-t 指定分隔符       -k 指定要排序的列

uniq -c 每行显示一次并统计重复次数

uniq -d  显示重复的行

uniq -u 显示唯一的行

三、&&和||

&& 用来执行条件成立后执行的命令

||    用来执行条件不成立后执行的命令

编写脚本  若ip可以ping通,则显示 yes  若不通,则显示no

四、test 命令

test 命令和[ ]等同   如:test "$A" ="$B"  等同 ["$A"="$B"]

如果 a=b 则显示yes 如果不是显示no

如果a=b 则显示yes 如果不是显示no

!= 表示为 不等于 如果a不等于b则显示yes,如果不是则显示no

-eq 表示等于

-ne 表示不等于

-gt 表示大于

-lt 表示小于

-le 小于等于

-ge 大于等于

a 大于0且小于10

-z 表示为空

-n 表示不为空

-ef 判断节点相不相等

ln 制作链接

查看节点

file 比 file1 创建的早

file 比 file1 创建的晚

-e 判断文件是否存在

-d 判断是不是目录

-f 判断是否为普通文件

-L 判断是否为链接

-b 块设备

-S 判断是否为套结字

-c 字符设备

编写脚本,判断文件是否存在,若存在,判断它是什么类型的文件

测试

tr 'A-Z' 'a-z'  表示将大写转化为小写

tr 'a-z' 'A-Z'  表示将小写转化为大写

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. Linux 脚本编写基础 1.1 语法基本介绍 1.1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh   符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。   当编辑脚本时,如果要执行该脚本,还必须使其可执行。   要使脚本可执行: 编译 chmod +x filename 这样才能用./filename 来运行 1.1.2 注释   在进行shell编程时,以#开头的句子表示注释,直到这一行的结束。我们真诚地建议您在程序中使用注释。   如果您使用了注释,那么即使相当长的时间内没有使用该脚本,您也能在很短的时间内明白该脚本的作用及工作原理。 1.1.3 变量   在其他编程语言中您必须使用变量。在shell编程中,所有的变量都由字符串组成,并且您不需要对变量进行声明。要赋值给一个变量,您可以这样写: #!/bin/sh #对变量赋值: a="hello world" # 现在打印变量a的内容: echo "A is:" echo $a 有时候变量名很容易与其他文字混淆,比如: num=2 echo "this is the $numnd" 这并不会打印出"this is the 2nd",而仅仅打印"this is the ",因为shell会去搜索变量numnd的值,但是这个变量时没有值的。可以使用花括号来告诉shell我们要打印的是num变量: 网管u家u.bitsCN.com num=2 echo "this is the ${num}nd"   这将打印: this is the 2nd 1.1.4 环境变量 由export关键字处理过的变量叫做环境变量。我们不对环境变量进行讨论,因为通常情况下仅仅在登录脚本中使用环境变量。 1.1.5 Shell命令和流程控制 在shell脚本中可以使用三类命令:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值