首页 > 系统相关 >自动化运维--Shell篇(1)

自动化运维--Shell篇(1)

时间:2024-07-05 14:53:03浏览次数:20  
标签:脚本 shell 运维 -- echo 命令 Shell bash

1.Shell快速入门

1.1 运维

  • 运维是什么?

公司的技术岗位

  • 运维的工作范围

  • 以天天生鲜项目为例:

规划:我们需要多少资源来支持项目的运行
管理:项目运行过程中的所有内容都管理起来
流程规范:所有操作都形成制度,提高工作效率
平台:大幅度提高工作效率
监控:实时查看项目运行状态指标
告警:状态指标异常,告知工作人员处理
安全:网站运营安全措施
优化:保证用户访问网站体验很好
考核:权责分配,保证利益

自动化运维就是将图里面所有的工作都使用自动化的方式来实现。 实现自动化的方式很多,常见的方式:工具和脚本

  • 工作中常见的脚本有哪些呢?

shell脚本其他开发语言脚本
(注意:shell脚本就是shell编程的一种具体实现)

1.2 Shell简介

既然我们是来学shell,首先第一个问题:shell是什么?

1.2.1 什么是shell (命令编程)

Shell的定义:

在计算机科学中,Shell就是一个命令解释器。
shell是位于操作系统和应用程序之间,是他们二者最主要的接口,shell负责把应用程序的输入命令信息解释给操作系统,将操作系统指令处理后的结果解释给应用程序。

  • shell位置图
    image

总结:一句话,shell就是在操作系统和应用程序之间的一个命令翻译工具。

1.2.2 Shell的分类

(1). 基本上Shell分两大类: 图形界面shell命令行shell 

  • 图形界面shell
    图形界面shell就是我们常说的桌面

  • 命令行式shell
    windows系统: cmd.exe 命令提示字符
    linux系统: sh / csh / ksh / bash / ...

我们常说的shell是命令行式的shell,在工作中常用的是linux系统下的bash。
image

(2). 查看系统shell信息
查看当前系统的shell类型: echo $SHELL

(3).echo命令: 用于字符串的输出 
echo命令格式:echo string
image
其他echo介绍: https://www.cnblogs.com/Spiro-K/p/6360489.html

查看当前系统环境支持的shell---【root账户下 #】 cat /etc/shells

[root@linux-node1 ~]# cat /etc/shells
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin

1.2.3 shell 脚本

  • shell使用方式

(1).手工方式: (单个命令执行)
手工敲击键盘,在shell的命令行输入命令,按Enter后,执行通过键盘输入的命令,然后shell返回并显示命令执行的结果。

重点:逐行输入命令,逐行进行确认执行

(2).脚本方式: (批量执行命令)
就是说我们把手工执行的命令a,写到一个脚本文件b中,然后通过执行脚本b,达到执行命令a的效果。 

  • shell脚本定义:
    当可执行的Linux命令或语句不在命令行状态下执行,而是通过一个文件执行时,我们称文件为shell脚本。

  • shell脚本示例
    现在我们来使用脚本的方式来执行以下:(vim itcast.sh)

#!/bin/bash
# 这是临时shell脚本
echo 'nihao'
echo 'itcast'

脚本执行效果 (/bin/bash itcast.sh)

[root@linux-node1 ~]# /bin/bash itcast.sh 
nihao
itcast

标签:脚本,shell,运维,--,echo,命令,Shell,bash
From: https://www.cnblogs.com/SuperLee017/p/18285818

相关文章

  • 【设计模式(五)】创建型模式--建造者模式
    创建型模式的主要关注点是“怎样创建对象?”,它的主要特点是“将对象的创建与使用分离”。这样可以降低系统的耦合度,使用者不需要关注对象的创建细节。概述:建造者模式注重的是部件构建的过程,意在通过一步一步地精确构造创建出一个复杂的对象。建造者(Builder)模式包含如下角色:......
  • 低代码框架选型注意事项
    低代码框架这些年在企业软件行业可谓是烂大街的一个概念,网上一搜各种低代码框架琳琅满目,搜索引擎翻十页不带重样的。笔者在一个甲方公司的信息部搬砖,今年遇到过几次和软件供应商交流完产品和解决方案后,供应商强调他们是的底座是个低代码平台,后期运维开发很快,着实让人想不到。......
  • Maven依赖排除和冲突解决
    maven中有很多包会重复引入依赖,首先jar包冲突后会有就近原则和先声明者优先(前面的优先)作为一个专业的开发,我们掌握的工具必须齐全,尽量少重复造轮子,但要知道轮子原理:mavenhelp其次是依赖排除,这两张图显示.Conflicts显示重复依赖AllDependenciesasList集合形式显示......
  • 面试必会之JAVA基础篇
    1.Final有什么用?被final修饰的类不可以被继承被final修饰的方法不可以被重写被final修饰的变量不可以被改变被final修饰不可变的是变量的引用,而不是引用指向的内容,引用指向的内容是可以改变的finalArrayList<Integer>finalList=newArrayList<>();//初始化后,finalL......
  • PyTorch基本操作
    PyTorch基本操作torch.allclose是一个PyTorch函数,用于检查两个张量是否在某个容忍度范围内近似相等torch.allclose(input,other,rtol=1e-05,atol=1e-08,equal_nan=False)input(Tensor)–第一个输入张量other(Tensor)–第二个输入张量rtol(float)–相对容忍度a......
  • 空洞文件
    实际上这些数据并没有被存储在磁盘上。当创建一个空洞文件时,文件系统会记录这些“空洞”,但并不会在物理介质上实际分配和保存未使用的空间,从而节省了实际的存储空间。举例来说,如果你创建一个大小为1GB的空洞文件,其中写入了大量的零字节据,实际上只有少量的数据(例如文件指针处......
  • Box,一个字典操作python库
     Box介绍Box是一个让字典操作变得异常简单与直观,支持通过属性访问字典内容的库。 特点概述属性访问Box允许用户像访问对象属性一样访问字典的值,提升了代码的可读性和易用性。无缝嵌套自动将嵌套的字典转换为Box对象,使得处理复杂字典结构变得轻而易举。灵活性......
  • Python速通(条件语句)
    (牛牛的选择)牛牛在牛客网经过了两次笔试分别获得了Tencent和Alibaba的面试资格,不巧的是这两次面试的时间冲突了。两家公司牛牛都想去,他决定通过笔试的成绩判断去参加哪家公司的面试。现在输入两行浮点数,分别表示牛牛在Tencent和Alibaba的笔试成绩,请比较两个成绩,输出笔试成绩较高的......
  • 断点续传:使用java对大文件进行分块与合并
    通常我们下载上传的视频文件比较大。虽然https协议没有规定上传文件大小的限制,但是网络的质量,电脑硬件的参差不齐可能会导致大文件快要上传完成的时候突然断网了要重新上传,非常影响用户体验。以此我们引入了断点续传的功能。什么是断点续传呢?就是我们在上传下载文件的时候,将一个......
  • 安装Redis出现的问题
    当我使用brew下载redis时系统:macOS14$brewinstallredis报错信息:Error:git:unknownorunsupportedmacOSversion::dunnoError:'git'mustbeinstalledandinyourPATH!Warning:YouareusingmacOS14.Wedonotprovidesupportforthispre-releaseve......