软件测试第一阶段:web前端技术基础-16- linux系统安装软件,运用shell脚本等

2023-11-17

一丶yum安装

用yum安装软件分三步

  • 第一步:准备一个软件源。软件源其实就是一个目录,在这个目录中有很多的rpm包
  • 第二步:创建yum的配置文件,文件需要指向到软件源。
  • 第三步:用yum进行安装/卸载软件

第一步:配置软件源

1)首选将系统镜像文件挂载到linux中

  • 安装系统的时候,那个后缀是iso的文件,就是系统镜像文件

  • # 将光盘挂载到mnt下
  • #/dev/cdrom 这个是光盘
  • #/mnt 这就是Linux的一个目录,这个目录是作为外部设备的挂载点来使用的

[root@localhost ~]# mount /dev/cdrom /mnt     

 # 重启系统后,需要重新进行挂载 mount: /dev/sr0 写保护,将以只读方式挂载

  • # 检查挂载点
  • # 只要挂载点下面有内容,就说明挂载成功了

[root@localhost ~]# ls /mnt/

第二步:修改配置文件

关于yum的配置文件

  • 1)yum的配置文件路径:/etc/yum.repos.d
  • 2)yum的配置文件名:配置文件名不是固定的,而是有一个统一的后缀,.repo
  • 3)yum的默认配置文件,都是无效的,建议删除原有的所有配置文件

# 切换到yum的配置文件路径下

[root@localhost ~]# cd /etc/yum.repos.d/

# 删除原有的配置文件

[root@localhost yum.repos.d]# rm -rf *repo

# 检查是否还有配置文件,如果为空就正常了

root@localhost yum.repos.d]# ls

# 创建一个新的配置文件,只要保证后缀是.repo就可以

[root@localhost yum.repos.d]# vi new.repo

 修改了配置文件以后,需要检查是否配置成功

[root@localhost yum.repos.d]# yum repolist

第三步:安装卸载软件

yum命令格式

  • yum  参数  软件名

参数

  • install:安装软件
  • remove:卸载软件

#1 用yum安装httpd

[root@localhost ~]# yum install httpd

#2 用 rpm -q 软件名 可以检查软件是否安装了

[root@localhost ~]# rpm -q httpd

二丶计划任务

1.周期行计划

  • 通过周期性计划任务,可以定时、自动完成特定的工作
  • 使用周期性计划任务,需要开启服务:crond

  • crontab -e 创建计划任务
  • crontab -l 查看计划任务

1)检查crond服务

[root@localhost ~]# systemctl status crond

# 确保服务处于运行状态

2)创建计划任务

crontab -e 可以创建计划任务

  • 分钟  小时  日  月  周  命令

#案例1:每天5点27分,删除一次 tmp下的全部的文件a.txt

27 5 * * * rm -rf /tmp/a.txt

#案例2: 每个月7号的5点27分,删除一次 tmp下的全部的文件a.txt

27 5 7 * * rm -rf /tmp/a.txt

#案例3: 每年3月7号的5点27分,删除一次 tmp下的全部的文件a.txt

27 5 7 3 * rm -rf /tmp/a.txt

#案例4: 没个小时的27分,删除一次 tmp下的全部的文件a.txt

27 * * * * rm -rf /tmp/a.txt

三丶shell脚本编程

1.简介

  • 也是一种编程语言,最大的特点的就是简单
  • 在shell中,其实就是包含了各种linux命令
  • 这个保存了命令的文件就是shell脚本
  • 通过shell脚本可以实现批量执行linux命令

2.写shell脚本的流程

     第一步:用vi/vim去创建一个后缀是.sh的文件

  • vi是Linux的文本编辑器
  • vim是vi的升级版,在vim中可以实现内容的高亮显示
  • vim可能没有安装,可以执行 yum install vim 进行安装

注意:

  • 1)Linux中文件的后缀,对于文件的属性,没有任何影响
  • 2)因此,vi创建的shell脚本的后缀可以不是.sh

例如:创建一个文件 new.sh

[root@localhost ~]# vim new.sh

第二步:在sh文件中写入指令

  • 第一行固定写法:#!/bin/bash
  • 从第二行开始,写你想要执行的命令

# 要求:在shell脚本中,

# 1)在home下创建一个文件a.txt            touch /home/a.txt #

2)删除tmp下的所有的文件                    rm -rf /tmp/*

# 3)创建一个用户tom                            useradd tom

# 4)查看etc下有哪些文件                      ls /etc

shell脚本的内容

#!/bin/bash

touch /home/a.txt

rm -rf /tmp/*

useradd tom

ls /etc

第三步:给脚本赋予权限

[root@localhost ~]# chmod +x new.sh

第四步:执行脚本

[root@localhost ~]# ./new.sh

3.shell流控制

1)循环

  • 周而复始执行一个命令

格式:

for 变量 in 列表

do

done

for的执行流程

  • 1)量列表中的元素,拿出一个赋值给变量,然后执行do和done之间的代码
  • 2)do和done之间的代码执行完成后,会再次去列表中取出一个元素,然后执行do和done之间的代 码
  • 3)do和done之间的代码执行完成后,会再次去列表中取出一个元素,然后执行do和done之间的代 码
  • 4)当列表中的元素用尽了,就会结束循环,结束循环后,才会去执行done后面的代码

案例:

#!/bin/bash

for num in 1 2 3 4 5 6 7 8 9 10

do

       echo "hello"

       echo "a"

done

      echo "over"

执行流程

首先 将 1 赋值给 num,然后输出 hello 和 a

  • 输出后,再去将2 赋值 num,然后输出 hello 和 a
  • 输出后,再去将3 赋值 num,然后输出 hello 和 a
  • 输出后,再去将4 赋值 num,然后输出 hello 和 a ...
  • 输出后,再去将10 赋值 num,然后输出 hello 和 此时列表结束,此时会执行done后面的内容,也就是输出over

2)判断

  • 只有当符合条件的时候,才会执行命令

格式1:

if [ 判断条件 ];then

      语句

fi

  • 这种格式称之为单分支格式 
  • 中间的语句,必须当条件满足的时候,才会执行

格式2:

if [ 判断条件 ];then

         语句1

else

        语句2

fi

  • 这种格式称之为双分支格式 #
  • 中间的语句1,必须当条件满足的时候,才会执行
  •  当条件不满足的时候,会去执行语句2

案例:

#!/bin/bash                   # 指定解释器

m=3                            # 定义变量,变量名是m,变量中的值是3

n=5                             # 定义变量,变量名是n,变量中的值是5

if [ $m -gt $n ];then

           

    # 条件是m中的值大于n中的值。变量名前必须加上$才能获得变量中的值   

     

     echo "ok"                      # 当条件成立,输出这里的内容

     echo "$m"

else

     echo "error"                 # 当条件不成立,输出这里的内容

     echo "$n"

fi

4.shell脚本和计划任务

案例:要求每天晚上23点55分1执行如下操作

  • 1)在home下创建一个文件
  • 2)删除tmp下的所有的文件
  • 3)创建一个用户
  • 4)查看etc下有哪些文件

第一步:用vim创建一个文件

[root@localhost ~]# vim 1.sh

第二步:文件内容如下

#!/bin/bash

touch /home/a.txt

rm -rf /tmp/*

useradd tom

ls /etc

  • 然后进入末行模式 wq保存退出

第三步:给这个脚本赋予权限

[root@localhost ~]#chmod +X 1.sh

第四步:创建一个计划任务

[root@localhost ~]#chmod -e 

内容如下

55 23 * * *bash  /1.sh

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

软件测试第一阶段:web前端技术基础-16- linux系统安装软件,运用shell脚本等 的相关文章

  • 段错误...关于你好世界

    这段代码非常简单 但我在 x86 64 Linux 系统上遇到了段错误 这让我很烦恼 刚开始接触asm 请耐心等待 与 NASM 组装nasm f elf64 test asm 与连接ld o test test o SECTION tex
  • 何时用引号将 shell 变量括起来?

    我应该或不应该在 shell 脚本中用引号括住变量吗 例如 下列说法正确的是 xdg open URL eq 2 or xdg open URL eq 2 如果是这样 为什么 一般规则 如果它可以为空或包含空格 或实际上任何空格 或特殊字符
  • 如何通过 makefile 在 Linux 上安装程序? [复制]

    这个问题在这里已经有答案了 可能的重复 Linux Unix make install 应该包含什么 https stackoverflow com questions 528399 what should linux unix make
  • 如何将一个文本文件拆分为多个 *.txt 文件?

    我有一个文本文件file txt 12 MB 包含 something1 something2 something3 something4 有没有办法分开file txt分成 12 个 txt 文件 比方说file2 txt file3 t
  • 如何从 Bash 命令行在后台 Vim 打开另一个文件?

    我正在从使用 Gvim 过渡到使用控制台 Vim 我在 Vim 中打开一个文件 然后暂停 Vim 在命令行上运行一些命令 然后想返回到 Vim Ctrl Z 在正常模式下 暂停 Vim 并返回到控制台 fg可用于将焦点返回到 Vim job
  • MySQL 与 PHP 的连接无法正常工作

    这是我的情况 我正在尝试使用 Apache 服务器上的 PHP 文件连接到 MySQL 数据库 现在 当我从终端运行 PHP 时 我的 PHP 可以连接到 MySQL 数据库 使用 php f file php 但是当我从网页执行它时 它只
  • 为什么 OS X 和 Linux 之间的 UTF-8 文本排序顺序不同?

    我有一个包含 UTF 8 编码文本行的文本文件 mac os x cat unsorted txt foo foo 津 如果它有助于重现问题 这里是文件中确切字节的校验和和转储 以及如何自己生成文件 在 Linux 上 使用base64 d
  • Crontab 每 5 分钟一次 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我如何告诉 crontab 每 5 分钟运行一次 但从每小时的第二分钟开始 换句话说 我想在以下时间执行我的脚本minute 5 2 例如 我的脚本应
  • “git add”返回“致命:外部存储库”错误

    我刚刚进入 git 的奇妙世界 我必须提交我对程序所做的一系列更改 位于名为的目录中 var www myapp 我创建了一个新目录 home mylogin gitclone 从这个目录中 我做了一个git clone针对公共回购 我能够
  • 使用 libusb 输出不正确

    我用libusb编写了一个程序 我怀疑输出是否正确 因为所有条目都显示相同的供应商和产品 ID 以下是代码 include
  • 如何才能将 TCP 连接返回到同一端口?

    机器是 RHEL 5 3 内核 2 6 18 有时我在 netstat 中注意到我的应用程序有连接 建立了 TCP 连接本地地址 and 国外地址是一样的 其他人也报告了同样的问题 症状与链接中描述的相同 客户端连接到本地运行的服务器的端口
  • 在 docker 中重定向命令输出

    我想为我的服务器做一些简单的日志记录 它是一个在 Docker 容器中运行的小型 Flask 应用程序 这是 Dockerfile Dockerfile FROM dreen flask MAINTAINER dreen WORKDIR s
  • ssh 连接超时

    我无法在 git 中 ssh 到 github bitbucket 或 gitlab 我通常会收到以下错误消息 如何避免它 输出 ssh T email protected cdn cgi l email protection i ssh
  • 在内核代码中查找函数的最佳方法[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我开始浏览内核代码 遇到的一件事是如何跟踪函数调用 结构定义等 有没有一种好的方法可以快速跳转到函数定义并退出 我尝试过 Source N
  • 为什么 Linux 原始套接字的 RX 环大小限制为 4GB?

    背景 我试图mmap 我的原始套接字的 RX 环形缓冲区64 bitLinux 应用程序 我的环由 4096 个块组成 每个块大小为 1MB 总共 4GB 请注意 每个 1MB 块中可以有许多帧 如果您好奇 请参阅此文档了解背景信息 htt
  • 执行命令而不将其保留在历史记录中[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 在进行软件开发时 经常需要在命令行命令中包含机密信息 典型示例是将项目部署到服务器的凭据设置为环境变量 当我不想将某些命令存储在命令历史记
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win
  • linux下无法创建僵尸进程

    嗯 我有一个奇怪的问题 我无法在我的项目中创建僵尸进程 但我可以在其他文件中创建僵尸进程 有简单的说明 int main if fork 0 printf Some instructions n else sleep 10 wait 0 r
  • python获取上传/下载速度

    我想在我的计算机上监控上传和下载速度 一个名为 conky 的程序已经在 conky conf 中执行了以下操作 Connection quality alignr wireless link qual perc wlan0 downspe
  • 通过 Visual Studio 2017 使用远程调试时 Linux 控制台输出在哪里?

    我的Visual Studio 2017 VS2017 成功连接Linux系统 代码如下 include

随机推荐

  • C++中的并行与并发

    1 1 并行基础 std thread 用于创建一个执行的线程实例 所以它是一切并发编程的基础 使用时需要包含
  • 夜夜肝到秃顶,2022年Java面试题目收集整理归纳

    开始的碎碎念 本文大多是各大企业的topN题目 针对java中高级开发 本文会持续收集更新内容 如果大家有优质的Java面试题 也欢迎大家来投稿 特意整理出这个分类的目录 方便大家平时复习和收藏哈 希望正在准备面试的朋友们能顺顺利利找到自己
  • 用python进行图片处理和特征提取

    原文来自 http www analyticsvidhya com blog 2015 01 basics image processing feature extraction python 毫无疑问 上面的那副图画看起来像一幅电脑背景图
  • 区块链 2.0笔记

    区块链 2 0 以太坊概述 相对于比特币的几点改进 缩短出块时间至10多秒 ghost共识机制 mining puzzle BTC 计算密集型 ETH memory hard 限制ASIC proof of work gt proof of
  • 【每日一题】1572. 矩阵对角线元素的和

    每日一题 1572 矩阵对角线元素的和 1572 矩阵对角线元素的和 题目描述 解题思路 1572 矩阵对角线元素的和 题目描述 给你一个正方形矩阵 mat 请你返回矩阵对角线元素的和 请你返回在矩阵主对角线上的元素和副对角线上且不在主对角
  • 解决Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'.

    一 Android Studio 引用多个jar aar或者工程时出现 com Android build api transform TransformException Java util zip ZipException duplic
  • C# language Study - 1

    本节讲叙了一些基本的C 语法上的知识 这些知识一般都是在C语言中接触不到的 最基础的 C语言中也存在的知识点 就略过不提了 1 C 中预定义的值类型 a 整型 sbyte System SByte 8位有符号整数 short System
  • 华为OD机试 - 快速开租建站(Java)

    题目描述 当前IT部门支撑了子公司颗粒化业务 该部门需要实现为子公司快速开租建站的能力 建站是指在一个全新的环境部署一套IT服务 每个站点开站会由一系列部署任务项构成 每个任务项部署完成时间都是固定和相等的 设为1 部署任务项之间可能存在依
  • 华为od机试题2 真题

    华为od机试题 真题 77 满足最大消费额度 76 小朋友身高位置 75 字符连续出现最大次数 74 最少停车数 73 字母多条件排序 71 交叉排序 70 水仙花数 69 消除相邻且相同字母 以下题目附带Java解法 是我个人写的 不一定
  • RobotFramework入门(二)appUI自动化之app启动

    前言 本章主要讲述appUI自动化的一个小示例 ps 这里虽然是一个小示例 但如果你要通过robot去做appUI自动化 思路都是一样的 可以自行搜索关键字组合去使用 其实正常情况下 我们会直接使用代码去实现自动化 而不是在ride上实行哈
  • discuz主题列表页伪静态化设置方法(lnmp+wamp+lamp通用)

    大家都知道在discuz程序中 伪静态化后 门户文章跟帖子内容都可以设置成功并能正常的访问 但是在论坛帖子的列表页却还是动态的地址 http www 52hgn com forum php gid 40 比如这种 我们想把他变成这种静态地址
  • Java从入门到实战总结-4.4、JDBC

    Java从入门到实战总结 4 4 JDBC 文章目录 Java从入门到实战总结 4 4 JDBC 1 简介 2 JDBC体系结构 3 JDBC核心组件 4 CRUD语法介绍 回顾 5 使用步骤 6 JDBC连接步骤 6 1 JDBC执行SQ
  • ES6非空判断

    es6 Null传导运算符 const firstName message body user firstName default 运算符相当于一种短路机制 只要不满足条件 就不再往下执行 Null 判断运算符 属性的值为null unde
  • gitLens插件简单使用(默认上传github)

    1 安装 在vscode中的插件管理输入如下后下载 GitLens Git supercharged 2 配置 点击文件 首选项 设置 点击右上角设置小图标 3 github使用 首先仓库文件一定是要git init是git所管理的 1 在
  • Quartus II 安装

    本次介绍使用的 Quartus 版本为 10 1 目前 Quartus II 官网已经没有 13 1 以下版本的安装包 大家可以安装 13 1 以上版本的软件 功能都是大同小异 下载地址 FPGA Software Download Cen
  • 16进制(CRC16)(MODBUS RTU通讯)校验码在线计算器

    最近在项目上遇到 用485协议命令控制灯光继电器的开关需要计算16进制 CRC16 MODBUS RTU通讯 校验码来写控制命令 这种在网上有现成的计算器 我们直接使用即可 以下为我用的一个计算器的链接 个人感觉还是蛮好用的 同时他还涵盖了
  • react Native java JDK与Gradle版本不兼容 构建失败

    react Native 版本介绍 本篇适用react Native已经搭建了java jdk 1 8的版本开发环境 如果需要写0 67版本及以上的项目 现在的gradle版本比较高 比如gradle6 0 构建版本和打包的时候会出现不兼容
  • ThinkPhp5使用bootstrap样式分页

    1 查看分页的配置 在application config php文件中最后 分页配置 paginate gt type gt bootstrap var page gt page list rows gt 15 2 下载 https v3
  • 04-Qt软件加入Log文件输出与终端彩色打印(包含行号)

    一 目的与需求 在开发qt应用程序中 经常使用打印调试软件 qt自己的qDebug 就满足了需求 但是当需要把一部分log记录到文件的时候qt就没有提供了 这个时候可以使用qDebug 的qInstallMsgHandler来指定打印回掉函
  • 软件测试第一阶段:web前端技术基础-16- linux系统安装软件,运用shell脚本等

    一丶yum安装 用yum安装软件分三步 第一步 准备一个软件源 软件源其实就是一个目录 在这个目录中有很多的rpm包 第二步 创建yum的配置文件 文件需要指向到软件源 第三步 用yum进行安装 卸载软件 第一步 配置软件源 1 首选将系统