天天看点

Linux基础知识

一、操作系统

    os:operating system,通用目的的软件程序。

二、os分类

    服务器os:rhel,centos,windows server,aix

    桌面os:windows 10,windows 7,mac os,fedora

    移动设备os:android,ios,yunos

三、开发接口标准

    abi(应用二进制接口):application binary interface

        abi概述:abi描述了应用程序与os之间的底层接口,允许编译好的目标代码在使用兼容abi的系统中无需改动就能运行。

    api(应用程序开发接口):application programming interface

        api概述:api定义了源代码与库之间的接口,因此同样的源代码可以在支持这个api的任何系统中编译。(包含函数库调用和系统调用)

    posix(可以只操作系统接口): portable operating systeminterface

        posix概述:①ieee操作系统上定义的一系列api标准。

                   ②posix兼容的程序可在其它posix操作系统编译执行。

四、运行程序格式

       windows:exe(应用程序)、dll(动态库连接)、lib(静态库连接)

       linux:elf、so(动态库)、.a(静态库)

五、编程语言

    低级语言

        机器语言:0和1

        汇编语言:和机器语言一一对应,与硬件相关的特有代码、驱动程序开发。

    中级语言:c语言

        用于系统级应用、驱动程序

    高级语言:java、python、php

       用于应用级程序开发

六、服务器三大操作系统

    windows

    linux:gun/linux

    unix:其中又分为两个流派

        system:贝尔实验室(bell lab)

            aix(ibm)

            solaris(sun)

            hp-ux(hp)

        bsd(bsrg):伯克利大学(berkeley system distribution)

            netbsd

            openbsd

            freebsd

七、linux起源

    1984年,richard stallman(查理德.斯托曼)发起gun项目和自由软件基金。

        创建开源unix实用工具版本;

        创建通用公共许可证(gpl);

        开源软件许可实施原则;

    1991年,linus torvalds(林纳斯.托瓦兹)发布linux

        创建开放源码,类unix的内核,在gpl下发布

        内核下载官网:www.kernel.org

    linux操作系统

        linux内核+gun工具=完整的类unix操作系统,如centos、ubuntu,android

八、linux发行版

    slackware:suse linux enterprise server(sles)

        opensuse桌面

    debian:ubuntu、mint

    redhat:redhat enterprise linux(rhel),每18个月发行一个新版本

        centos:兼容rhel格式

        中标麒麟:中标软件

        fedora:每6个月发行一个新版本

    archlinux:清亮简洁

    gentoo:极致性能,不提供传统意义的安装程序

    lfs:linux from scratch,自制linux

    android:kernel+busybox(工具集)+java虚拟机

九、开源

    开源(open source):软件和源代码提供给所有人

        自由分布软件和源代码

        能够修改和创建衍生作品

        作者的代码完善

    软件分类:商业、共享、自由

    开源协议

        gplv2,gplv3,lgpl(lesser),wordpress、copyleft

        apache:apache

        bsd:bsd

十、linux则学思想

    ①一切都是一个文件(包括硬件)

    ②小型、单一用途的程序

    ③链接程序、共同完成复杂的任务

    ④避免令人困惑的用户界面

    ⑤配置数据存储在文本中

十一、获取linux发行版

    centos

    ①http://mirrors.aliyun.com

    ②http://mirrors.sohu.com

    ③http://mirrors.163.com

    ④https://wiki.centos.org/download

继续阅读