• 什么是shell


    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 分页显示

    ---- 动动手指关注我!或许下次你又能在我这里找到你需要的答案!ZZZZW与你一起学习,一起进步!
  • 相关阅读:
    Sass中连体符(&)的运用
    3211:花神游历各国
    ACM-ICPC 2017 Asia Urumqi(第八场)
    ACM训练联盟周赛(第三场)
    ACM训练联盟周赛(第一场)
    Nordic Collegiate Programming Contest 2015​(第七场)
    计算几何知识点简记
    The 2018 ACM-ICPC China JiangSu Provincial Programming Contest(第六场)
    2018 Multi-University Training Contest 1
    German Collegiate Programming Contest 2018​
  • 原文地址:https://www.cnblogs.com/zzzzw/p/4861181.html
Copyright © 2020-2023  润新知