[拾 得] 一枚迷人的贝壳 SHELL / Linux | shell 脚本初步入门
- 什么是shell
- shell的分类
- shell脚本的执行方式
- 了解shell的本质是什么
- 了解除bash这个shell之外,还有哪些shell
- shell 脚本以及shell脚本的执行方式/区别

- 文件管理 (File manager) 协调调度计算机中的大容量存储
- 设备驱动 (Device drivers) 使接入计算机的周边设备能相互通信
- 内存管理 (Memory manager) 协调调度计算机中的内存
- 进程调度 (Scheduler) 协调调度系统中的进程
- 时间调度 (Dispatcher) 给予进程CPU的使用时间
- 系统调用 (System calls) 进程请求系统内核去执行一些它(普通进程)没有权限执行的命令
- 简单概括, 内核负责管理计算机硬件资源(CPU, 内存, 硬盘, 周边设备I/O)的使用
- 简单地概括, shell 本质应该是CLI, 它是一个让用户通过命令行来实现和系统交互的接口.
.png)

.png)
.png)
2014年9月, bash曾曝出一个严重的漏洞CVE-2014-6271

.png)

.png)

Features of the Bourne shell versions since 1979 include:
- Built-in
testcommand – System III shell (1981) - # as comment character – System III shell (1981)
- Colon in parameter substitutions "${parameter:=word}" – System III shell (1981)
continuewith argument – System III shell (1981)cat <<-EOFfor indented here documents – System III shell (1981)- Functions and the
returnbuiltin – SVR2 shell (1984) - Built-ins
unset,echo,type– SVR2 shell (1984) - Source code de-ALGOL68-ized – SVR2 shell (1984)
- Modern "
$@" – SVR3 shell (1986) - Built-in
getopts– SVR3 shell (1986) - Cleaned up parameter handling allows recursively callable functions – SVR3 shell (1986)
- 8-bit clean – SVR3 shell (1986)
- Job control – SVR4 shell (1989)
- Multi-byte support – SVR4 shell (1989)
- Job control, command aliasing, and command history designed after the corresponding C shell features. Job control was added to the Bourne Shell in 1989.
- A choice of three command line editing styles based on vi, Emacs, and XEmacs.
- Associative arrays and built-in floating point arithmeticoperations (only available in the ksh93 version of KornShell).
- Dynamic extensibility of built-in commands (as of ksh93)
.png)
C Shell 家族有两个成员 [csh, tcsh]
|
Bourne shell #!/bin/shif [ $days -gt 365 ]then |
C shell #!/bin/cshif ( $days > 365 ) then echo This is over a year.
endif
|
.png)


.png)

.png)
.png)

[关于 子shell 和 父shell]
.png)

.png)
[拾 得] 一枚迷人的贝壳 SHELL / Linux | shell 脚本初步入门的更多相关文章
- Shell编程-01-Shell脚本初步入门
目录 什么是Shell 什么是Shell脚本 Shell脚本语言的种类 常用操作系统默认Shell Shell 脚本的建立和执行 脚本规范 什么是Shell 简单来说Shell其实就是一个命令 ...
- 【shell 大系】Linux Shell常用技巧
在最近的日常工作中由于经常会和Linux服务器打交道,如Oracle性能优化.我们数据采集服务器的资源利用率监控,以及Debug服务器代码并解决其效率和稳定性等问题.因此这段时间总结的有关Linux ...
- Linux Shell常用技巧(目录)
Linux Shell常用技巧(一) http://www.cnblogs.com/stephen-liu74/archive/2011/11/10/2240461.html一. 特殊文件: /dev ...
- 【转】十分有用的linux shell学习总结
在最近的日常工作中由于经常会和Linux服务器打交道,如Oracle性能优化.我们 数据采集服务器的资源利用率监控,以及Debug服务器代码并解决其效率和稳定性等问题.因此这段时间总结的有关Linux ...
- linux shell脚本之-变量极速入门与进阶(1)
1,如果创建shell脚本? 使用任意文本编辑软件,一般为vim,创建.sh结尾的文件,在文件的最开头用 #!/bin/bash 注明shell的类型 如: ghostwu@dev:~/linux/s ...
- Linux shell脚本基础学习详细介绍(完整版)一
Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提.1. Lin ...
- Linux SHELL中sh和bash的区别
什么是SHELL? shell的中文意思就是贝壳,其实比较类似于我们内核的壳.简而言之就是只要能够操作应用程序的接口都能够称为SHELL.狭义的shell指的是命令行方面的软件,广义的SHELL则包括 ...
- linux ——shell 脚本
linux—shell 脚本 精简基础 2018/10/30 13 ...
- 【shell】shell脚本入门
1. 前言 1.1 为什么学习shell编程 Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具,Linux/UNIX系统的底层及基础应用软件的核心大部分涉及Shell脚 ...
随机推荐
- .Net WinForm 控件键盘消息处理剖析
在WinForm控件上我们可以看到很多关于键盘消息处理的方法,比如OnKeyDown, OnKeyPress, ProcessCmdKey, ProcessDialogKey,IsInputKey等等 ...
- JS操作css样式用法
//html <div id="div1" style="background:red;"> 修改背景颜色 </div> <but ...
- label按钮和文字对齐
label按钮和文字对齐 做表单的时候,经常遇到:复选框和文字对不齐的情况 ========================== 下面方法可以对齐 <!--label [[--> < ...
- 多行文字水平垂直居中在div
<BODY> <div class="box"> <h3>1.单行文字居中</h3> <!--设置行高来实现- ...
- Android Ptrace Inject
之前介绍了Android平台上3种常见的hook方法,而hook的前提是进程注入,通过进程注入我们可以将模块或代码注入到目标进程中以便对其空间内的数据进行操作,本篇文章介绍基于ptrace函数的注入技 ...
- python3之面向对象
1.面向对象术语 类(Class): 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例. 类属性(类变量):类属性在整个实例化的对象中是公用的.类属 ...
- 使用Python实现的杨辉三角
def triangel(): print ' '*(20*3)+str(1) #定义起始两行 print ' '*(19*3)+str(1)+' '*5+str(1) for i in range( ...
- 【Java】CAS的乐观锁实现之AtomicInteger源码分析
1. 悲观锁与乐观锁 我们都知道,cpu是时分复用的,也就是把cpu的时间片,分配给不同的thread/process轮流执行,时间片与时间片之间,需要进行cpu切换,也就是会发生进程的切换.切换涉及 ...
- LVS集群之NAT模式实例(3)
LVS集群NAT模式实例 1. 实验拓扑图 DS 必须有两块网卡,需要在上面做NAT. 2. 实验环境 3台CentOS6.4 64bit的服务器. 类型 IP DR eth0:10.20.73.20 ...
- 详说 Navicat for MySQL 快捷键
详说 Navicat for MySQL 快捷键: Navicat 主窗口 Navicat 主窗口快捷键 常规 Navicat 常规快捷键 表设计器 Navicat 表设计器快捷键 表查看器 Navi ...