1. SHELL 编程概念入门
1)一个完整 Linux 操作系统(Linux 内核),默认用户是不能直接操作 Linux 内核,需要借助第三方的程序或者软件去操作,例如桌面工具、命令行工具(SHELL)。
2)SHELL 是 Linux 操作系统的外壳,可以将 SHELL 程序理解为中间件,位于用户和 Kernel 之间的沟通桥梁,SHELL 主要是用于接收用户输入的指令,对指令进行解析,并且发送给 Linux 内核。
3)Linux 内核接收到指令之后,会进行处理,会将处理完成的数据信息返回给 SHELL,最终 SHELL 将数据进行解析展示(返回)给用户使用者。
4)SHELL 程序软件类似 Windows 系统的 CMD 命令行,SHELL 看成是命令解释器,用户输入指令,最终通过 SHELL 解释器返回数据。
5)大多数的 Linux 操作系统(Linux 内核),启动之后,启动默认的 SHELL 程序(解释器),CentOS、RHEL、Ubuntu 系统的 SHELL程序:/bin/bash,SHELL 种类比较繁多,不同的 SHELL 的集成的
命令不一样,使用界面各不相同。
6)SHELL 编程的概念?
 SHELL 编程是在 SHELL 解释器中编写不同的指令,将不同的指令按照一定的逻辑关系和顺序堆积在文本文件中(SHELL 脚本),最终文本文件中的指令会在 SHELL 解释器中去执行,从而完成某个需求,整个过程称为 SHELL 编程。
7)SHELL 编程的规范?
 SHELL 编程的产物是 SHELL 脚本;
 脚本命名后缀以.sh 结尾的;
 脚本名称可以使用大小写字母、数字、-、_命名,推荐使用
跟脚本内容相关小写字母关键词命名; 脚本内容第一行以#!开头,表示强调和标识,其后接 SHELL解释器的类型;
 SHELL 代码编程时,尽量多的使用注释和说明;
8)SHELL 编程的意义?
2. SHELL 编程实战 Nginx WEB 平台(v1 版本)
1)Nginx 官网下载 Nginx 软件包稳定版本;
2)解压 Nginx 软件包&进入源代码目录;
3)安装 Linux 系统基础库、依赖的文件;
4)预编译,检查 Linux 系统 GCC、库文件,会产生 Makefile;
5)编译,执行 make 工具读取 Makefile 文件,调用 C 编译器;
6)安装,将 make 编译产生二进制文件拷贝至指定的目录;
7)启动,将 Nginx 二进制程序以进程的方式启动,对外提供服务访问;
#!/bin/bash
# 年  月  日 ::#auto install nginx web.
#by author www.jfedu.net
#########################
yum install -y wget tar gzip make openssl-devel
yum install -y gcc pcre pcre-devel zlib-devel
wget -c http://nginx.org/download/nginx-1.16.0.tar.gz
.tar.gz
cd nginx-
useradd -s /sbin/nologin www -M
./configure --prefix=/usr/local/nginx --user=www
--group=www
make
make install
/usr/local/nginx/sbin/nginx
ps -ef|grep nginx
netstat -tnlp|
setenforce
systemctl stop firewalld.service
3. SHELL 编程变量剖析(Nginx v2 版本)
1)变量是可变的值,跟常量(固定的数值)是相对立的,变量的值是可以随机修改的,变量赋值使用=,例如 A=www.jfedu.net,引用变量的值时,使用$A。变量主要是用于临时记录常用的信息,
变量信息存储在内存缓冲区,重启系统变量消失。
2)使用变量可以降低后续使用的信息时,变得简单、降低复杂度,类似 alias 别名机制。
3)SHELL 编程变量分为三种:
 用户变量
用户变量被称为是用户自定义的变量,局部变量,临时生效的,
例如:
A=www.jfedu.net
WEB=www.baidu.com
X_M=1101011994
 系统变量
系统变量是 Linux 系统内置的变量,主要是用于参数的定义、引用、结果的判断等,永久生效的,例如:
$?判断上一个命令执行成功或者失败;
$1 调用执行脚本时给定的第一个位置参数;
 环境变量
4)
#!/bin/bash
# 年  月  日 ::#auto install nginx web.
#by author www.jfedu.net
########################
NGX_VER="1.16.0"
NGX_YUM="yum install -y"
NGX_DIR="/usr/local/nginx"
NGX_SRC="nginx-$NGX_VER"
NGX_SOFT="nginx-${NGX_VER}.tar.gz"
NGX_ARGS="--user=www --group=www"
NGX_URL="http://nginx.org/download"
$NGX_YUM wget tar gzip make openssl-devel
$NGX_YUM gcc pcre pcre-devel zlib-devel
wget -c
$NGX_URL/$NGX_SOFT
tar -xzf $NGX_SOFT
cd $NGX_SRC
useradd -s /sbin/nologin www -M
./configure --prefix=$NGX_DIR $NGX_ARGS
make
make install
$NGX_DIR/sbin/nginxps -ef|grep nginx
netstat -tnlp|
setenforce
systemctl stop firewalld.service

最新文章

  1. Delphi_03_Delphi_Object_Pascal_基本语法_01
  2. java25
  3. jQuery监听文本框值改变触发事件(propertychange)
  4. 在 Django 模板中遍历复杂数据结构的关键是句点字符
  5. Android 学习笔记之AndBase框架学习(七) SlidingMenu滑动菜单的实现
  6. linux下core文件调试方法
  7. UIDatePikcer的基本用法
  8. 使用markdown语法撰写csdn博客
  9. Vim 7.4.1952 with Python/Ruby/Lua/Perl/C Syntax built for Ubuntu 16.04 x86_64
  10. react系列从零开始-react介绍
  11. MIP (百度移动网页加速器)
  12. hdu 5317 合数分解+预处理
  13. VSCode+Xdebug断点调试PHP(全攻略)
  14. go 笔记
  15. ArrayList 除重
  16. Hibernate的cascade属性 特别是 cascadeType.all的 作用
  17. 无需破解:Windows Server 2008 R2 至少免费使用 900天
  18. Spring AOP 之编译期织入、装载期织入、运行时织入(转)
  19. Java_10.1继承应用
  20. How to make a USB stick use ISO image file in debian

热门文章

  1. ICRA 2019最佳论文公布 李飞飞组的研究《Making Sense of Vision and Touch: Self-Supervised Learning of Multimodal Representations for Contact-Rich Tasks》获得了最佳论文
  2. Delphi 通过脚本 在 设计期 改 控件name 属性
  3. 17.3.12--uillib模块
  4. 吴裕雄--天生自然 PHP开发学习:MySQL 插入多条数据
  5. 用Matplotlib画三维图片的一个实例
  6. Django-rest framework框架的三大认证组件
  7. 蓝桥杯2015-省赛-C/C++-A组2题 星系炸弹
  8. java常见的 http 请求库比较
  9. 剑指offer【12】- 二进制中1的个数
  10. C语言笔记 16_标准库&stdio&stdlib&string&time