linux高级篇基础理论(详细文档)二

♥️作者:小刘在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/147294.html

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

相关文章

技术贴 | SQL 执行 - 执行器优化

本期技术贴主要介绍查询执行引擎的优化。查询执行引擎负责将 SQL 优化器生成的执行计划进行解释&#xff0c;通过任务调度执行从存储引擎里面把数据读取出来&#xff0c;计算出结果集&#xff0c;然后返回给客户。 在关系型数据库发展的早期&#xff0c;受制于计算机 IO 能力的…

Live800:客服行业的发展历程及未来前景

随着信息技术和互联网的高速发展&#xff0c;客服行业也在不断变革和发展。客服行业是一个服务型的行业&#xff0c;其发展历程也与人们对服务需求的变化密切相关。本文将介绍客服行业的发展历程和未来前景。 客服行业的发展历程 20世纪70年代&#xff0c;客服行业主要以电话服…

SAM分割模型的5个典型用例

Meta AI 于2023 年推出的分割任意模型 (SAM) 彻底改变了我们对图像分割的质量标准。 给定输入图像&#xff0c;SAM 尝试分割图像中的所有对象并生成分割掩模。 使用 SAM&#xff0c;你可以分割对象&#xff0c;然后&#xff0c;可以使用模型来利用该信息&#xff0c;例如用于为…

【开源】基于Vue.js的校园二手交易系统的设计和实现

目录 一、摘要1.1 项目介绍1.2 项目详细录屏 二、功能模块2.1 数据中心模块2.2 二手商品档案管理模块2.3 商品预约管理模块2.4 商品预定管理模块2.5 商品留言板管理模块2.6 商品资讯管理模块 三、实体类设计3.1 用户表3.2 二手商品表3.3 商品预约表3.4 商品预定表3.5 留言表3.6…

μC/OS-II---时间管理(os_time.c)

目录 时间管理相关&#xff08;os_time.c&#xff09;Task延迟按时、分、秒、毫秒延时恢复被延时的Task返回系统当前的Tick计数值设置系统的Tick计数值 时间管理相关&#xff08;os_time.c&#xff09; Task延迟 void OSTimeDly (INT32U ticks) {INT8U y; #if OS_CRITI…

Kibana:使用 “链接” 面板简化 Kibana 仪表板导航 - Links panel

作者&#xff1a;Teresa Alvarez Soler 我们很高兴地宣布 Kibana 仪表板的最新功能版本&#xff1a;链接面板&#xff08;Links panel&#xff09;&#xff0c;这是在仪表板之间组织和导航的简单方法。 此功能在 Kibana 8.11 的技术预览版中提供。 有时你可能希望创建多个主题…

Rust实战教程:构建您的第一个应用

大家好&#xff01;我是lincyang。 今天&#xff0c;我们将一起动手实践&#xff0c;通过构建一个简单的Rust应用来深入理解这门语言。 我们的项目是一个命令行文本文件分析器&#xff0c;它不仅能读取和显示文件内容&#xff0c;还会提供一些基础的文本分析&#xff0c;如计算…

IDEA-git commit log 线

一、本地代码颜色标识 红色&#xff1a;新建的文件&#xff0c;没有add到git本地仓库蓝色&#xff1a;修改的文件&#xff0c;没有提交到git远程仓库绿色&#xff1a;已添加到git本地仓库&#xff0c;没有提交到git远程仓库灰色&#xff1a;删除的文件&#xff0c;没有提交到g…

常见限流算法解读

目录 前言 固定窗口&#xff08;计算器法&#xff09; 滑动窗口 漏桶算法 令牌桶算法 总结 前言 在现在的互联网系统中有很多业务场景&#xff0c;比如商品秒杀、下单、数据查询详情&#xff0c;其最大特点就是高并发&#xff0c;但是我们的系统通常不能承受这么大的流…

【Azure 架构师学习笔记】-Azure Storage Account(6)- File Layer

本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Storage Account】系列。 接上文 【Azure 架构师学习笔记】-Azure Storage Account&#xff08;5&#xff09;- Data Lake layers 前言 上一文介绍了存储帐户的概述&#xff0c;还有container的一些配置&#xff0c;在…

Kibana:作为非设计师设计直观的 Kibana 仪表板

作者&#xff1a;Carly Richmond, Marco Vettorello, Giovanni Magni 开发人员、SRE 工程师和才华横溢的技术人员通常需要构建快速仪表板来展示有关其应用程序状态的重要信息&#xff0c;这些信息可供混合受众使用。 如果你不是前端开发人员或设计师&#xff0c;那么构建所有人…

vue echart 立体柱状图 带阴影

根据一个博主代码改编而来 <template><div class"indexBox"><div id"chart"></div></div> </template><script setup> import * as echarts from "echarts"; import { onMounted } from "vue&…

二叉树-堆(9.10)

接上节内容 目录 3.3 堆的实现 3.2.1 堆向下调整算法 3.2.2大堆的创建 3.4 堆的应用 3.4.1 堆排序 3.4.2 TOP-K问题 ​编辑 二叉树的性质 练习 4.二叉树链式结构的实现 4.1 前置说明 4.2二叉树的遍历 4.2.1 前序、中序以及后序遍历 4.3 节点个数以及高度等 4.3…

算不上最全,但都是必备——Mybatis这些不会不行啊

Mybatis篇 ORM&#xff08;Object Relational Mapping&#xff09;&#xff0c;对象关系映射&#xff0c;是一种为了解决关系型数据库数据与简单Java对象&#xff08;POJO&#xff09;的映射关系的技术。简单的说&#xff0c;ORM是通过使用描述对象和数据库之间映射的元数据&am…

天气越来越寒冷,一定要注意保暖

你们那里下雪了吗&#xff1f;听说西安已经下了今年的第一场雪&#xff0c;我们这里虽然隔了几百公里&#xff0c;但是只下雨没有下雪&#xff0c;不过气温是特别的冷&#xff0c;尤其是对我们这些上班族和上学的人而言&#xff0c;不管多冷&#xff0c;不管刮风下雨&#xff0…

根据店铺ID或店铺昵称或店铺链接获取阿里巴巴店铺所有商品数据接口|阿里巴巴店铺整店商品数据接口|阿里巴巴API接口

阿里巴巴店铺所有商品数据接口是阿里巴巴开放平台提供的API接口之一&#xff0c;它可以帮助开发者获取到店铺内所有商品的信息&#xff0c;包括商品的ID、标题、价格、图片、链接等。通过该接口&#xff0c;开发者可以快速地获取到大量的商品数据&#xff0c;并进行进一步的数据…

自定义注解实现服务的动态开关

shigen日更文章的博客写手&#xff0c;擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。记录成长&#xff0c;分享认知&#xff0c;留住感动。 &#x1f9d1;‍&#x1f4bb;&#x1f9d1;‍&#x1f4bb;&#x1f9d1;‍&#x1f4bb;Make things differe…

matlab语言的由来与发展历程

MATLAB语言的由来可以追溯到1970年代后期。当时&#xff0c;Cleve Moler教授在New Mexico大学计算机系担任系主任&#xff0c;他为了LINPACK和EISPACK两个FORTRAN程序集开发项目提供易学、易用、易改且易交互的矩阵软件而形成了最初的MATLAB。 1984年&#xff0c;MATLAB推出了…

JVM 内存区域

JVM内存结构模型 程序计数器&#xff1a; 1.线程私有的&#xff0c;是一块较小的内存空间&#xff0c;当前线程所执行的字节码的行号指示器 2.每个线程都有一个独立的程序计数器&#xff0c;各线程之间程序计数器互不影响&#xff0c;独立存储 3.此内存区域是唯一一个在java虚拟…

C++ vector中capacity()和size() 的区别

文章目录 1 capacity()和size() 介绍2 vector满了之后&#xff0c;capacity()会自动了扩充为原来的2倍 &#xff1f; 1 capacity()和size() 介绍 size是指容器当前拥有元素的个数&#xff0c; capacity是指容器在必须分配新的存储空间之前可以存放的元素总数。 如vector<i…