您的位置:首页 > 运维架构 > Shell

什么是shell

2015-10-08 15:24 369 查看
Unix系统

什么是操作系统?

例如:早期的DOS操作系统,

后期的windows3.1/3.x windows系列。

这些系统中除了DOS系统是没有可视化界面的系统以外其他的windows都已经是可视化得操作系统了;

操作系统主要用来是做什么的?

在早期的电脑主要用来是做数学运算的。那时候为了做一套简单的数学运算往往可能要让“科研人员”编写很长的二进制纸带。然后利用专门的工具输入到计算机中。这样简直是一种很痛苦的事情,科研人员只能是靠0101这种二进制数据来读写操作计算机;如果没有早期的计算机语言编写可以和计算机交互的软件那么我们现在学习的时候可能就使用两个按键就可以了。1和0;后来延伸到一段时间出现了汇编语言非常偏向硬件的编程语言。再后来出现了B语言,这种语言还是比较偏向硬件方面。但是已经快形成了高级语言的雏形,再往后发展到现在C语言和C++,那么早在B语言出现的时候就已经出现了Unix系统的最初版本;

Unix有什么历史?

1969 年 肯·汤普森 在美国电话电报公司的贝尔实验室,利用一部闲置的 PDP-7 研究新的操作统,这是 Unix 的前身。之后不久,丹尼斯·瑞奇 加入肯·汤普森 一同开发这个新的操作系统,由于丹尼斯·瑞奇 曾经参与Multics(MULTiplexed Information and Computing System) 计划,因此 Unix 的雏形和 Multics 非常相似,但他们也加入了其它操作系统的一些概念。 但 肯·汤普森 和 丹尼斯·瑞奇 不喜欢组合语言,因而他们开发了一种新的语言来编写,这个语言也就是后来全球程序员很推崇的编程语言,那就是 C 语言。Unix 第三版是用 C 语言写成的,C 语言具有比组合语言更容易开发与维护等突出的优点外,它也大幅增加硬件的可移植性,奠定了 Unix 普及化的基础。

在这之前,Unix 只在是存在于 美国电话电报公司 内部,1976 年他们首次将 Unix 流传到 公司 以外的地方,此时Unix已经发展到了第6版(版本是根据当时的手册定的)。

由于 Unix 轻薄短小,许多人加入 Unix 的研发工作,如伊利诺斯州立大学, DEC(美国数字设备公司) 等等,其中以 加州大学伯克利分校的成果影响最深远,加州大学伯克利分校的 比尔·乔伊和其同事以 32V 为基础,加入虚拟记忆体,要求分页,分页替换等重要功能后,发表为 3 BSD Unix,BSD为 加州大学伯克利分校软件(Berkeley Software Distribution)的 缩写。因为它具有大型的记忆体管理机制,因而获得因而获 高级研究计划署 的支持,继续发展为 4.x BSD,到了4.2 BSD 时,它已支持 LAN(Ethernet及Token Ring)及 WAN 。在这段期间中,AT&T 也持续地为它的 Unix 增加新功能,1978 年 AT&T 成立 USG(Unix Support Group),商业化 Unix,它发表的第一版本是 System III,下一个版为System IV。

从此以后,Unix 就以 System IV 和 4.x BSD 这两大主流蓬勃发展,到了八十年代末才开始有一些整合的动作,如 Sun Solaris Os 及 POSIX。

Unix的两大分支出现,两大分支的具体的版本标示也有所不同:

AT&T公司的Unix标示版本是:System III, System V, System V Release 2 (SVR2) System V Release 3, System V Release 4/4.2

BSD版本的Unix标示为:

什么是Shell?

文字操作系统与外部最主要的接口就叫做shell。

Shell用来做什么?

shell是操作系统最外面的一层。shell管理你与操作系统之间的交互:等待你输入,向操作系统解释你的输入,并且处理各种各样的操作系统的输出结果。

shell提供了你与操作系统之间通讯的方式。这种通讯可以以交互方式(从键盘输入,并且可以立即得到响应),或者以shell script(非交互)方式执行。shell script是放在文件中的一串shell和操作系统命令,它们可以被重复使用。本质上,shell script是命令行命令简单的组合到一个文件里面。

Shell基本上是一个命令解释器,类似于DOS下的command.com。它接收用户命令(如ls等),然后调用相应的应用程序。较为通用的shell有标准的Bourne shell (sh)和C shell (csh)。

什么是交互式和非交互式?

交互式shell和非交互式shell

交互式模式就是shell等待你的输入,并且执行你提交的命令。这种模式被称作交互式是因为shell与用户进行交互。这种模式也是大多数用户非常熟悉的:登录、执行一些命令、签退。当你签退后,shell也终止了。

shell也可以运行在另外一种模式:非交互式模式。在这种模式下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。当它读到文件的结尾,shell也就终止了。

shell的类型

在UNIX中主要有两大类shell

Bourne shell (包括 sh, ksh, and bash)

Bourne shell ( sh)

Korn shell ( ksh)

Bourne Again shell ( bash)

More 查看更多信息

Less

Head 查看文件头

Cp 拷贝文件

Mv 移动文件

Touch 建立空文件

Man 查看具体的指令帮助

Rm 删除文件

Mkdir –p 批量创建

Time 执行命令后的所用时间

Ln 连接文件

Date 显示时间

Cal 显示日历

Pack 压缩文件

Pact 显示压缩文件

Wc 查看文件的字符数

Unpack 解压缩文件

Du 查看磁盘的容量

Ps 查看进程

Kill 杀死进程

Set 设置环境变量

Env 显示目前所有变量

Df 显示可用磁盘容量

Diff 显示两个文件不同之处

Edit 文本编辑器

Fmt 显示具体格式化后的文件内容

fsck 文件系统检查和修复

su 改变当前用户

tty 显示终端的设备名称

fgrep 搜索文件中的字符串 命令格式:fgrep string file

less 分页显示
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: