【Linux】从零开始的运维生活02

一.VIM

1.VIM的一些命令(请牢记wq)

1.1默认模式下

A:在光标这一行的末尾进入编辑模式

a:在光标的字节后面进入编辑模式

i:在光标出进入编辑模式

u:撤销

::进入命令模式

ZZ:保存并退出

ZQ:不保存并退出

1.2编辑模式

ESC:退出编辑模式进入默认模式

1.3命令模式

wq:保存并退出

w!:保存但不退出

set nu:显示行

二.CAT,TAIL,MORE

1.cat

可以查看文本内容

2.nl

显示行号

3.more

可以实现分页查看文件

4.head

显示最前面行

5.tail

与head相反,从尾开始

6.cut

提取文本

三.正则表达式

由一些特殊字符及文本字符组成,被很多程序和开发语言所广泛支持:vim,less,grep,sed,awk,nginx,mysql 等。

*:任意字符。

.*:任意长度的任意字符

四.GREP,SED,AWK

1.grep

查找文本

例:

2.sed

同样也是查找,但功能相比grep更丰富。

-r可以识别正则表达式

s//p可以查找特定内容

例:

和cut一起也可以查找特定的几行几列

例:

3.awk

awk文本处理,也可以执行算数运算。

4.练习

三剑客-sed相关练习题 - 菜鸟儿~ - 博客园

4.1删除文件每行的第一个字符。

4.2删除文件每行的第二个字符。

4.3删除文件每行的最后一个字符

4.4删除文件每行的倒数第二个字符

4.5删除文件每行的第二个单词

4.6删除文件每行的倒数第二个单词

4.7删除文件每行的最后一个单词

4.8交换每行的第一个字符和第二个字符

4.9交换每行的第一个字符和第二个单词

4.10交换每行的第一个单词和最后一个单词

4.11删除一个文件中所有的数字

4.12删除每行开头的所有空格

4.13用制表符替换文件中出现的所有空格

4.14把所有大写字母用括号()括起来

4.15打印每行3次

4.16隔行删除

4.17只显示每行的第一个单词

4.18打印每行的第一个单词和第三个单词

太难了!想不出求大佬!!!

4.19将格式为 mm/yy/dd 的日期格式换成 mm;yy

五.程序的组成

1.总结程序的组成相关知识点

1.1程序

一种计算机能识别和执行的指令,运行于计算机上,满足人们某种需求的信息化工具。以某些程 序设计语言编写,运行于某种目标结构体系上。

1.2算法

解题方案的准确而完整的描述,是一系列解决问题的清晰指令,代表着用系统的方法描述解决 问题的策略机制。

1.3数据结构

计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素 的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。

1.4数据

程序的核心,程序为数据提供服务,也是互联网公司最重要的资产。

六.变量

1.总结变量命名规则

变量命名可以用字母和数字,但不能用数字开头,可以加入下划线‌,可以大写小写,一般对应的英语全拼或缩写,可以用驼峰式来命名。

2.不同类型变量(环境变量,位置变量,只读变量,局部变量,状态变量)如何使用

2.1探究变量

例:定义一个book变量赋值为mage

例:再定义个book2,将book2变量赋值为book的mage,再将book变量赋值改为danei,输出book2为mage。

//book2已写入book的mage,与book重新赋值danei没关系,book2一直为mage,除非book2=danei或再次执行book2=$book才book2为danei。

例:nums赋值为1到10

将echo {1..10}或者seq 1 10放入到``,才实现。

追加:

2.2环境变量

探究:

系统有的变量,再定义一个变量并写入:

执行并不会输出$test

加入export让test变成环境变量

2.3位置变量

$1,$2,$3...:对应第1个,第2个,第3个...的位置变量

$0:命令本身,包括路径

$*:传递给脚本的所有参数,全部参数合为一个字符串

$@:传递给脚本的所有参数,每个参数为独立字符串

$#:传递给脚本的参数的个数

例1:

例2:

利用vim的替换将color变量改为位置变量$1

同理将36m的36变为$2,方便自定义传参

位置变量传参测试

2.4只读变量

readonly

2.5局部变量

2.6状态变量

执行成功0为真,其余执行失败都为假。

七.练习题

1.编写一个脚本猜数字,每次提示用户比目标数字是大还是小,直到猜成功位置

思路

需要用户输入数字、跟目标数字大小、一直执行、直到猜对目标数字。

1.随机数:$RANDOM

2.大于:-gt、小于:-lt、等于:-eq

3.用read命令来接受输入

4.判断

if 判断条件1;

then 条件1为真的分支代码

elif 判断条件2;

then 条件2为真的分支代码

else

以上条件都为假的分支代码

fi

5.循环

until false; do

done

完善判断用户输入的数字在1-10内

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值