Shell十三问更新总结版 -- 什么叫做 Shell?-- Shell十三问<第一问>

Shell十三问更新总结版

简介

ChinaUnix 论坛 Shell 版名为網中人的前辈于 2004 年发布的精华贴,最近回炉这块内容,觉得很多东西讲的实在透彻,非常感谢前辈網中人,同时我个人也对这个系列做了一些总结和备注,写于下面章节,虽然这篇文件写于2004年,但是Shell这个东西变化很少,这个系列希望能够帮助到大家提供给大家,有心学习的同学不要读一遍练习一遍就算完了,第一遍和第二遍和第十遍读这个系列,感受绝对不一样,疏漏处请见谅。
網中人原贴:http://bbs.chinaunix.net/thread-218853-1-1.html

什么叫做 Shell?-- Shell十三问

在介绍 shell 是什么东西之前,不妨让我们重新检视使用者与计算机系统的关系:我们知道计算机的运作不能离开硬件,但使用者却无法直接对硬件作驱动,硬件的驱动只能透过一个称为"操作系统(Operating System)"的软件来控管。

事实上,我们每天所谈的 linux ,严格来说只是一个操作系统,我们称之为"核心(kernel)"。然而,从使用者的角度来说,使用者也没办法直接操作 kernel ,而是透过 kernel 的"外壳"程序,也就是所谓的 shell ,来与kernel 沟通。这也正是 kernel 跟 shell 的形像命名关系。

从技术角度来说,shell 是一个使用者与系统的互动界面(interface),主要是让使用者透过命令行(command line)来使用系统以完成工作。

因此,shell 的最简单的定义就是---命令解译器(Command Interpreter)

  • 将使用者的命令翻译给核心处理,
  • 同时,将核心处理结果翻译给使用者。

每次当我们完成系统登入(login),我们就取得一个互动模式的 shell ,也称为 login shell 或primary shell。若从进程(process)角度来说,我们在 shell 所下达的命令,均是 shell 所产生的子进程。这现像,我们暂可称之为 fork进程 。
如果是执行脚本(shell script)的话,脚本中的命令则是由另外一个非互动模式的子 shell (sub shell)来执行的。也就是 primary shell 产生 sub shell 的进程,sub shell 再产生 script 中所有命令的进程。

这里,我们必须知道:kernel 与 shell 是不同的两套软件,而且都是可以被替换的:

  • 不同的操作系统使用不同的 kernel
  • 在同一个 kernel 之上,也可使用不同的 shell 。在 linux 的预设系统中,通常都可以找到好几种不同的 shell ,且通常会被列于如下档案里:/etc/shells 不同的 shell 有着不同的功能,且也彼此各异、或说"大同小异"。
常见的 shell 主要分为两大主流:
sh:
burne shell (sh)
burne again shell (bash)
---
csh:
c shell (csh)
tc shell (tcsh)
korn shell (ksh)

大部份的 Linux 系统的预设 shell 都是 bash ,其原因大致如下两点:

  • 自由软件
  • 功能强大

bash 是 gnu project (GNU项目)最成功的产品之一,自推出以来深受广大 Unix/linux 用户喜爱,且也逐渐成为不少组织的系统标准。

原文地址:https://www.cnblogs.com/passzhang/p/12200802.html

时间: 2024-10-13 21:36:36

Shell十三问更新总结版 -- 什么叫做 Shell?-- Shell十三问<第一问>的相关文章

Shell编程入门(第二版)(上)

简单的示例Shell程序 示例1. #!/bin/bash #This is to show what a shell script looks like echo "Our first example" echo # This inserts an empty line in output. echo "We are currently in the following directory." /bin/pwd echo echo "This direc

Win10 PC一周年更新正式版14393.447 64位更新补丁KB3200970下载 Flash补丁Kb3202790下载

微软在今天凌晨推送了Win10 PC一周年更新正式版14393.447,本次更新补丁代号为KB3200970,面向Win10一周年更新正式版的PC用户. 更新日志 • 提升了多媒体音频.远程桌面以及IE11浏览器的可靠性 • 修复了阻碍用户连接VPN的问题 • 修复了重新开启的计划任务无法在“任务调度程序”中运行的问题 • 修复了“接入点名称(Access Point Name/APN)”数据库的更新问题 • 修复了日语字符在被输入法编辑器转换后丢失的问题 • 修复了系统托盘区的Wi-Fi图标在

Linux Shell脚本教程:30分钟玩转Shell脚本编程(笔记)

资料链接 Shell有两种执行命令的方式: 交互式(Interactive):解释执行用户的命令,用户输入一条命令,Shell就解释执行一条. 批处理(Batch):用户事先写一个Shell脚本(Script),其中有很多条命令,让Shell一次把这些命令执行完,而不必一条一条地敲命令. shell脚本有循环和控制语句,为解释执行,不需要编译. 常见的Shell脚本解释器: 有bash.sh.csh.ksh等.我们说的Shell其实是指Shell脚本解释器. bash:Linux默认的shell

调查:Win10一周年更新正式版,你收到推送了吗?

9月29日凌晨,微软面向全球Win10 PC电脑用户开始推送Win10一周年更新正式版系统,版本是Build 14393.10,更新名称是"功能更新到Windows10版本,版本1607",对于Win10用户来说,这也是Win10第二个重大更新. 不过此前根据威尼斯人娱乐场Dona Sarkar的说法,本次Win10一周年更新正式版推送依然会采用分批进行方式,这也就意味着并不是所有的Win10系统都可以在第一时间内收到年度更新推送. 目前全球Win10安装量已经超过3.5亿台,大部分是

Win10一周年更新正式版14393已开放下载(证实有误)

更新:经初步测试,下载后的更新包仍为10586版本而非Win10一周年更新正式版,现在看来,易升只是对更新描述进行了改动,实际微软服务器下载更新包目前并未更新,特此更正. win10之家 9月29日消息,相信许多网友正在焦急地等待Win10一周年更新RTM版推送,现在win10之家得到最新消息,Win10一周年更新正式版14393已经开放下载. 图示为Win10一周年更新下载截图,我们从截图中可以看到,澳门美高梅可以选择立即更新或者不立即更新,当用户选择立即更新后,系统将会检测设备是否符合升级要

Win10一周年更新正式版首个累积更新补丁14393.51开始推送

9月28日消息,今天微软唐娜姐除了推送Win10一周年更新预览版14393.67外,还面向Win10一周年更新正式版用户推送最新累积更新补丁KB3176495,版本号是14393.51,本次更新仅适合正式版,因此Win10 Mobile还不能收到更新. 已经升级到Win10一周年更新正式版且没有参加Windows Insider项目测试版的炸金花,如果还没有收到更新,现在可以到设置——Windows更新中进行手动检查获取更新.

[Shell&amp;Mac&amp;Environment variables]自己常用的Mac(或者说Linux)Shell命令小结,含Mac使用zsh shell的环境变量的有关配置方法

今天在使用tomcat的配置的时候,我用的mac,要是用到一些命令去配置tomcat. 问题来了: 我每次要去启动tomcat服务特别麻烦,因为我要先进入tomcat所在的文件目录,或者不进入使用~/,但是因为我把tomcat放到了一个比较“深“的文件夹里,所以命令显得又丑又长. 问题解决方案: 1.使用环境变量(修改.bashrc的方法) a.先查看自己的Mac目前正在用的是什么shell echo $SHELL 返回结果类似如下图 这里我是zsh,,也许你是bash,不过没关系,配置环境变量

Shell主要逻辑源码级分析(1)——SHELL运行流程

版权声明:本文由李航原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/109 来源:腾云阁 https://www.qcloud.com/community 本文的目的:分享一下在学校的时候分析shell源码的一些收获,帮助大家了解shell的一个工作流程,从软件设计的角度,看看shell这样一个历史悠久的软件的一些设计优点和缺陷.本文重点不是讲SHELL语法,相信很多同事玩shell都很熟了. 本文的局限:限于本人技术水

升级Win10一周年更新正式版后电脑出现bug如何解决

不久之前,微软向用户们推送了Windows10一周年更新正式版.不过,不少朋友在将升级系统后,发现电脑出现了一些小bug,这该怎么办呢?现在,微软官方推出了一款修复软件Windows Software Repair Tool,这款软件也许能帮用户解决问题. 推荐:最新Windows10系统下载 不过也不要期待这款软件能医百病,实际上,Windows Software Repair Tool并非智能修复软件. 这款软件能够运行几个比较实用的命令: 1.创建系统还原点 2.修复系统组件并检测损坏文件