Shell

shell介绍

Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言
Shell是命令解释器,用来解释用户对操作系统的操作,也就是将我们用户执行的命令,翻译给内核,内核根据命令执行的结果,将结果反馈给用户
Shell 脚本(shell script),是一种为 shell 编写的脚本程序,业界所说的 shell 通常都是指 shell 脚本
Shell有很多种,我们一般使用的都是 bash

Linux的启动过程

BLOS - MBR - BootLoader(grub) - kernel - systemd - 系统初始化 - shell

BLOS:基本的输入输出系统,这个功能是在主板上的,通过BLOS来选择引导的介质,一般引导的介质有两种,一是早起使用到的光盘,二是硬盘。现在更多用的是网络的方式去引导

MBR:硬盘的主引导记录部分,硬盘是不是可以引导, 是通过这部分来确定的

BootLoader(grub): 这里就是Linux的部分了,Linux的部分首先不是内核的工作引导,而是通过grub这样的一个软件来引导,grub我们在Linux中称为BootLoader,主要用来启动和引导内核的一个工具。我们可以简单理解为BootLoader是用来选择哪一个内核及选择指定内核版本的,选定后我们就要启动内核了

kernel:内核

systemd:Linux的一号进程,如果是CentOS7以下的版本,头号进程是 init 进程。在systemd中,系统初始化的过程一部分是通过配置文件完成的,一部分是通过shell完成的,init中,系统初始化过程都是通过shell完成的

Shell脚本的格式

UNIX的哲学:一条命令只做一件事

为组合命令和多次执行,使用脚本文件来保存需要执行的命令

然后赋予该文件的执行权限(chmod u+rx filename)

Shell脚本的作用就是将一系列的命令操作整合在一个文件里,然后再下次执行的时候可以直接执行此文件,而不需要我们一步一步的执行所有命令

一般我们都是使用bash的方式来执行我们的脚本文件,我们的shell脚本文件一般使用 .sh 作为文件的后缀

标准Shell脚本需要包含的元素

  1. Sha-bang:就是每一个shell脚本文件的内容开头 以 #! 开头,是一个声明作用,如果我们使用 【bash 文件名.sh】 的方式来执行,那么此内容变不被识别,如果使用 【./文件名.sh】 的方式来执行,那么此文件头就表示告诉Linux系统,此文件需要使用 bash 脚本的,既告诉Linux,此文件是一个bash的脚本。下面是一般Sha-bang的内容:
1
#!/bin/bash
  1. 命令:这里说的就是我们之前学习的那么多的Linux命令

  2. “#” 开头的注释。在我们的shell脚本中,# 开头的行表示内容是注释

  3. 赋予文件可执行的权限。例如 chmod u+x aa.sh

执行命令的方式:

  1. bash ./filename.sh

  2. ./filename.sh

  3. source ./filename.sh

  4. .filename.sh

这里只需要注意:命令我们可以在一行中使用 ; 号隔开来写多个命令,但是一般我们是通过换行的方式来写多个命令

最后更新: 2020年04月10日 10:35

原始链接: https://jjw-story.github.io/2020/03/22/shell/

× 请我吃糖~
打赏二维码