Linux的简介

Linux的简介

冯诺依曼体系结构

  • 主要特点:使用存储器,采用二进制(据说,采用二进制的灵感来源于中国的八卦,2变4,4变8…)

  • 体系介绍:其由几大部分组成,输入设备,运算器,控制器,内部存储器,外部存储器,输出设备。

    • 目前,输入设备就是指键盘鼠标,

    • 运算器和控制器现在统称CPU。其实已经内置了两个功能。

    • 内部存储器就是内存,某种意义上,缓存也算内部存储器。

    • 外部存储器就是硬盘,光盘,移动存储等。

Linux系统组成

硬件,内核,系统调用,(shell壳,库函数)应用程序。

  • 内核将硬件资源抽象出来,形成系统调用,应用程序直接访问系统调用,不能直接调用内核,这样保证了系统的稳定性

    • 内核的工作:进程管理,文件系统管理,内存管理,驱动管等基本工作。

  • 库函数,为了方便应用程序的开发,把一些经常用到的系统调 用封装起来,形成常用的库。叫库函数。

  • 开发应用程序的时候,可以直接使用系统调用,也可以使用库函数。shell其实也是一种应用程序。

Linux主流发行版

现在Linux主要的发行版为Red Hat(Centos)、Gentoo 、Debian、SuSE,Slackware

  • DeBian,比较好,限制比较少,也难用一些。(linux熟手)

    • 国际化协作产生,而且 Debian开发者 所创建的操作系统中绝大部分基础工具来自于GNU工程 ,因此 “Debian” 常指Debian GNU/Linux。

    • ubuntu:属于其二次发行版,其中的knopix以其安全性著称。Minit桌面版,以其桌面华丽著称。

  • RedHat。从9.0分开

    • RedHat Enterprise Linux(企业版):简称:RHEL 18个月或更长时间,版本号7.0。另外,CentOS:Communicity 就是红帽山寨版(据说已经被招安。。)

    • Fedora core(桌面版):6个月甚至更短更新一次,至少23个版本

  • Slackware:主分支为suse 桌面系统做的很好)

    • suse(由德国大学生创建,然后卖给novell实验室) 
      * SLES(企业版) * openSUSE(界面华丽)

  • Gentoo:最显著的特点是提供给用户自己将源码编译成二进制文件的功能。

  • ArchLinux:是一种以轻量简洁为设计理念的Linux发行版

Linux哲学思想

  • 由目的单一的小程序组成,组合小程序完成复杂任务 就是模块化设计,每个功能尽可能的简单,这样一是容易开发,二是代码少,稳定性好。这样,组装起来的大程序功能强大且稳定。

  • 一切皆文件。管理简单,所有的东西都依存于文件系统而不需要像windows那样还需要注册表。

  • 尽量减少和用户交互。(尽量捕获用户接口) 尽量减少用户交互,有两大好处,一是只要有用户交互就有可能出现错误,利于系统稳定。二是能最轻量化运维工作,这也是其主要目的

  • 配置文件保存为纯文本格式。linux将所有的配置文件都设置为文本格式且都放到etc目录下面(usr/etc等等),任何程序修正参数,简洁有效。

编译

其实编译就是将源代码解释成二进制文件的过程,这其中分为静态编译和动态编译

  • 静态编译:直接将源代码和他所以依赖的库函数全部打包编译成可执行文件的过程。

  • 动态编译:只编译源代码,不包含他所依赖的库函数

  • 两种方式的优劣:

    • 当进行静态编译时,生成的可执行文件中包含库函数,这样运行速度会有所提升。但是如果这样的程序较多,并且包含的库函数又是一些经常调用的函数,就会造成运行时大量重复的资源进驻内存,造成资源浪费。并且每个程序保存了一部分相同的代码,造成系统体积增大。

    • 动态编译,虽然不包含所依赖的库函数,体积较小和节省了内存,但是移植性相对较差,因为目标电脑可能没有这个程序所依赖的库函数;运行速度也有一定程度的降低,因为需要去调用公共的库函数。

Linux进程的类型

  • 与终端无关:操作系统引导启动过程中自动启动

  • 与终端有关:需要通过用户操作等终端启动

命令的使用格式和类型

大致格式:command [option] 参数。 以date为例:

blob.png

  • command 类型 命令分为内部命令和外部命令

    • 内置命令(shell内置),不论是哪种shell,都必须使用的命令,因此,shell就内置了这些命令。

    • 外部命令在文件系统的某个路径下有一个与命令名称相应的可执行文件。因此,某种意义上说,内部命令也属于外部命令的一种。

    • 区分内外部命令。用type。内部显示:builtin command 内建

  • [option ]

    • 短选项,-l(字母),多个选项可以组合使用。ls -l -h=ls -lh

    • 长选项, –单词, 一般是不能组合的。

    • [] 中表示可以省略

    • ”|“表示多选一

    • <>必须给出的内容,必选

    • ….可以使用多个。这个选项可以出现多次

    • {}:分组用的,无特殊意义。

  • 参数肯定是文件。但是需要标明路径。有的情况下可以不用标明,如果作用对象是当前目录或者它下面的文件就不需要。

原创文章,作者:haoyp,如若转载,请注明出处:http://www.178linux.com/55092

(0)
haoyphaoyp
上一篇 2016-10-28
下一篇 2016-10-28

相关推荐

  • mysql基础

      mysql基础 数据模型: 数据模型:层次模型、网状模型、关系模型、…… 关系模型: 二维关系:表     行:row, entity     列:colume, attribution 索引:数据结构,辅助完成数据查找;  &nbsp…

    Linux干货 2016-11-01
  • shell脚本编程基础练习

    这周,我们学习了shell脚本基础,那么什么是shell脚本呢? shell script是利用shell的功能所写的一个程序,这个程序是使用纯文本文件,将一些shell的语法与指令写在里面,然后用正则表达式,管道命令以及重定向向等功能,以达到我们所想要的处理目的。Shell脚本可以帮助我们系统、自动化的去管理和处理一些东西 下面是摘抄出的几个练习: 首先,…

    2017-08-05
  • 马哥教育网络班21期第2周课程练习

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。     复制命令:cp         cp [OPTION]… [-T] SOURCE DEST     &…

    Linux干货 2016-07-16
  • Linux网络管理之路由和team网络组

    如何实现把linux当路由器来使用,实现不同网段之间的通信访问,这就是今天所要实现的路由配置   环境准备:4台虚拟机,两台中间两台作为路由器来使用(每天主机两块网卡),其他两台作为终端主机,目的是让不同网段的两台主机之间互相访问(这里在vmware里面做的实验,所以网卡的类型都设置为桥接)   拓扑图:   步骤一:将A、D两…

    系统运维 2016-09-10
  • 图解Linux终端类型

    个人浅见 欢迎指正

    Linux干货 2016-10-16
  • linux cluster—-lvs

    一. Linux Cluster:           Cluster:计算机集合,为解决某个特定问题组合起来形成的单个系统;      Linux Cluster类型:      &nbs…

    Linux干货 2016-10-29

评论列表(1条)

  • 马哥教育
    马哥教育 2016-11-02 16:17

    内容格式把握得很好,希望可以将这段发展史和几个关键性时间点熟知,加油!