Unit2:大数据入门之Shell

Unit2:大数据入门之Shell

学习目标:

1、了解基础语法结构
2、知道正则表达式的概念以及运用
3、学习文本处理工具 cut、sed、awk等
4、能使用Shell完成一些复杂的命令


前言:

早出晚归的不一定是花心,更多的是努力


一、 Shell(壳)概述

  1. 从根本上来讲,Shell是一个命令行解释器,用于接收命令,然后调用内核。
  2. Shell是一个强大的编程语言,易编写、易调试、灵活性强,是一门常用的解释性语言。
  3. 运行原理:(从外到内依次为)外层应用程序——>Shell——>Linux内核——>硬件。
(1)什么是解释性语言:

顾名思义,程序在运行的时候由解释器翻译成计算机语言,每执行一次就要对其进行翻译,因此执行效率较慢。
(如:Python、JavaScript、Shell等等)

(2)什么是编译型语言

在程序执行之前需要有一个专门编译的过程,运行时直接使用编译的结果就行,运行时脱离开发环境,相比而言效率更高。
(如C、C++、Java等等)


二、Shell解释器和脚本入门

1. 不同种类的解析器
  • 在Linux中,它提供了不同的解析器,我们可以通过cat/etc/shell文件即可读取
  • Centos默认的解析器是bash
    Unit2:大数据入门之Shell_第1张图片
2. Shell脚本基础知识

(1)Shell脚本可以做什么?

  1. 可以帮助提高产品的应用水平。
  2. 可以减少开发人员日常工作量,相当于一个工具箱。
  3. 对于开发人员来说有着举足轻重的作用。

(2)脚本的固定格式

  • 第一行用来定义解析器
  • 第二行对脚本进行说明解释
  • 前两步完成之后就可以写执行命令了

(3)脚本的两种执行方式

  • 第一种:采用bash或sh+脚本的相对路径或绝对路径(不用赋予脚本+x权限)
  • 第二种:采用输入脚本的绝对路径或相对路径执行脚本(必须具有可执行权限+x,推荐采用这种方式)
(注意:第一种执行方法,本质是bash解析器帮你执行脚本,所以脚本自身不需要执行权限。第二种执行方法,本质是脚本需要自己执行,所以需要执行权限。)

三、语法结构

(1)变量
(2)数组
(3)运算符
(4)条件语句
(5)流程控制
(6)读取控制台输入
(7)函数
(8)文本处理

四、面试官拷问

  1. 问题1:怎样获取随机字符串
  2. 问题2:使用Shell怎样实现冒泡排序
  3. 问题3:解释型语言以及翻译型语言他们的区别是什么
  4. 问题4:编写一个脚本实现功能和步骤如下
    1>、修改主机名、
    2>、修改静态ip地址、
    3>、添加主机ip映射关系、
    4>、 关闭防火墙、
    5>、 重启
  5. 问题5:谈谈你对特殊变量的理解
  6. 问题6:怎样监控cpu、内存和硬盘利用率
  7. 问题7:什么是Shell,它是必须的吗
  8. (持续更新。。)

你可能感兴趣的:(大数据第一阶段,shell,linux,编程语言)