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

SHELL用法一(基本概念)的更多相关文章

  1. Linux编程 9 (shell类型,shell父子关系,子shell用法)

    一. shell类型 1.1  交互式 bin/ shell程序 当用户登录到某个虚拟控制台终端或是在GUI中启动终端仿真器时,默认的shell程序就会开始运行.系统启动什么样的shell程序取决于你 ...

  2. scrapy shell 用法(慢慢更新...)

    scrapy shell 命令 1.scrapy shell url #url指你所需要爬的网址 2.有些网址数据的爬取需要user-agent,scrapy shell中可以直接添加头文件, 第①种 ...

  3. hive的shell用法(脑子糊涂了,对着脚本第一行是 #!/bin/sh 疯狂执行hive -f 结果报错)

    hive脚本的执行方式 hive脚本的执行方式大致有三种: hive控制台执行: hive -e "SQL"执行: hive -f SQL文件执行:参考hive用法: usage: ...

  4. C++并发与多线程学习笔记--互斥量、用法、死锁概念

    互斥量(mutex)的基本概念 互斥量的用法 lock(), unlock() std::lock_guard类模板 死锁 死锁演示 死锁的一般解决方案 std::lock()函数模板 std::lo ...

  5. PLSQL_PLSQL Hint用法总结(概念)

    2014-06-20 Created By BaoXinjian

  6. CreateObject("Wscript.Shell")用法

    WScript.Shell是WshShell对象的ProgID,创建WshShell对象可以运行程序.操作注册表.创建快捷方式.访问系统文件夹.管理环境变量. 该对象有一个run方法. Run 方法创 ...

  7. Linux Shell 用法

    目录 Shell test 命令 数值测试 字符串测试 文件测试 函数返回值 Shell test 命令 Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值.字符和文件三个方面的测 ...

  8. 学以致用十八-----shell脚本之基础概念及变量

    1.脚本脚本,说了很多年的脚本,一直都没怎么弄明白为什么叫脚本,还仅仅是script翻译过来的?今天再查看翻译,查阅了资料,对脚本有了个新的认识. script也叫剧本,脚本---剧本,像剧本一样,让 ...

  9. 【Shell 编程基础第一部分】第一个Shell脚本HelloShell及一些简单的Shell基础书写与概念;

    http://blog.csdn.net/xiaominghimi/article/details/7603000 本站文章均为李华明Himi原创,转载务必在明显处注明:转载自[黑米GameDev街区 ...

随机推荐

  1. 106.HttpResponse对象详解

    HttpResponse对象 Django服务器接收到客户端发送过来的请求之后,会将提交上来的这些数据封装成一个HttpResquest对象传给视图函数.那么视图函数在处理完成相关的逻辑后,也需要返回 ...

  2. 89.QuerySet API常用方法使用详解:count,first,last,aggregate,exists

    1.count():计算数据的个数. 计算数据的个数可以使用count,在python中使用len()也可以计算数据的个数,但是相对来说效率没有使用count()效率高,因为在底层是使用select ...

  3. docker 一些简略环境搭建及部分链接

    1.center 7  搭建 docker https://www.cnblogs.com/yufeng218/p/8370670.html 2.docker 命令 https://www.cnblo ...

  4. dubbo的启动时检查

    修改的消费者(xml) 修改的消费者(注解)

  5. day53-线程池

    #1.from concurrent import futures可以开启进程池和线程池.concurrent是包,futures是模块,ThreadPoolExecutor是类,submit是方法. ...

  6. 七种常见经典排序算法总结(C++实现)

    排序算法是非常常见也非常基础的算法,以至于大部分情况下它们都被集成到了语言的辅助库中.排序算法虽然已经可以很方便的使用,但是理解排序算法可以帮助我们找到解题的方向. 1. 冒泡排序 (Bubble S ...

  7. 吴裕雄--天生自然python学习笔记:python 用pyInstaller模块打包文件

    要想在没有安装 Python 集成环境的电脑上运行开发的 Python 程序,必须把 Python 文件打包成 .exe 格式的可执行 文件. Python 的打包工作 PyInstaller 提供了 ...

  8. Linux使用/proc/stat计算CPU使用率

    在Linux下,CPU利用率分为用户态,系统态和空闲态,分别表示CPU处于用户态执行的时间,系统内核执行的时间,和空闲系统进程执行的时间,三者之和就是CPU的总时间,当没有用户进程.系统进程等需要执行 ...

  9. locate及find查找命令

    在文件系统上查找符合条件的文件:       实现工具:locate,find locate:       依赖于事先构建好的索引库:       系统自动实现(周期性任务):       手动更新数 ...

  10. vue2.0学习之路由

    下载vue-router: cnpm install vue-router --save router/main.js /*引入所需要的组件*/ import VueRouter from 'vue- ...