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

相关推荐

  • 正则表达式—正则表达式详解

    grep使用正则表达式进行匹配时,将大大提高效率和精准性,正则表达式概括分为基本正则表达式和扩展正则表达式。 一、基本正则表达式   字符匹配元字符         .        &nb…

    Linux干货 2016-07-04
  • 20160808课堂练习(sed工具)

    练习: 1、  删除/etc/grub2.conf文件中所有以空白开头的行行首的空白字符 # sed 's@^[[:space:]]\+@@' /etc/grub2.cfg                    2、删除/etc/…

    Linux干货 2016-08-10
  • 网络管理及任务进程解析

     网络管理————————————— 一.IP 地址 与路由  1.首先说的是IP地址:       它们可唯一标识IP 网络中的设备,每台主机必须具有唯…

    2017-07-02
  • Linux自动备份脚本

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nolinux.blog.51cto.com/4824967/1541163        今天网上一个朋友问了我一个shell的题目,让我帮他做下。下面是题目以及解题思路。 题目:…

    Linux干货 2016-08-15
  • 让自定义脚本成为服务脚本

    1.脚本注释格式:此格式能让chkconfig命令识别 #!/bin/bash#chkconfig:runlevel [S]##  [K]##    定义默认runlevel) (S开头,定义启动优先级) (K开头,定义关闭优先级) #description:脚本说明:太长的话需要\换行 2.case语句实现start,stop…

    Linux干货 2017-05-15
  • 权限作业

    三种权限rwx对文件和目录的不同意义 对文件来说: r:可获取文件的数据; w:可修改文件的数据;(但不能删除文件) x:可将此文件运行为进程;(针对二进制文件或脚本) (一般而言,文件默认情况下都不该有执行权限) 对目录来说: r:可以使用ls获取其下的所有文件列表;但不能访问文件,不能cd进目录,不能查看文件的详细信息(元数据) w:可修改此目录下的文件…

    Linux干货 2016-08-05

评论列表(1条)

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

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