08 2021 档案

摘要:GitLab容器搭建 # 创建GitLab容器# --restart always #重启,容器自动重启# --privileged=true #容器内使用root权限 [root@localhost ~]# docker run -d -p 443:443 -p 9001:80 -p 8022:2 阅读全文
posted @ 2021-08-31 22:31 葛老头 阅读(121) 评论(0) 推荐(0) 编辑
摘要:Jenkins初始化 step-1 访问Jenkins http://ip:80 step-2 查看密码、输入密码 # 方式一:通过查看容器日志 [root@localhost ~]# docker logs jenkins1 # 方式二:页面提示信息的路径查看,需要进入容器 root@7db433 阅读全文
posted @ 2021-08-31 21:08 葛老头 阅读(156) 评论(0) 推荐(0) 编辑
摘要:前言: 本文实操笔记参照菠萝笔记,安装过程中的坑大家可以参考下 创建Jenkins容器 # 下载Jenkins镜像 [root@localhost ~]# docker pull jenkins/jenkins # 创建Jenkins挂载到宿主机目录 [root@localhost ~]# mkdi 阅读全文
posted @ 2021-08-31 19:27 葛老头 阅读(343) 评论(0) 推荐(0) 编辑
摘要:前言 该篇操作笔记摘自小菠萝 Python项目中,一般都会有一个 requirements.txt 文件 这个文件主要是用于记录当前项目下的所有依赖包及其精确的版本号,以方便在一个新环境下更快的进行部署 如何生成 requirements.txt 方式一:进入项目根目录,执行以下命令 pip3 fr 阅读全文
posted @ 2021-08-31 17:03 葛老头 阅读(604) 评论(0) 推荐(0) 编辑
摘要:网络连通 背景 基于docker0建了两个容器tomcat01和tomcat02,网段位于172.12.0.0/16 我们又新建了一个网络,网段为192.168.0.0/16,基于此网段新建了两个容器tomcat-net-01和tomcat-net-02 问 不同网段的容器能否相互访问,例如tomc 阅读全文
posted @ 2021-08-31 10:29 葛老头 阅读(64) 评论(0) 推荐(0) 编辑
摘要:自定义网络 网络模式 bridge:桥接docker(默认,自己创建也可以使用bridge模式) none:不配置网络 host:和宿主机共享网络 container:容器网络联通!(用的少!局限性大) 测试 # 我们直接启动的命令 --net bridge,而这个就是我们的docker0 dock 阅读全文
posted @ 2021-08-30 20:59 葛老头 阅读(82) 评论(0) 推荐(0) 编辑
摘要:思考 思考一个场景,我们编写了一个微服务,database url=IP:,项目不重启,数据库ip换掉了,我们希望可以处理这个问题,可以使用名字来进行访问容器吗 实践 [root@localhost ~]# docker exec -it tomcat02 ping tomcat01 ping: t 阅读全文
posted @ 2021-08-30 20:28 葛老头 阅读(77) 评论(0) 推荐(0) 编辑
摘要:1.登录阿里云 2.找到容器镜像服务 3.创建命名空间 4.创建镜像仓库 5.上传镜像 阅读全文
posted @ 2021-08-30 19:59 葛老头 阅读(45) 评论(0) 推荐(0) 编辑
摘要:# step-1 注册账号 https://hub.docker.com/# step-2 在服务器尚提交我们的镜像[root@localhost WEB-INF]# docker login --helpUsage: docker login [OPTIONS] [SERVER]Log in to 阅读全文
posted @ 2021-08-30 19:24 葛老头 阅读(66) 评论(0) 推荐(0) 编辑
摘要:实战:DockerFile制作tomcat镜像 step-1 准备镜像文件 tomcat压缩包,jdk压缩包! step-2 编写dockerfile文件,官方命名Dockerfile,build会自动寻找这个文件,就不需要-f指定了 [root@localhost tomcat]# vim Doc 阅读全文
posted @ 2021-08-30 18:20 葛老头 阅读(117) 评论(0) 推荐(0) 编辑
摘要:CMD和ENTRYPOINT的区别 CMD # 指定这个容器启动的时候要运行的命令,只有最后一个会生效,可被替代 ENTRYPOINT # 指定这个容器启动的时候要运行的命令,可以追加命令 测试CMD # 编写 dockerfile文件[root@localhost dockerfile]# vim 阅读全文
posted @ 2021-08-30 15:09 葛老头 阅读(173) 评论(0) 推荐(0) 编辑
摘要:DockerFile常用指令 实战测试 DockerHub中99%镜像都是从这个基础镜像过来的FROM scratch,然后配置需要的软件和配置来进行构建 #创建一个自己的centos # 1.编写DockerFile的文件[root@localhost dockerfile]# cat mydoc 阅读全文
posted @ 2021-08-27 18:01 葛老头 阅读(81) 评论(0) 推荐(0) 编辑
摘要:DockerFile介绍 dockerfile是用来构建docker镜像的文件!命令参数脚本! 构建步骤 编写一个dockerfile文件 docker build构建成为一个镜像 docker run 运行镜像 docker push 发布镜像(DockerHub、阿里云镜像仓库!) 查看一下官方 阅读全文
posted @ 2021-08-27 16:24 葛老头 阅读(55) 评论(0) 推荐(0) 编辑
摘要:数据卷容器 什么是数据卷容器? 容器和容器之间实现数据共享 一个容器先于宿主机创建挂载方式,宿主机就会有改卷的目录 第二个容器使用命令--volumes-from 第一个容器,共享使用了第一个容器与宿主机创建的卷。第一个容器就被称之为数据卷容器 第三个容器使用命令--volumes-from 第一个 阅读全文
posted @ 2021-08-27 16:02 葛老头 阅读(122) 评论(0) 推荐(0) 编辑
摘要:初识Dockerfile Dockerfile就是用来构建docker镜像的构建文件!命令脚本! 通过这个脚本生成镜像,镜像是一层一层的,脚本与一个个的命令,每个命令都是一层! # 创建一个dockerfile文件,名字可以随机,建议Dockerfile# 文件中的内容主要有两部分:指令(大写)、参 阅读全文
posted @ 2021-08-26 21:53 葛老头 阅读(71) 评论(0) 推荐(0) 编辑
摘要:容器数据卷挂载方式 容器的数据卷可以看成就是容器的挂载方式;一个宿主机有多个容器,多个容器挂载方式不同,因此宿主机就有多个卷 每一个挂载方式在宿主机上都有一个名称,即卷名 宿主机如何查看这些卷,对使用匿名以及具名挂载的,没有给出宿主机路径的挂载方式,如何查看在本地的映射目录;对这些挂载方式(容器数据 阅读全文
posted @ 2021-08-26 20:29 葛老头 阅读(389) 评论(0) 推荐(0) 编辑
摘要:#获取镜像 [root@localhost ~]# docker pull mysql:5.7 #启动容器,需要做数据挂载!安装启动mysql,需要配置密码的,这是注意点! #官方安装文档:docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my- 阅读全文
posted @ 2021-08-26 18:04 葛老头 阅读(47) 评论(0) 推荐(0) 编辑
摘要:什么是容器数据卷 docker的理念回顾 将应用和环境打包成一个镜像 数据?如果数据都在容器中,那么我们容器删除,数据就会丢失!新增一个需求:数据可以持久化 MySQL,容器删了等于删库跑路!新增一个需求:MySQL数据可以存储在本地 容器之间可以有一个数据共享的技术!Docker容器中产生的数据, 阅读全文
posted @ 2021-08-26 17:17 葛老头 阅读(63) 评论(0) 推荐(0) 编辑
摘要:docker commit 提交容器成为一个新的副本,有点像套娃 # 命令和git原理类似 docker commit -m="提交的描述信息" -a="作者" 容器id 目标镜像名:[TAG] 实战测试 #step-1 启动一个默认的tomcat[root@localhost ~]# docker 阅读全文
posted @ 2021-08-26 16:20 葛老头 阅读(80) 评论(0) 推荐(0) 编辑
摘要:官网 https://documentation.portainer.io/v2.0-be/deploy/beinstalldocker/ 可视化 portainer docker run -d -p 8088:9000 --restart=always -v /var/run/docker.soc 阅读全文
posted @ 2021-08-26 15:44 葛老头 阅读(140) 评论(0) 推荐(0) 编辑
摘要:部署elasticsearch # es 暴露的端口很多 # es 十分的消耗内存 # es 的数据一帮需要放置到安全目录!通过挂载实现 # 👇DockerHub上安装文档,其中 --net somenetwork 选项是网络配置 # 启动 elasticsearch[root@localhost 阅读全文
posted @ 2021-08-26 15:12 葛老头 阅读(275) 评论(0) 推荐(0) 编辑
摘要:#官方的使用;我们之前的启动都是后台,停止容器后,容器还是可以看到#docker run -it --rm,一般用来测试,用完就会删除容器,镜像还在[root@localhost ~]# docker run -it --rm tomcat:9.0#实操#下载再启动[root@localhost ~ 阅读全文
posted @ 2021-08-26 11:26 葛老头 阅读(49) 评论(0) 推荐(0) 编辑
摘要:step-1 搜索镜像 使用search命令,建议去dockerhub上搜索,可以看到帮助文档 [root@localhost ~]# docker search nginx NAME DESCRIPTION STARS OFFICIAL AUTOMATED nginx Official build 阅读全文
posted @ 2021-08-25 21:10 葛老头 阅读(188) 评论(0) 推荐(0) 编辑
摘要:#橙色前面笔记已记录,黑色后面笔记将完善#勤加练习!!!attach Attach to a running container # 当前 shell 下 attach 连接指定运行镜像 build Build an image from a Dockerfile # 通过 Dockerfile 定 阅读全文
posted @ 2021-08-25 20:17 葛老头 阅读(49) 评论(0) 推荐(0) 编辑
摘要:进入当前正在运行的容器 #我们通常容器都是使用后台方式运行的,需要进入容器,修改一些配置#方法一 命令docker exec -it 容器ID bashShell#测试[root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED S 阅读全文
posted @ 2021-08-25 20:00 葛老头 阅读(177) 评论(0) 推荐(0) 编辑
摘要:后台启动容器 # 命令 docker run -d 镜像名 [root@localhost ~]# docker run -d centos #问题:docker ps,发现centos停止了 #常见的坑:docker容器使用后台运行,就必须要有一个前台进程,docker发现没有应用,就会自动停止 阅读全文
posted @ 2021-08-25 19:12 葛老头 阅读(194) 评论(0) 推荐(0) 编辑
摘要:容器命令 说明: 有了镜像才可以创建容器;下载一个centos镜像进行练习,相当于在Linux里面再见一个Linux虚拟机 [root@localhost ~]# docker pull centos 新建容器并启动 [root@localhost ~]# docker run [可选参数] ima 阅读全文
posted @ 2021-08-25 17:37 葛老头 阅读(69) 评论(0) 推荐(0) 编辑
摘要:准备工作 知道查看官方文档,官方文档描述的很详细,并且每一种类型。每一个命令的选项都有例子 会使用docker --help查看 镜像命令 docker images 查看所有本地主机上的镜像 [root@localhost ~]# docker images REPOSITORY TAG IMAG 阅读全文
posted @ 2021-08-25 14:36 葛老头 阅读(80) 评论(0) 推荐(0) 编辑
摘要:帮助命令 [root@localhost ~]# docker version #显示docker的版本信息 [root@localhost ~]# docker info #显示docker的系统信息,包括镜像和容器的数量 [root@localhost ~]# docker 命令 --help 阅读全文
posted @ 2021-08-25 11:00 葛老头 阅读(42) 评论(0) 推荐(0) 编辑
摘要:回顾HelloWorld流程 底层工作原理 Docker是怎么工作的? Docker是一个Client-Server结构的系统,Docker的守护进程运行在宿主机上。通过Socket从客户端访问 DockerServer接收到Docker-Client的执行,就会实行这个命令 Docker为什么比V 阅读全文
posted @ 2021-08-25 10:44 葛老头 阅读(152) 评论(0) 推荐(0) 编辑
摘要:step-1 登录阿里云找到容器服务 step-2 找到镜像加速地址 step-3 配置使用 sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://kqi 阅读全文
posted @ 2021-08-25 10:17 葛老头 阅读(53) 评论(0) 推荐(0) 编辑
摘要:Docker工作流程 名词概念 镜像(image): docker镜像就好比一个模板,可以通过这个模板来创建容器服务,tomcat镜像 >run >tomcat01(提供服务器) 通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中) 容器(container): Docker利用容器 阅读全文
posted @ 2021-08-25 10:05 葛老头 阅读(67) 评论(0) 推荐(0) 编辑
摘要:简介 Access Log Sampler 是个非常有用的工具,可以收集和分析真实用户操作的数据,并可用于流量分析。常见的就是我们的nginx的access.log 日志 使用 access.log 192.168.242.13 - - [10/Jun/2021:16:21:15 +0800] "G 阅读全文
posted @ 2021-08-24 13:54 葛老头 阅读(297) 评论(0) 推荐(0) 编辑
摘要:场景 单台机器的下JMeter启动较大线程数时可能会出现运行报错的情况,或者在运行一段时间后,JMeter每秒生成的请求数会逐步下降,直到为0,即JMeter运行变得很“卡”,这时候我们可以调整JVM内存,来对Jmeter进行优化 设置JVM内存 ①找到JMeter bin目录下的jmeter.ba 阅读全文
posted @ 2021-08-23 18:01 葛老头 阅读(1332) 评论(0) 推荐(0) 编辑
摘要:Jmeter UI页面是调试脚本的,运行脚本使用命令行运行;Windows使用batch,Linux使用shell Jmeter减少使用各类监听控件,吃内存、CPU;用后置处理去拿log文件,生成图表 加大jvm的空间,默认是256M 使用最新版的Jmeter 提取响应结果时,数据量较少使用正则;数 阅读全文
posted @ 2021-08-23 17:50 葛老头 阅读(168) 评论(0) 推荐(1) 编辑
摘要:Json 相关 解析 Response import groovy.json.JsonSlurper def responseStr = prev.getResponseDataAsString() def jsonSlurper = new JsonSlurper() // String 转 Ob 阅读全文
posted @ 2021-08-23 17:01 葛老头 阅读(281) 评论(0) 推荐(0) 编辑
摘要:常见内置函数及调用 获取相关函数 获取返回数据并转换为String字符串 prev.getResponseDataAsString() 例子 String Responsedata = prev.getResponseDataAsString(); //如果参数为true,则样本执行判断为成功,为f 阅读全文
posted @ 2021-08-23 16:09 葛老头 阅读(781) 评论(0) 推荐(1) 编辑
摘要:JSR233 介绍 JSR223控件执行JSR223脚本代码用于创建/更新所需的某些变量 JSR223可以使用其内置的变量,有助于精简脚本,提高开发测试的效率 由于JSR223脚本编译方式基本相同,JSR223取样器、JSR223前置处理器、JSR223后置处理器、JSR223断言、JSR223定时 阅读全文
posted @ 2021-08-23 15:57 葛老头 阅读(228) 评论(0) 推荐(0) 编辑
摘要:IO操作 Groovy为I/O操作提供了许多帮助方法,虽然你可以在Groovy中用标准Java代码来实现I/O操作,不过Groovy提供了大量的方便的方式来操作File、Stream、Reader等等。 读取文件 读取文本文件并打印每一行文本 new File(baseDir, 'haiku.txt 阅读全文
posted @ 2021-08-23 15:26 葛老头 阅读(872) 评论(0) 推荐(0) 编辑
摘要:Groovy集合操作 Lists List 字面值 您可以按如下所示创建列表。 请注意,[]是空列表表达式 def list = [5, 6, 7, 8] assert list.get(2) == 7 assert list[2] == 7 assert list instanceof java. 阅读全文
posted @ 2021-08-23 15:20 葛老头 阅读(8776) 评论(0) 推荐(0) 编辑
摘要:Groovy基础语法 动态类型 Groovy定义变量时:可以用Groovy风格的def声明,不指定类型;也可以兼容Java风格,指定变量类型;甚至还可以省略def或类型 def t1 = 't1' String t2 = 't2' t3 = 't3' Groovy风格定义的变量类型是动态的,编译成c 阅读全文
posted @ 2021-08-23 14:51 葛老头 阅读(754) 评论(0) 推荐(0) 编辑
摘要:Groovy与Java的不同之处 默认 imports 所有这些包和类都是默认导入的,不必使用显式import语句来使用它们 java.io.* java.lang.* java.math.BigDecimal java.math.BigInteger java.net.* java.util.* 阅读全文
posted @ 2021-08-23 14:42 葛老头 阅读(305) 评论(0) 推荐(0) 编辑
摘要:Groovy简述 前言 由于性能测试的JSR223 Sampler取样器需要用到 Groovy 语言,这两天对其进行了粗略的学习,本文是对学习做的一个简单总结,主要内容参考于官方文档(Groovy 的官方文档还是非常不错的,强烈推荐阅读),希望本文对准备学习使用或者对 Groovy 感兴趣的同学有所 阅读全文
posted @ 2021-08-23 14:28 葛老头 阅读(412) 评论(0) 推荐(0) 编辑
摘要:性能指标峰值 简述 彻底理解了性能指标(1)(2)的内容,这一篇随笔其实就不用看了,而且大家也能猜到这一篇内容是啥:二八原则 性能指标不要硬性的往那些性能指标上去靠,要根据业务来,熟悉业务,明白了解你们的项目性能的点在哪,是用户量,QPS,TPS,PV等,哪个是重点,哪个会给用户带来性能瓶颈。 根据 阅读全文
posted @ 2021-08-21 15:47 葛老头 阅读(415) 评论(0) 推荐(0) 编辑
摘要:并发数 概念 同时承载正常使用系统功能的用户数量;系统能够同时处理请求的数目。 通过问题详解 问题:网站的并发数,究竟指的同时提交请求的用户数目,还是用户同时提交的请求的数目? 答案:根据这句描述“对网站而言,并发数即网站并发用户数,指同时提交请求的用户数目。”,并发数指同时提交请求的用户数据,可以 阅读全文
posted @ 2021-08-21 14:37 葛老头 阅读(999) 评论(0) 推荐(0) 编辑
摘要:TPS 概念 TPS (transaction per second):意思是每秒事务数,具体事务的定义,都是人为的,可以一个接口、多个接口、一个业务流程等等。一个事务是指事务内第一个请求发送到接收到最后一个请求的响应的过程,以此来计算使用的时间和完成的事务个数。 公式 TPS=事务数/时间(秒) 阅读全文
posted @ 2021-08-20 21:32 葛老头 阅读(498) 评论(0) 推荐(0) 编辑
摘要:如果(if)控制器(If Controller) 在实际工作中,当使用JMeter做性能脚本或者接口脚本时,当遇到需要对不同的条件做不同的操作时,我们可以使用JMeter中if控制器来实现 if控制器含义:根据判断条件决定是否执行该控制器内的请求,如果是字符串比较条件,参数和字符串 都需要加引号 I 阅读全文
posted @ 2021-08-20 20:12 葛老头 阅读(152) 评论(0) 推荐(0) 编辑
摘要:循环控制器(Loop Controller) 字面意思,循环该控制器下的请求 设定固定循环次数,或者一直循环 同线程组的循环是父子关系,大家可以试下,如果线程组设置了一直循环,而循环控制器设置了2次,实际效果是什么样子的? 一般同计数器配合使用,具体根据实际场景来 阅读全文
posted @ 2021-08-20 20:11 葛老头 阅读(128) 评论(0) 推荐(0) 编辑
摘要:认识 Include Controller Include Controller :译为包含控制器,用来添加 Test Fragment(测试片段)。具体是什么意思呢,我们先来了解下 Test Fragment(测试片段)。 理解 Test Fragment(测试片段) 如下是创建一个 Test F 阅读全文
posted @ 2021-08-20 20:10 葛老头 阅读(130) 评论(0) 推荐(0) 编辑
摘要:模块控制器(Module Controller) 作用 可以理解为引用、调用执行的意思,调用范围为testplan树下任意的逻辑控制器,模块控制器除外 点开testplan树,需要引用哪个逻辑控制器选中即可,只能调用逻辑控制器 所有执行内容为模块控制器Module To Run中刚刚所选的逻辑控制器 阅读全文
posted @ 2021-08-20 20:08 葛老头 阅读(367) 评论(0) 推荐(0) 编辑
摘要:事务控制器(Transaction Controller) 作用 选择一些请求,作为事务,放在该控制器下 比如:我有三个请求,注册、登录、下单。这三个请求其实就是一个下单完成过程,可以作为一个下单事务。将三个请求放在事务控制器下面 可选项 Generate Parent SampleInclude: 阅读全文
posted @ 2021-08-20 20:07 葛老头 阅读(132) 评论(0) 推荐(0) 编辑
摘要:随机控制器(Random Controller) 该控制器下的请求,请求顺序随机,适用场景一般为顺序性依赖不强的请求,比如:下载文件;浏览商品;访问查询接口 随机控制器下的请求随机,如果勾选了【忽略控制器模块(Ignore sub-controller blocks)】,随机控制器下面即使有其他控制 阅读全文
posted @ 2021-08-20 20:07 葛老头 阅读(150) 评论(1) 推荐(0) 编辑
摘要:前置知识点 Jmeter HTTP代理服务器每次点击启动录制,会往Jmeter的bin目录下生成相关证书,证书有效期是7天 录制前需要先看下证书过期没有,过期了,删除bin目录下的证书,即ApacheJMeterTemporaryRootCA.crt、ApacheJMeterTemporaryRoo 阅读全文
posted @ 2021-08-19 19:30 葛老头 阅读(247) 评论(0) 推荐(0) 编辑
摘要:适用场景 只要有python3就可以,windows系统cmd窗口直接敲命令,Linux系统,直接敲命令 step-1 cd cd 到需要搭建服务器的目录 step-2 http.server python -m http.server 端口号 step-3 下载 访问ip:端口,下载自己需要的文件 阅读全文
posted @ 2021-08-19 15:24 葛老头 阅读(769) 评论(0) 推荐(0) 编辑
摘要:作用:相当于对录制的脚本进行分组存放,放在同一个线程组里面;录制脚本的时候,选择线程组下面想要存放的录制控制器中 阅读全文
posted @ 2021-08-19 14:48 葛老头 阅读(326) 评论(0) 推荐(0) 编辑
摘要:一、简介 vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监控;属于sysstat包;它是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析。与top不同的是,top是交互式工具,用于监视性能,包含整个 阅读全文
posted @ 2021-08-19 11:14 葛老头 阅读(607) 评论(0) 推荐(0) 编辑
摘要:JMeter.properties :跟Jmeter配置相关的配置信息都在这边,比如:Jmeter GUI页面的语言、日志级别设置等 User.properties:用户自定义相关的所有变量,会复写JMeter.properties里面相关变量;比如自定义一个Url变量,引用时,同样使用花括号👉{ 阅读全文
posted @ 2021-08-18 21:06 葛老头 阅读(94) 评论(0) 推荐(0) 编辑
摘要:说明 取样器(Sampler):不与其他元件发⽣交互的作⽤的元件 逻辑控制器(Logic Controller):只对其⼦节点的sampler有效,⽽其他元件需要与sampler等元件交互 前置处理器(Pre-processors):在其作⽤范围内的每⼀个sampler元件之前执⾏ 后置处理器(Po 阅读全文
posted @ 2021-08-18 20:54 葛老头 阅读(277) 评论(0) 推荐(0) 编辑
摘要:模块分析 Assert JSON Path exists:需要断言的 JSON 表达式 Additionally assert value:如果要根据值去断言,请勾选 Match as regular expression:如果要根据正则表达式去断言,请勾选 Expected Value:期望值 E 阅读全文
posted @ 2021-08-18 14:36 葛老头 阅读(225) 评论(0) 推荐(0) 编辑
摘要:Apply to: Main sample and sub-samples:可以同时应用到主Sample和子Sample Main sample only:只能应用到主Sample。 Sub-samples only:只能应用到子Sample JMeter Variable Name to use: 阅读全文
posted @ 2021-08-18 14:30 葛老头 阅读(150) 评论(0) 推荐(0) 编辑
摘要:大小断言 大小断言验证响应数据size大小,它的作用范围有主Sample与子Sample;适用场景,判断附件下载的大小,比如项目安装包 完整响应:全部响应信息 响应头:响应头信息,比如http协议的头信息 响应的消息体:响应主题内容部分,比如http协议HTML代码中的Body部分(长度大小在响应数 阅读全文
posted @ 2021-08-18 14:09 葛老头 阅读(517) 评论(0) 推荐(0) 编辑
摘要:方法一、写入rc.local 在/etc/rc.local文件中编辑需要执行的脚本或者命令,我个人习惯用这个,因人而异,有的项目可能需要热加载配置文件,用服务会更好 #普罗米修斯启动,需要后面接config配置文件路径选项 nohup /root/linux_jiankong/prometheus/ 阅读全文
posted @ 2021-08-17 19:41 葛老头 阅读(3754) 评论(0) 推荐(0) 编辑
摘要:Prometheus Promtheus是一个时间序列数据库,其采集的数据会以文件的形式存储在本地中,因此项目目录下需要一个data目录,需要我们自己创建,下面会讲到 下载 下载好的.tar.gz包放到自己想要安装的目录下 方式一:官网下载最新版,使用Xftp放到Linux系统自己想要安装的目录下即 阅读全文
posted @ 2021-08-17 15:59 葛老头 阅读(186) 评论(0) 推荐(2) 编辑
摘要:前言 Centos8开始取消了ntp同步时间,改为chrony同步 chrony工具安装 yum -y install chrony 修改配置文件 将配置文件中的同步服务器修改为国内的时间服务器(推荐阿里及腾讯),将原配置文件中的server注释掉,第三行,换成国内的服务器 vim /etc/chr 阅读全文
posted @ 2021-08-16 17:59 葛老头 阅读(156) 评论(0) 推荐(0) 编辑
摘要:环境准备 需要会Linux的基础 Centos8.x 使用Xshell连接远程服务器 环境查看 #系统内核是4.18以上 [root@localhost ~]# uname -r 4.18.0-305.3.1.el8.x86_64 #系统版本 [root@localhost ~]# cat /etc 阅读全文
posted @ 2021-08-15 15:32 葛老头 阅读(127) 评论(0) 推荐(0) 编辑
摘要:前言 本篇文章引用了小菠萝测试笔记,大部分内容非原创,基于自身实操过程中,完善了部分。 本篇随笔是在Linux上搭建的,后面会补充在docker以及k8s上如何部署安装 工具介绍 工具 介绍 Jmeter 压测工具 InfluxDB Go 语言开发的一个开源分布式时序数据库,非常适合存储指标、事件、 阅读全文
posted @ 2021-08-15 12:02 葛老头 阅读(205) 评论(0) 推荐(1) 编辑
摘要:InfluxDB数据库的简介 InfluxDB是一个用于存储和分析时间序列数据的开源数据库,是一个基于 golang 编写,用于记录 metrics、events,进行数据分析。 主要特性有: 内置HTTP接口,使用方便 数据可以打标记,查让查询可以很灵活 类SQL的查询语句 安装管理很简单,并且读 阅读全文
posted @ 2021-08-14 12:03 葛老头 阅读(882) 评论(0) 推荐(1) 编辑
摘要:与普通线程组区别 #Setup线程组:在普通线程组执⾏前触发 #tearDown线程组:在普通线程组执⾏后触发 线程组属性配置详情完全⼀致 使⽤策略建议 #Setup 线程组 – 压测执⾏准备阶段,准备测试数据,设定参 数 #tearDown 线程组 - 压测执⾏结束之后清理数据,环境归零 Setu 阅读全文
posted @ 2021-08-12 19:55 葛老头 阅读(273) 评论(0) 推荐(0) 编辑
摘要:Jmeter常见操作数据库场景 准备、制造测试数据 获取、查询测试数据 数据库数据作为参数引用 清理测试环境、删除过程数据 数据库压测 Jmeter操作数据库环境准备 已经安装好的数据库,比如MySql 官网下载mysql connector依赖包,放到Jmter的lib目录下,如:mysql-co 阅读全文
posted @ 2021-08-12 19:19 葛老头 阅读(140) 评论(0) 推荐(1) 编辑
摘要:step-1上传接口分析 上传接口源码分析:分析上传文件类型、有无大小限制、存放上传文件服务器 没有源码通过抓包工具,或者Chrome查看框架源代码 👇接口路径/uploadfile,接口请求POST,参数为file step-2Jmeter脚本编写 👇查看网页源代码 step-3执行校验 上传 阅读全文
posted @ 2021-08-12 17:15 葛老头 阅读(219) 评论(0) 推荐(0) 编辑
摘要:nohup 英文全称 no hang up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。 nohup 命令,在默认情况下(非重定向时),会输出一个名叫 nohup.out 的文件到当前目录下,如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohu 阅读全文
posted @ 2021-08-12 15:58 葛老头 阅读(117) 评论(0) 推荐(0) 编辑
摘要:dirname作用 dirname实际工作中常常是跟$0一起使用 用于获取当前运行脚本的绝对路径 这个命令要放在shell脚本中使用,在命令行使用意义不大 [yutao@master01 ~]$ dirname --help 用法:dirname 名称 或:dirname 选项 输出已经去除了尾部的 阅读全文
posted @ 2021-08-12 15:50 葛老头 阅读(298) 评论(0) 推荐(0) 编辑
摘要:为什么需要进行自动化压力测试 手动逐步加压,需要人工改变并发数,还要等待。所有,我们完全可以制定好策略,让程序自动加压,自动等待,输出报告 实现思路 Jmeter脚本(.jmx文件)- 压测逻辑 Shell - 控制逻辑(Windows系统用Bat) 并发数更改 - Linux三剑客 Jmeter静 阅读全文
posted @ 2021-08-12 15:23 葛老头 阅读(380) 评论(0) 推荐(0) 编辑
摘要:引言 在Linux平台上工作,我们经常需要使用shell来编写一些有用、有意义的脚本程序。有时,会经常使用shell数组。那么,shell中的数组是怎么表现的呢,又是怎么定义的呢?接下来逐一的进行讲解,shell中的数组。 数组的定义 何为数组?学过计算机编程语言的同学都知道,数组的特性就是一组数据 阅读全文
posted @ 2021-08-11 21:05 葛老头 阅读(2855) 评论(0) 推荐(0) 编辑
摘要:step-1下载 我是之前windows有,就直接copy到Linux系统了 step-2Jmter放到local目录 mv apache-jmeter-5.2.1 /usr/local/ step-3配置Jmeter环境变量 原理与windows类似 vim /etc/profile #添加以下配 阅读全文
posted @ 2021-08-11 19:42 葛老头 阅读(343) 评论(0) 推荐(0) 编辑
摘要:step-1下载安装包 下载Linux环境下的jdk1.8,请去(官网)中下载jdk的安装文件;或者评论区留言 step-2解压到/usr/local目录 mkdir /usr/local/java tar -zxvf jdk-8u301-linux-x64.tar.gz -C /usr/local 阅读全文
posted @ 2021-08-11 19:05 葛老头 阅读(65) 评论(0) 推荐(0) 编辑
摘要:安装前准备 安装C语言编译器“gcc” yum -y install gcc --c 源码包语言编译器 下载源码包 安装注意事项 源代码保存位置:/usr/local/src/ 软件安装位置:/usr/local/ 如何确定安装过程报错: #安装过程停止 #并出现error、warning或no的提 阅读全文
posted @ 2021-08-11 16:55 葛老头 阅读(82) 评论(0) 推荐(0) 编辑
摘要:源码包是不能使用【service】命令来启动服务,因为源码包的安装位置由用户指定 源码包一般安装在: /usr/local/软件名/ ,源码包安装的服务,只能用绝对路径进行服务的管理 rpm包安装后,通常都是放在【/etc/rc.d/init.d】目录中的,而【service】命令执行时,会自动搜索 阅读全文
posted @ 2021-08-11 13:54 葛老头 阅读(64) 评论(0) 推荐(0) 编辑
摘要:yum常用命令 查询 yum list:查询所有可用软件包列表 yum search 关键字:搜索服务器上所有和关键字相关的包 安装 yum -y install 包名 选项: -install 安装 -y 自动回答yes #yum安装只写包名即可! 例子: yum -y install gcc - 阅读全文
posted @ 2021-08-11 10:30 葛老头 阅读(306) 评论(0) 推荐(1) 编辑
摘要:光盘搭建yum源 背景 当前Linux服务器没有网络,yum源下载好了,在光盘中 step-01 挂载光盘 mkdir /mnt/cdrom #建立挂载点 mount /dev/cdrom /mnt/cdrom #挂载光盘,/dev/cdrom或者/dev/sr0走可以 step-02 使网络yum 阅读全文
posted @ 2021-08-10 17:56 葛老头 阅读(96) 评论(0) 推荐(0) 编辑
摘要:yum源文件各参数含义 在【/etc/yum.repos.d/】目录中,默认有4个yum源文件,其中【CentOS-Linux-BaseOS.repo】是基本yum源文件,如果我们能上网,那它是默认生效的,而其他的都是默认不生效的。 vi /etc/yum.repos.d/CentOS-Linux- 阅读全文
posted @ 2021-08-10 17:23 葛老头 阅读(292) 评论(0) 推荐(0) 编辑
摘要:校验 格式 rpm -V 已安装的包名 选项: — -V:校验指定RPM包中的文件(verify) 例子 rpm -V httpd 后, 无任何提示, 代表该文件没有被做任何修改 # 判断本地的apache 与官方给出的是否一致, 从而判断是否被人修改 修改httpd.conf配置文件后 提示 : 阅读全文
posted @ 2021-08-10 08:58 葛老头 阅读(203) 评论(0) 推荐(0) 编辑
摘要:RPM包默认安装位置 RPM包默认安装路径 /etc/ 配置文件安装目录 /usr/bin/ 可执行的命令安装目录 /usr/lib/ 程序所使用的函数库保存位置 /usr/share/doc/ 基本的软件使用手册保存位置 /usr/share/man/ 帮助文件保存位置 RPM查询 查询是否安装( 阅读全文
posted @ 2021-08-09 21:15 葛老头 阅读(161) 评论(0) 推荐(0) 编辑
摘要:升级命令 rpm -Uvh 包全名(要升级到的软件版本),如果没有安装这个软件的任何版本,这个命令可以代替rpm -ivh。 rpm -Uvh 包全名 选项: — -U(upgrade):升级 卸载命令 rpm -e 包名(比如Httpd,不需要包全名),这个命令不同于安装和升级,它可以在任何目录运 阅读全文
posted @ 2021-08-09 20:46 葛老头 阅读(958) 评论(0) 推荐(0) 编辑
摘要:包全名与包名 包全名:操作的包是没有安装的软件包时,使用包全名,而且注意路径。如:/mnt/cdrom/Packags/zlib-devel-1.2.3.-27.e16.i686.rpm 包名:操作已经安装的软件包时,使用包名,搜索/var/lib/rpm/中的数据库。 如:zlib-devel R 阅读全文
posted @ 2021-08-09 20:40 葛老头 阅读(65) 评论(0) 推荐(0) 编辑
摘要:RPM包命名规则 例如包名:httpd-2.2.15-15.el6.centsos.1.i686.rpm 软件包名-httpd 软件版本-2.2.15 发布的次数-15 el6.centos适合的Linux平台 i686适应的硬件平台 rpm包扩展名 RPM包的来源 例如RPM包在系统光盘的Pack 阅读全文
posted @ 2021-08-09 20:32 葛老头 阅读(181) 评论(0) 推荐(0) 编辑
摘要:软件包分类 源码包(脚本安装包) 优点 开源,如果有足够的能力,可以修改源代码; 可以自由选择所需的功能; 软件是编译安装,所以更加适合自己的系统,更加稳定、效率更高; 卸载方便; 缺点 安装过程步骤较多,尤其安装较大的软件集合时(如LAMP环境搭建),容易出现拼写错误; 编译过程时间较长,安装比二 阅读全文
posted @ 2021-08-09 17:58 葛老头 阅读(116) 评论(0) 推荐(0) 编辑
摘要:while循环 只要条件判断式成立则进行循环,并执行循环程序;一旦循环条件不成立,则终止循环 格式 while [ 条件判断式 ] do 程序 done 例子 需求:计算工具,1+2+……100的和 脚本: #!/bin/bash #从1加到100 s=o i=1 while [ $i -le 10 阅读全文
posted @ 2021-08-08 17:21 葛老头 阅读(72) 评论(0) 推荐(0) 编辑
摘要:for循环语法二 for ((初始值;循环控制条件;变量变化)) do 程序 done 例子 例子-1 求和工具 需求:根据用户输入的数字,求1~输入所有数字的和 脚本: #!/bin/bash read -t 30 -p "输入终点数字:" num sum=o for (( i=1;i<=$num 阅读全文
posted @ 2021-08-07 17:54 葛老头 阅读(222) 评论(0) 推荐(0) 编辑
摘要:for循环语法一 for 变量 in 值1 值2 值3 … do 程序 done 例子 需求:批量解压缩 脚本: #!/bin/bash cd /root/publicls *.tar.gz > public.logls *.tar.bz >> public.log for i in $(cat p 阅读全文
posted @ 2021-08-07 16:18 葛老头 阅读(178) 评论(0) 推荐(0) 编辑
摘要:多分支case条件语句 概念 case语句和if...elif...else语句一样都是多分支条件语句,不过和if多分支条件语句不同的是,case语句只能判断一种条件关系,而if语句可以判断多种条件关系。 case适用列表,选项型判断,执行速度比if更快 格式 case $变量名 in “值1”) 阅读全文
posted @ 2021-08-07 15:38 葛老头 阅读(264) 评论(0) 推荐(0) 编辑
摘要:多分支if条件语句 if [ 条件判断式1 ] then 当条件判断式1成立时,执行程序1 elif [ 条件判断式2 ] then 当条件判断式2成立时,执行程序2 ...省略更多条件... else 当所有条件都不成立时,最后执行此程序 fi exit 自定义错误码:返回错误码,程序退出不再运行 阅读全文
posted @ 2021-08-07 15:05 葛老头 阅读(357) 评论(0) 推荐(0) 编辑
摘要:#!/bin/bash #截取httped进程,并把结果赋予变量test test=$(ps -aux | grep "httpd" | grep -v "grep") #如果test的值不为空,则执行then中命令 if [ -n $"test" ] then echo "$(date) http 阅读全文
posted @ 2021-08-07 13:42 葛老头 阅读(93) 评论(0) 推荐(0) 编辑
摘要:双分支if条件语句 if [ 条件判断式 ] then 条件成立,执行的程序 else 条件不成立,执行的程序 fi 需求 根据用户输入的目录名,判断是否存在 脚本: #!/bin/bash #使用read命令接收用户输入参数 read -t 30 -p "请输入目录名称:" dir #[ -d 文 阅读全文
posted @ 2021-08-07 12:31 葛老头 阅读(414) 评论(0) 推荐(0) 编辑
摘要:需求 监控分区已用空间,超过80%,抛出警告 脚本 #!/bin/bash #给tets赋值用于接收参数,传递给if进行判断 #申明变量test并赋值,由于赋的值是系统变量的结果,所以得用$()引用 test=$(df -h | grep "sda1" | awk '{print $5}' | cu 阅读全文
posted @ 2021-08-07 11:51 葛老头 阅读(86) 评论(0) 推荐(0) 编辑
摘要:单分支if条件语句 if [ 条件判断 ] ;then 程序 fi 或者 if [ 条件判断 ] then 程序 fi 注意点 if语句使用fi结尾,和一般语言使用大括号结尾不同 【 条件判断 】就是使用test命令判断,所以中括号和条件判断之间必须有空格 then后面跟符合条件之后执行的程序,可以 阅读全文
posted @ 2021-08-07 11:23 葛老头 阅读(403) 评论(0) 推荐(0) 编辑
摘要:多重条件判断 多个条件判断一起使用 测试选项 作用 判断1 -a 判断2 逻辑与,判断1和判断2都成立,最终的结果才为真 判断1 -o 判断2 逻辑或,判断1和判断2有一个成立,最终的结果就为真 ! 判断 逻辑非,使原始的判断式取反 格式 [ 判断 选项 判断] [ ! 判断] 例子 a=11 [ 阅读全文
posted @ 2021-08-06 17:51 葛老头 阅读(705) 评论(0) 推荐(0) 编辑
摘要:字符串判断 $变量时要用双引号引起来,即"$变量" 测试选项 作用 -z 字符串 判断字符串是否为空(为空返回真) -n 字符串 判断字符串是否为非空(非空返回真) 字符串1 == 字符串2 判断字符串1和字符串2是否相等(相等返回真) 字符串1 != 字符串2 判断字符串1是否字符串2不相等(不相 阅读全文
posted @ 2021-08-06 17:30 葛老头 阅读(360) 评论(0) 推荐(0) 编辑
摘要:两个整数之间比较 Liunx中,都是字符型,但是加了数值比较的选项,所以自动将他们转换成了整数型进行比较,不需要对这些参数进行变量转换或者重新声明 测试选项 作用 整数1 -eq 整数2 判断整数1是否和整数2相等(相等为真) 整数1 -ne 整数2 判断整数1是否和整数2不相等(不相等为真) 整数 阅读全文
posted @ 2021-08-06 17:16 葛老头 阅读(173) 评论(0) 推荐(0) 编辑
摘要:两个文件之间进行比较 测试选项 作用 文件1 -net 文件2 判断文件1的修改时间是否比文件2的新(如果新则为真) 文件1 -ot 文件2 判断文件1的修改时间是否比文件2的旧(如果旧则为真) 文件1 -ef 文件2 判断文件1是否和文件2的Inode(即i节点号)号是否一致,可以理解为两个文件是 阅读全文
posted @ 2021-08-06 15:02 葛老头 阅读(273) 评论(0) 推荐(0) 编辑
摘要:按照文件权限进行判断 读、写、执行等选项权限,只要有,就返回真 不会按照所属者,所属用户组,其他用户进行区分 先判断文件是否存在,再去判断选项权限 测试选项 作用(标红熟记) -r 文件 判断该文件是否存在,并且是否该文件拥有读权限(有读权限为真) -w 文件 判断该文件是否存在,并且是否该文件拥有 阅读全文
posted @ 2021-08-06 14:40 葛老头 阅读(655) 评论(0) 推荐(0) 编辑
摘要:按照文件类型进行判断 标红,记住;其他了解即可 测试选项 作用 -b 文件 判断该文件是否存在,并且是否为块设备文件(是块设备文件为真) -c 文件 判断该文件是否存在,并且是否为字符设备文件(是字符设备文件为真) -d 文件 判断该文件是否存在,并且是否为目录文件(是目录为真) -e 文件 判断该 阅读全文
posted @ 2021-08-06 14:26 葛老头 阅读(389) 评论(0) 推荐(0) 编辑
摘要:Linux下一切皆文件,对Linux的操作就是对文件的处理 Linux中最重要的三个命令在业界被称为“三剑客”,它们是awk,sed,grep 正则表达式就好比一个模版,这个模板就是服务三剑客的,施展出最大的威力 👇超链点击 正则表达式 grep擅长查找功能 awk擅长取列 sed擅长取行和替换 阅读全文
posted @ 2021-08-05 20:00 葛老头 阅读(80) 评论(0) 推荐(0) 编辑
摘要:简述 字符替换命令sed 和vi功能相似,但是vi是给用户用的,sed是给脚本用的 sed是一种几乎包括在所有的UNIX平台(包括Linux)的轻量级流编辑器。s sed主要是用来将数据进行选取、替换、删除、新增的命令。 可以和管道符配合使用 格式 命令 sed [选项] '[动作]' [文件名] 阅读全文
posted @ 2021-08-05 19:49 葛老头 阅读(1092) 评论(0) 推荐(0) 编辑
摘要:简介 awk是一个数据处理工具,相比于sed常常作用于一整行的处理,awk则比较倾向于将一行分成数个”字段“来处理 awk的流程是依次读取每一行数据,读取完一行数据后,进行条件判断,如果满足条件,就执行该条件对应的动作,没有条件直接执行动作 其中文件名为$0,剩下的每一列依次为$1\$2...,判断 阅读全文
posted @ 2021-08-05 17:13 葛老头 阅读(1033) 评论(0) 推荐(0) 编辑
摘要:作用 printf是标准格式输出命令,控制输出格式,不会自动加入换行符。awk会用到该条命令 命令 printf '输出类型输出格式' 输出内容 #‘’双引号不能少,输出类型和输出格式之间没有空格 输出类型 %ns:输出字符串。n是数字,指代输出几个字符 %ni:输出整数。n是数字,指代输出几个数字 阅读全文
posted @ 2021-08-05 15:31 葛老头 阅读(132) 评论(0) 推荐(0) 编辑
摘要:前言 grep是按行提取;cut默认是通过制表符,按列提取,不能识别用空格作为分隔符 语法 cut 【选项】 【文件】 选项 -f :列号,截取哪几列数据,多个列号用逗号隔开;列与列之间默认用TAB制表符分隔; -d :分隔符:按照指定分隔符分割列,默认为tab; #cut -f 1,3 -d ": 阅读全文
posted @ 2021-08-05 14:50 葛老头 阅读(303) 评论(0) 推荐(0) 编辑
摘要:正则表达式与通配符 正则表达式用来在文件中匹配符合条件的字符串,正则是包含匹配。grep,awk,sed等命令可以支持正则表达式。 通配符用来匹配符号条件的文件名,通配符是完全匹配。ls,find,cp这些命令不支持正则表达式,所以只能使用shell自己的通配符来进行匹配。 通配符 符号 作用 * 阅读全文
posted @ 2021-08-05 11:31 葛老头 阅读(96) 评论(0) 推荐(0) 编辑
摘要:查进程 ps -ef ps -aux #上述两个均可 例子:ps -ef | grep "vim canshu2" 强杀进程 kill -s 9 进程id #命令格式 例子:kill -s 9 2379 阅读全文
posted @ 2021-08-04 14:12 葛老头 阅读(214) 评论(0) 推荐(1) 编辑
摘要:概念: 正则表达式是用于描述字符排列和匹配模式的一种语法 它主要用于字符串的模式分割、匹配、查找及替换操作。 阅读全文
posted @ 2021-08-04 10:42 葛老头 阅读(38) 评论(0) 推荐(0) 编辑
摘要:配置文件功能 文件名 功能 相关联命令 /etc/profile USER变量 LOGNAME变量 MAIL变量 PATH变量 HOSTNAME变量 umask 调用/etc/profile.d/*.sh文件 ~/.bash_profile 调用~/.bashrc文件 在PATH变量后面加入了":$ 阅读全文
posted @ 2021-08-03 21:19 葛老头 阅读(41) 评论(0) 推荐(0) 编辑
摘要:变量类型 用户自定义变量(本地变量) 环境变量 预定义变量 位置参数变量 source命令 【root@localhost ~】# source 配置文件 或 【root@localhost ~】# . 配置文件👉.和配置文件之间是有空格的 #修改配置文件后,必须注销重新登录才能生效,适用sour 阅读全文
posted @ 2021-08-03 20:44 葛老头 阅读(401) 评论(0) 推荐(0) 编辑
摘要:数值运算-方法1 declare -i 【root@localhost ~】# aa=11 【root@localhost ~】# aa=22 #给变量aa和bb赋值 【root@localhost ~】# declare -i cc=$aa+$bb 数值运算-方法2 expre或let 【root 阅读全文
posted @ 2021-08-03 20:14 葛老头 阅读(74) 评论(0) 推荐(0) 编辑
摘要:declare声明变量类型 格式 declare [+/-] [选项] [变量名] 选项 -:给变量设定类型属性 +:取消变量的类型属性 -a :将变量声明为数组型 -i :将变量声明为整数型(integer) -x :将变量声明为环境变量 -r :将变量声明为只读变量 -p :显示指定变量的被声明 阅读全文
posted @ 2021-08-03 19:46 葛老头 阅读(508) 评论(0) 推荐(0) 编辑
摘要:前言 作用是往脚本中传递参数,之前文章的位置参数变量也有此功能,但是只适用于脚本的作者,为什么?第三方用户不知道这个脚本要传递哪些参数,这些参数分别是什么。本篇随笔read就可以实现上述功能,别且该命令在shell中很常用,熟练掌握 read-接收键盘输入x 入参,传递给脚本 格式 read 【选项 阅读全文
posted @ 2021-08-03 17:42 葛老头 阅读(85) 评论(0) 推荐(0) 编辑
摘要:预定义变量 作用 $? 常用;最后一次执行的命令的返回状态。 如果这个变量的值为0,证明上一个命令正确执行;如果这个变量的值为非0(具体是哪个数,由命令自己来决定),则证明上一个命令执行不正确了 $$ 当前进程的进程号(PID);了解即可,备面试 $! 后台最后一个运行的进程的进程号(PID);了解 阅读全文
posted @ 2021-08-03 16:53 葛老头 阅读(64) 评论(0) 推荐(0) 编辑
摘要:作用 往shell脚本里面传递参数 位置参数变量 作用 $n n 为数字,$0 代表命令本身,$1-$9 代表第一到第九个参数,十以上的参数需要用大括号包含,如 ${10} $* 这个变量代表命令行中所有的参数,$* 把所有的参数看成一个整体 $@ 这个变量也代表命令行中所有的参数,不过 $@ 把每 阅读全文
posted @ 2021-08-03 16:15 葛老头 阅读(67) 评论(0) 推荐(0) 编辑
摘要:环境变量与用户自定义变量的区别 环境变量是全局变量,用户自定义变量是局部变量。 用户自定义变量只在当前的 shell 中生效,环境变量在当前 shell 和这个 shell 的所有子 shell 中生效。 用户可以自定义环境变量,但对系统生效的环境变量名和变量作用是固定的。 用户自定义环境变量 调用 阅读全文
posted @ 2021-08-03 15:10 葛老头 阅读(68) 评论(0) 推荐(0) 编辑
摘要:定义变量 变量名=变量值 例如: x=123 mulu="当前目录下有 $(ls)" 备注: 变量名只能是字母、下划线、数字组成且不能以数字开头 变量等号两侧不能加空格 若变量值中间有空格,必须用双引号括起来;变量值中的“”会解析特殊符号,例如$,‘’不会解析特殊符号 变量调用 使用$变量名;如果是 阅读全文
posted @ 2021-08-03 11:29 葛老头 阅读(76) 评论(0) 推荐(0) 编辑
摘要:变量命名规则 开头为字符或下划线,名字中间中能有字母、数字和下划线组成; 变量的长度不超过255个字符; 变量名在有效的范围内必须是唯一的; 如再次定义则会替换上一个变量的值 在Bash中,变量的默认类型都是字符串型;即系统把所有值都当作字符串放到变量中,不论这个“字符串”实际上是整数、浮点数等等 阅读全文
posted @ 2021-08-03 10:21 葛老头 阅读(95) 评论(0) 推荐(0) 编辑
摘要:通配符 通配符 作用 ? 匹配一个任意字符 * 匹配0个或任意多个任意字符,也就是可以匹配任何内容 [] 匹配中括号中任意一个字符。例如:[abc]代表一定匹配一个字符,或者是a,或者是b,或者是c。 [-] 匹配中括号中任意一个字符,-代表一个范围。例如:【a-z】代表匹配一个小写字母。 [^] 阅读全文
posted @ 2021-08-02 21:53 葛老头 阅读(139) 评论(0) 推荐(0) 编辑
摘要:多命令顺序执行 多命令执行符 格式 作用 ; 命令1 ; 命令2 连接命令;多个命令顺序执行,命令之间没有任何逻辑联系;前面命令报错,后面命令照常执行 && 命令1 && 命令2 逻辑与;当命令1正确执行,则命令2才会执行;当命令1执行不正确,则命令2不会执行 || 命令1 || 命令2 逻辑或;当 阅读全文
posted @ 2021-08-02 21:12 葛老头 阅读(171) 评论(0) 推荐(0) 编辑
摘要:输出重定向: 在Linux当中,0代表输入;1代表正确输出;2代表错误输出 类型 符号 作用 正确输出重定向 命令 > 文件 以覆盖得方式,把命令得正确输出,输出到指定文件或设备当中 命令 >> 文件 以追加得方式,把命令得正确输出,输出到指定文件或设备当中 错误输出重定向 错误命令 2>文件 以覆 阅读全文
posted @ 2021-08-02 20:20 葛老头 阅读(185) 评论(0) 推荐(0) 编辑
摘要:格式:history 【选项】 【历史命令保存文件】 选项: -c:清空历史命令 -w:把缓存中的历史命令写入到历史命令保存文件~ /.bash_history;用户的家目录下 例子: 【root@localhost ~】# history -w test.text :将历史命令写入到test.te 阅读全文
posted @ 2021-08-02 17:00 葛老头 阅读(100) 评论(0) 推荐(0) 编辑
摘要:前言 使用alias命令创建命令别名,是Bash的一个基本功能;别名有两种形式,一种暂时的,Linux重启后失效。另外一种永久的通过该配置文件实现 使用更改别名 临时 命令格式:alias 别名=‘原命令’ 设定命令别名 例子:alias vi=’vim‘ vi编辑文件进去没有颜色高亮,vim编辑文 阅读全文
posted @ 2021-08-01 17:46 葛老头 阅读(112) 评论(0) 推荐(0) 编辑
摘要:快捷键 说明 Ctrl+L 清屏 tab tab按一次自动补全目录文件名称/tab按二次将目录下带有补全前面字段的所有文件目录展示出来,例子: cd / tab键按两次将根目录下所有文件展示出来 Ctrl+c 强制终止命令 Ctrl+a 光标快速回到行首 Ctrl+e 光标快速去到行尾 Ctrl+u 阅读全文
posted @ 2021-08-01 16:47 葛老头 阅读(47) 评论(0) 推荐(1) 编辑
摘要:前言 在Unix和Linux的中,每个文件(文件夹也被看作是文件)都有三种权限:读、写、运行。 被授予权限的用户身份有三种:当前文件的拥有者,与拥有者属于同组者(同一个group),其他人 👆👆👆 hello.sh文件权限:文件夹所有者root拥有读,写,执行的权限;与root同组的用户拥有读 阅读全文
posted @ 2021-08-01 16:44 葛老头 阅读(90) 评论(0) 推荐(1) 编辑
摘要:创建shell脚本 【root@localhost sh】# vim hello.sh shell脚本必须用.sh,同时方便文件管理 #!/bin/bash:shell文件第一行必须是这个,声明这个文件是shell文件;在Linux中#是注释的意思,但是第一行#是声明的作用 shell脚本执行 赋予 阅读全文
posted @ 2021-08-01 16:19 葛老头 阅读(65) 评论(0) 推荐(0) 编辑
摘要:作用:打印 格式:echo 【选项】 【输出内容】 选项:-e ;支持反斜线控制的字符转换 前置条件:必须加选项-e才能使用 控制字符 作用 \a 输出警告音 \b 退格符,也就是向左删除键 \n 换行符 \r 回车符 \t 制表符,也就是Tab键 \v 垂直制表符 \0nnn 按照八进制ASCLL 阅读全文
posted @ 2021-08-01 15:57 葛老头 阅读(72) 评论(0) 推荐(1) 编辑
摘要:Shell是什么 Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至时编写一些程序 Shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强。Shell是解释执行的脚本语言,在Shell中可以直 阅读全文
posted @ 2021-08-01 15:10 葛老头 阅读(62) 评论(0) 推荐(2) 编辑
摘要:需求 查看当前在线用户情况;历史用户登录情况 W 格式 【root@localhost ~】# w:查看所有登录用户信息 【root@localhost ~】# w 【用户名】:查看指定登录用户信息 命令输出 user:登陆的用户名 tty:登陆终端 from:从哪个IP地址登陆 login@:登陆 阅读全文
posted @ 2021-08-01 14:48 葛老头 阅读(605) 评论(0) 推荐(2) 编辑
摘要:挂载光盘 mount命令、umount命令 step-1 建立挂载点 原理:相当于建立盘符,建个目录读取光盘内容 命令:【root@localhost ~】# mkdir /mnt/cdrom/ 备注:挂载点随便建在哪,原则上都可以,只要是空目录就行;规范化而言Linux默认的光盘挂载是在mnt下的 阅读全文
posted @ 2021-08-01 12:01 葛老头 阅读(873) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示