linux高级篇基础理论二(详细文档、LAMP、SHELL、sed正则表达式)

♥️作者:小刘在C站

♥️个人主页: 小刘主页 

♥️不能因为人生的道路坎坷,就使自己的身躯变得弯曲;不能因为生活的历程漫长,就使求索的  脚步迟缓。

♥️学习两年总结出的运维经验,以及思科模拟器全套网络实验教程。专栏:云计算技术

♥️感谢CSDN让你我相遇!

本专栏没有元气满满的图片只有运维人员辛苦和汗水总结的干货理论

目录

LAMP

1、执行脚本的方法:

2、完善的脚本构成:

3、重定向

4、管道符:  |

5、awk 命令 :

6.变量的类型

7.自定义变量

8、给变量赋值时使用的引号:

9、从键盘输入内容给变量赋值:

10、设置作用范围:(输入为全局变量)

11、整数变量的运算

12、环境变量:

13、位置变量

14、预定义变量

shell测试选项(重点)

1、条件测试操作的方法

2、文件测试

3、整数值比较

4、字符串比较

5、逻辑测试:

编程四大语句(重点)

1、if语句的结构(条件判断语句)

(1)单分支

(2)双分支

(3)多分支

2、for循环语句的结构:

3、while循环语句的结构:

4、case语句结构:(用于多分支)

for和while的区别

正则表达式(重点)

1、正则表达式定义:

2、正则表达式组成

3、正则表达式的类型:

4、元字符的总结

5、sed命令的作用

6、sed的用法:


LAMP

1、LAMP的作用:
一种企业网站应用模式,可提供动态web网站

2、LAMP构成组件
linux、Apache、MySQL、PHP/perl/python
安装顺序:先L再A和M,最后P

3、LAMP的优势
成本低廉
可定制、易于开发
方便易用、安全和稳定

4、phpmyadmin系统的作用:用来管理MySQL数据库的web应用系统(图形界面)


shell(重点)

1、执行脚本的方法:

方法一:直接执行脚本文件(必须为决对路径需要x权限)
    ./脚本文件    或    /路径/脚本文件
方法二:sh    /路径/脚本文件
方法三:source    /路径/脚本文件
    备注:source也可以用 . 来代替

2、完善的脚本构成:

脚本声明


注释信息
可执行语句

3、重定向

输入重定向:  <
输出重定向(正确):
 >   覆盖  
>>  追加
错误输出重定向:
2>     覆盖
2>>  追加
混合输出(错误和正确):&>

4、管道符:  |

将上一个命令的输出当做下一个命令的输入

5、awk 命令 :

在一行中提取需要的字段。
例:awk   -F :  '{print $1,$7}'

grep : 在一个文件中过滤出符合条件的行。

6.变量的类型

自定义变量:由用户自己定义、修改和使用
环境变量:由系统维护,用于设置工作环境
位置变量:通过命令给脚本程序传递参数
预定义变量:Bash中内置的一类变量,不能直接修改

7.自定义变量

变量名=变量值
查看变量的值:  echo   $变量名

8、给变量赋值时使用的引号:

双引号:允许通过$符号引用其他变量值(“”)
单引号:禁止引用其他变量值,$视为普通字符(‘’)
反撇号:命令替换,提取命令执行后的输出结果(``),可以用$代替。
$()   //命令替换,直接在括号中输入命令

9、从键盘输入内容给变量赋值:

read -p "提示信息" 变量名

10、设置作用范围:(输入为全局变量)

方法一:export  变量名          //无$开头
方法二:export  变量名=变量值67

11、整数变量的运算

expr   变量1     运算符     变量2     
常用运算符:
    加法运算:+
    减法运算:-
    乘法运算:\*
    除法运算:/
    求模(取余)运算:%

12、环境变量:

查看环境变量(全局变量):env
常见的环境变量:
    PWD:保存了当前工作路径
    PATH:保存了命令搜索的路径
    USER:保存了当前登录的用户
    SHELL:保存了当前登录的shell
    HOME:保存了当前登录用户的宿主目录

13、位置变量

$1$2....$9,总共9个位置变量

14、预定义变量

$#:命令行中位置变量的个数
$*:所有位置变量的内容
$@:所有位置变量分别单独的区分
$?:上一条命令执行后返回的状态,当返回状态值为0时表示执行正常,非0值表示执行异常或出错
$0:当前执行的进程/程序名

shell测试选项(重点)

1、条件测试操作的方法

语法一:test  条件表达式
语法二:[ 条件表达式 ]  //前后有空格

2、文件测试

[ 操作符   文件或目录 ]
操作符:
-d :是否为目录
-e :目录或文件是否存在
-f :是否为文件
-r :当前用户是否有读取权限
-w :当前用户是否有写入权限
-x :当前用户是否有执行权限

3、整数值比较

[ 整数1   操作符   整数2 ]
操作符:
-eq : 等于
-ne : 不等于
-gt : 大于
-ge : 大于或等于
-lt : 小于
-le : 小于或等于

4、字符串比较

= :字符串内容相同
!:字符串内容不同、!号表示相反的意思
-z:字符串内容为空

5、逻辑测试:

方法一:[ 表达式1 ] 操作符  [ 表达式2 ]
方法二:命令1   操作符   命令2
操作符:
&&:逻辑与,“而且”的意思
||:逻辑或:“或者”的意思
!:逻辑否


编程四大语句(重点)

1、if语句的结构(条件判断语句)

(1)单分支


if   条件测试
     then
    命令序列
fi


(2)双分支

if   条件测试
     then
    命令序列
     else
    命令序列
fi


(3)多分支

if  条件测试1
     then
    命令序列1
elif  条件测试2
     then
    命令序列
else    
    命令序列
fi


2、for循环语句的结构:


for  变量名  in   取值列表
do
    命令序列
done

3、while循环语句的结构:

while  条件测试
do
命令序列
done

4、case语句结构:(用于多分支)

case  变量值  in
模式1)
    命令序列1
    ;;
模式2)
    命令序列2
    ;;
...
*)
默认命令序列
esac

for和while的区别

for:控制循环来自于取值列表。
while:控制循环来自于条件测试。


正则表达式(重点)

1、正则表达式定义:

是使用单个字符来描述、匹配一系列符合某个语法规则的字符串

2、正则表达式组成

(1)普通字符
大小写字母、数字、标点符号及一些其他符合
(2)元字符
在正则表达式中具有特殊意义的专用字符

3、正则表达式的类型:

(1)基础正则:grep
(2)扩展正则:egrep

4、元字符的总结

^:已…开头
$:已…结尾
. :匹配任意单个字符
*:重复前面的字符
\:转义字符
[ ]:在中括号中的任意一个
[^ ]:除了中括号中的任意一个
{数字 }:连续重复的字符

5、sed命令的作用

对文本内容进行编辑(删除,替换,添加,移动等)

6、sed的用法:

sed    选项      ‘操作’     /路径/文件名
选项:
-e  :用指定命令或脚本来处理输入的文本文件。
-i   :直接编辑文本文件
-n  :仅显示处理后的结构
操作:
a   :增加,在当前行下面增加一行指定的内容。
c   :替换,将选定的行替换为指定内容。
d   :删除,删除选定的行
p   :打印,屏幕显示结果
s    :替换,替换指定字符

人生要尽全力度过每一关,不管遇到什么困难不可轻言放弃!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/151728.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Coder OSS Enterprise 2.3.3 Crack

Coder OSS Enterprise是一个开源开发平台&#xff0c;旨在简化开发人员的编码流程。该平台专为企业级组织设计&#xff0c;具有针对大规模软件开发运营量身定制的功能。 首先&#xff0c;该软件提供了一个云环境&#xff0c;允许开发人员在任何地方使用任何设备处理他们的代码。…

Vue中el与data的两种写法

想必大家对Vue中的el与data并不陌生&#xff0c;接下来&#xff0c;让我为大家介绍一下el与data的两种写法吧&#xff01; 一、el的两种写法 1.new Vue时候配置e1属性。 2.先创建Vue实例&#xff0c;随后再通过vm.$mount(#root)指定el的值 <!DOCTYPE html> <html l…

结构工程师软件 Naviate Core MEP for Revit 3.4 Crk

Naviate Fabrication - 先进的建模和制造命令&#xff0c;可提高 VDC 设计师、细节设计师和承包商的生产力和收入。 Naviate MEP - 通过 MEP 工程师和设计师的建模和参数提高效率 导航架构 Naviate Architecture 完全集成到 Revit 平台中&#xff0c;增强了 BIM 提供的协作可能…

工业除尘器笔记

工业除尘器用于对工业生产产生的有害气体和粉尘进行吸附。相关标准的制定最早可以追溯到1960年代以前。注意&#xff0c;本文的附录包含一起完整的工业除尘器事故的分析和定责过程。相关事故分析定责文档源头摘自上海市政府网站。 在产品设计行业和关联下游行业&#xff0c;在…

java--俄罗斯方块

一、先看一下游戏运行时的画面 二、代码部分 1. Cell.java Cell.java&#xff1a; package demo1;import java.awt.image.BufferedImage; import java.util.Objects;/* 编写小方块类属性&#xff1a;行、列、每个小方格的图片方法&#xff1a;左移一格、右移一格、下落一格 …

【 云原生 | K8S 】kubeadm 部署Kubernetes集群

目录 1 环境准备 2 所有节点安装docker 3 所有节点安装kubeadm&#xff0c;kubelet和kubectl 4 部署K8S集群 4.1 查看初始化需要的镜像 4.2 初始化kubeadm 4.3 设定kubectl 4.4 所有节点部署网络插件flannel master&#xff08;2C/4G&#xff0c;cpu核心数要求大于2&am…

第一讲之递归与递推下篇

第一讲之递归与递推下篇 带分数费解的开关飞行员兄弟翻硬币 带分数 用暴力将所有全排列的情况都算出来 > 有三个数&#xff0c;a,b,c 每种排列情况&#xff0c;可以用两层for循环&#xff0c;暴力分为三个部分&#xff0c;每个部分一个数 当然注意这里&#xff0c;第一层fo…

Linux常用命令——bzdiff命令

在线Linux命令查询工具 bzdiff 直接比较两个.bz2压缩包中文件的不同 补充说明 bzdiff命令用于直接比较两个“.bz2”压缩包中文件的不同&#xff0c;省去了解压缩后再调用diff命令的过程。 语法 bzdiff(参数)参数 文件1&#xff1a;指定要比较的第一个.bz2压缩包&#xf…

《洛谷深入浅出基础篇》P1536 村村通——并查集

上链接&#xff1a;P1536 村村通 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/problem/P1536 上题干&#xff1a; 题目描述 某市调查城镇交通状况&#xff0c;得到现有城镇道路统计表。表中列出了每条道路直接连通的城镇。市政府 "村村通工程…

全民运动时代,气膜建筑备受瞩目

气膜体育场馆&#xff0c;作为当今新型的临时建筑运动场馆&#xff0c;在满足大型体育赛事需求方面展现出显著的优势。相较于传统体育场馆&#xff0c;气膜建筑不仅拥有更宽敞的空间&#xff0c;而且造价成本更为经济&#xff0c;成为体育场馆领域备受关注的建筑形式。 气膜建筑…

郑州市管城区工信局局长任华民一行莅临中创算力调研指导工作

2023年11月15日&#xff0c;为深入了解企业生产经营情况&#xff0c;解决发展诉求。郑州市管城区工信局局长任华民等领导一行莅临中创算力&#xff0c;中创副总经理杨光、技术总监刘朝阳、行政主管生田等人员陪同调研。 调研期间&#xff0c;双方就生产经营、“算力数据中心”…

基于SSM的校园二手物品交易市场设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;Vue 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#xff1a;是 目录…

界面组件DevExpress Reporting v23.1亮点 - 全新升级报表查看器

DevExpress Reporting是.NET Framework下功能完善的报表平台&#xff0c;它附带了易于使用的Visual Studio报表设计器和丰富的报表控件集&#xff0c;包括数据透视表、图表&#xff0c;因此您可以构建无与伦比、信息清晰的报表 界面组件DevExpress Reporting v23.1已经发布一段…

如何快速找到华为手机中下载的文档

手机的目录设置比较繁杂&#xff0c;尤其是查找刚刚下载的文件&#xff0c;有时候需要捣鼓半天&#xff0c;如何快速找到这些文件呢&#xff1f;以下提供了几种方法&#xff1a; 方法一&#xff1a; 文件管理-》搜索文档 方法二&#xff1a; 文件管理-》最近 方法三&#xf…

BMS系统项目

1、通过电压监测是否冲满&#xff0c;通过电压可以监测是否放完电 电池得参数 单体过压&#xff08;充满电&#xff09; 过压恢复&#xff08;百分之90多&#xff09; 欠压保护&#xff08;百分之几得电&#xff0c;快关机了&#xff09; 欠压恢复&#xff08;就是欠压之上…

阿里云轻量应用服务器特价87元和165元1年测评,看看是否值得购买

2023年11月&#xff0c;阿里云推出了两款特价轻量应用服务器&#xff0c;2核2G4M特惠价格只要87元1年&#xff0c;2核4G5M特惠价格只要165元1年&#xff0c;那么这两款轻量应用服务器到底怎么样呢&#xff1f;可以用来做什么&#xff1f;是否值得购买呢&#xff1f;下面我们一起…

(四)什么是Vite——冷启动时vite做了什么(源码、middlewares)

vite分享ppt&#xff0c;感兴趣的可以下载&#xff1a; ​​​​​​​Vite分享、原理介绍ppt 什么是vite系列目录&#xff1a; &#xff08;一&#xff09;什么是Vite——vite介绍与使用-CSDN博客 &#xff08;二&#xff09;什么是Vite——Vite 和 Webpack 区别&#xff0…

python递归求数字各个位数相加_和

python递归求数字的各项和&#xff0c;例如数字一千零二十四&#xff1a;“1024”&#xff0c;输出结果为“10247” 第一种方法&#xff1a; def sum(a): #求一个数字各项和&#xff0c;第一种递归方法if 0<a<9: #从前到最后一个&#xff0c;出循环…

swiper垂直方向全屏实现鼠标滚轮滚动一下切换一屏

效果 20231116092014 添加mousewheelControl: true,这个属性即可 <div class"swiper-container"><div class"swiper-wrapper"><div class"swiper-slide" > <div class"" style"height: 100%; background-…

一个前端非侵入式骨架屏自动生成方案

目录 背景 现有方案调研 侵入业务式手写代码 非侵入业务式手写代码 非侵入式骨架屏代码自动生成 技术方案 设计原则 架构图 骨架屏生成 骨架屏注入 优化点 部分技术细节解析 puppeteer 文本块处理 图片块处理 a 标签处理 自定义属性处理 首屏HTML处理 首屏样…