目录
通过编写shell命令发送给Linux内核去执行,操作就是计算机硬件,所以Shell命令是用户操作计算机硬件的桥梁。
Shell是命令,类似于Windows系统Dos命令
Shell是一门程序设计语言,Shell里面含有变量,函数,逻辑控制语句等等
Shell脚本:
通过Shell命令或程序编程语言编写的Shell文本文件,这就是Shell脚本,也叫Shell程序
Shell脚本的好处
通过Shell命令与编程语言来提高Linux系统的管理工作效率
Shell的运行过程
当用户下达指令给该操作系统的时候,实际上是把指令告诉shell,经过shell解释,处理后让内核做出相应的动作,系统的回应和输出的信息也由shell处理 ,然后显示在用户的屏幕上
Shell解析器
查看Linux系统centos支持的shell解析器
cat /etc/shells
解析器类型
Centos默认的解析器是bash
语法 echo $SHELL
含义:打印输出当前系统环境使用的shell解析器类型
ehco 用于打印输出数据到终端
$SHELL 是全局共享的读取解析器类型环境变量,全局环境变量的所有的shell程序都可以读取变量
效果
小结:
1、Shell是什么:
是命令,类似于Windows中的dos命令 又是一门程序设计语言,里面含有变量,函数,逻辑控制语句等
2、Shell脚本是什么
是一个文本文件,里面可以编写Shell命令或进行编程,形成一个可重用执行的脚本文件
3、Shell脚本的作用
通过Shell编程提高对Linux系统管理工作效率
4、Linux系统默认的shell解析器
/bin/bash
Linux系统是如何操作计算机硬件CPU,内存,磁盘,显示器等?
答:使用Linux的内核操作计算机的硬件
shell脚本文件就是一个文本文件,后缀名建议使用.sh
结尾
首行需要设置Shell解析器的类型,语法
#!/bin/bash
含义:设置当前shell脚本文件采用bash解析器运行脚本代码
单行注释:语法
#注释内容
多行注释:语法
:<<! 注释内容1 注释内容2 !
创建一个shell脚本文件helloWord.sh,输出hollow word字符串
1、创建shell脚本文件
toush helloword.sh
2、编辑文件
vim helloword.sh
运行效果
1、sh解析器执行方式
语法:sh 脚本文件
介绍:就是利用sh命令执行脚本文件,本子就是使用Shell解析器运行脚本文件
2、bash解析器执行方式
语法:bash 脚本文件
介绍:就是利用bash命令执行脚本文件,本子就是使用Shell解析器运行脚本文件
3、仅路径执行方式
语法:./脚本文件
介绍:执行当前目录下的脚本文件
注意:脚本文件自己执行需要具有可执行权限,否则无法执行
给所有用户增加权限: chmod a+x helloword.sh
sh或bash执行脚本文件是直接使用Shell解析器运行脚本文件,不需要可执行权限
仅路径方式是执行时执行脚本文件自己,需要可执行权限
1、Shell脚本文件编写规范
文件后缀名:建议使用.sh
拓展名
首行需要设置解析器类型#!/bin/bash
脚本文件中的注释
单行注释:#注释内容
多行注释:<<! 内容 !
2、执行脚本文件的三种方式,并说出他们的区别?
sh执行脚本文件
bash执行脚本文件
仅路径执行脚本文件
区别:前两种是解析器直接执行不需要可执行权限,最后一种是脚本自己执行需要可执行权限
介绍:就是在Shell脚本文件中编写多个Shell命令
案例需求
已知目录/root/itheima目录,执行batch.sh脚本,实现在/root/itheima/目录下创建一个one.txt文件中增加内容“Hello Shell”
步骤分析
1、使用mkdir创建/root/itheima目录
2、创建脚本文件batch.sh
3、编辑脚本文件
3.1 命令1:创建文件,文件名/root/itheima/one.txt
3.2 命令2:输出数据“Hello Shell” 到one.txt文件中
输出数据到文件中的命令:
????数据 >> 文件
4、执行脚本文件
1.理解什么是系统变量
2.掌握常用的系统变量都有哪些
变量用于储存管理临时的数据,这些数据都是在运行内存中的
1.系统环境变量
2.自定义变量
3.特殊符号变量
是系统提供的共享变量。是Linux系统加载shell的配置文件中定义的变量共享给所有的shell程序使用
1.全局配置文件
/etc/profile
/etc/profile.d/*.sh
/etc/bashrc
2.个人配置文件
当前用户/.bash_profile
当前用户/.bashrc
一般情况下,我们都是直接针对全局配置进行操作
在Linux系统中环境变量按照其作用范围不同大致可以分为系统环境变量和用户级环境变量
系统级环境变量:Shell环境加载全局配置文件中的变量共享给所有用户所有Shell程序使用,全局共享
用户级环境变量:Shell环境加载个人配置文件中的变量共享给当前用户的Shell程序使用,登录用户使用
查看命令
env
查看命令
set
echo $PATH