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 13:59
下一篇 2016-10-28 14:37

相关推荐

  • 网络接口配置-bonding

    bonding      就是将多块网卡绑定同一个IP地址对外提供服务,可以实现高可用或是负载均衡,当 然,直接给两块网卡设置同一个IP地址是不可能的,通过bonding,虚拟一块网卡对外提供链接,这样即使一块网卡坏了可以经行自动切换,而不会影响业务的正常的通信 Bonding的工作模式 mode 0 轮转(…

    Linux干货 2016-09-05
  • Linux学习总结及练习&day08-sed文本处理工具

    第一部分、Linux文本处理三剑客之sed(Stream EDitor)文本编辑工具     一、sed的基本功能工作原理     sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令…

    Linux干货 2016-08-10
  • 基于rsync+inotify实现数据实时同步传输

    前言 与传统的cp、tar备份方式相比,rsync具有安全性高、备份迅速、支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需求,但随着文件数量的增大和实时同步的要求,rsync已不能满足需求,随之rsync+inotify便应运而生。本文将讲解rsync的基础知识和如何基于rsync+inotify实现数据实时同步传输。 rsync相关介…

    Linux干货 2015-04-27
  • 程序包管理:rpm , yum ,与编译

    1.RPM,Redhat Package Manager。是Redhat和CentOS等Linux系统上常见的软件安装工具。 软件安装: 常见选项 -i                #install…

    Linux干货 2016-03-26
  • 第十三周作业

    “1、建立samba共享,共享目录为/data,要求:(描述完整的过程)   1)共享名为shared,工作组为magedu;   2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名; …

    Linux干货 2017-08-13
  • Linux文件属性及如何修改文件属性

    ls -al:显示文件的文件名与相关属性并列出所有文件详细的权限与属性   dr-xr-x—.   7       root     root       4…

    2017-04-03

评论列表(1条)

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

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