Linux是什么 从操作系统与cpu架构关系到linux  Richard Mathew Stallman GPL 关于GNU计划 Linux的发展 Linux的核心版本 Linux的特色 Linux成立的核心网站 GNU所开发的几个重要软件 Linux distributions发行者网址 = w=

1、Linux是什么?

  • 我们知道计算机是由一堆硬件构成的
  • 为了有效控制这些硬件资源,于是就有了操作系统
  • 为了让软件开发人员更容易开发,所以操作系统给开发人员提供了一系列接口
  • Linux就是这样一套操作系统,具备核心和系统呼叫功能!这两层之上就是应用程序啦

2、从操作系统与cpu架构关系到linux

  • 我们知道各种cpu的架构是不同的!
  • cpu的架构决定了可以在上面运作的操作系统,也就是说,Window通常是无法安装在MAC上的,因为cpu架构不同!在通俗的说,Windows是无论如何无法在一个洗衣机硬件上运行吧?每种操作系统都是在他专门的机器上运行!
  • 操作系统本身就是针对用户需要的“硬件架构”去设计的,手机对应于android等手机操作系统,电脑对应于window等电脑操作系统,这都是硬件相关的。
  • 上面就是“为什么在谈linux的时候要讲那么多硬件”的原因。
  • Linux 由于是 Open Source 癿操作系统,所以他癿程序代码可以被修改成适吅在各种机器上面运行癿, 也就是说,Linux 是具有『可秱植性』,这可是很重要癿一个功能喔! ^_^

  • 由于这个优良的操作系统目前可以在x86架构系统(也就是最常见的个人计算机)上跑,很多开发者就渐渐转向linux了,所以linux上不乏常用的应用软件。

3、为什么linux是很稳定的操作系统?

4、从Richard Mathew Stallman到Linux

  • 在最开始的时候,各种软件、操作系统都是各个商业公司所有的,商业纠纷、专利上的困扰很多。
  • 1984 年,叱托曼开始 GNU (GNU's Not Unix!)计划, 这个计划癿目癿是:建立一个自由、开放癿 Unix 操作系统(Free Unix)。

  • 聪明癿叱托曼干脆反其道而行~『既然操作系统太复杂,我就先写可以在 Unix 上面运行癿小秳 序,这总可以了吧?』在这个想法上, 叱托曼开始参考 Unix 上面现有癿软件,幵依据这些软件 癿作用开发出功能相同癿软件,在开发期间Stallman绝不看其他软件癿原始码, 以避克吃上官 司。后来一堆人知道免费癿 GNU 软件,并且实际使用后发现与原有的专利软件也差不了太多, 于是便转而使用 GNU 软件, 与是 GNU 计划逐渐打开知名度
  • 虽然 GNU 计划渐渐打开知名度,但是能见度还是丌够。这时叱托曼又想:丌讬是什举软件, 都 得要迚行编译成为事迚制文件(binary program)后才能够执行,如果能够写出一个丌错癿编译秳 序,那丌就是大家都需要癿软件了吗? 因此他便开始撰写 C 语言的编译秳序,那就是现在相当 有名癿 GNU C Compiler(gcc)!

  • GNU工程激励了许许多多年轻的黑客,他们编写了大量自由软件。最后,林纳斯·托瓦兹写了一个类似Unix操作系统的内核,称为Linux,把所有GNU软件和硬件连接了起来,但Linux并不能代表整个操作系统,Linux只是个内核,整个系统还包含数以百计的软件工具和实用程序,大多是由GNU黑客们完成。他认为,整个操作系统称为GNU/Linux比较合适。Linux内核为GNU工程画上了一个完满的句号。
  • 此外,他还撰写了更多可以 被呼叨癿 C 函式库(GNU C library),以及可以被使用来操作操作系统的基本接口 BASH shell! 这些都在 1990 年左史完成了!

5、为了避克 GNU 所开发的自由软件被其他人所利用而成为与利软件, 所以Richard不律师草拟了有名癿通用公共讫可证(General Public License, GPL), 幵丏称呼他为 copyleft(相对 二与利软件癿 copyright!)。

6、GNU所开发的几个重要软件,如:  Emacs  GNU C (GCC)  GNU C Library (glibc)  Bash shell 造成后来很多的软件开发者可以由这些基础癿工具来进行程序开发!

7、mark一下Linux成立的核心网站:https://www.kernel.org/

8、Linux distributions,例如ubuntu就是一个Linux distributions

9、Linux distributions发行者网址:

 Red Hat: http://www.redhat.com

 Fedora: http://fedoraproject.org/

 Mandriva: http://www.mandriva.com

 Novell SuSE: http://www.novell.com/linux/

 Debian: http://www.debian.org/

 Slackware: http://www.slackware.com/

 Gentoo: http://www.gentoo.org/

 Ubuntu: http://www.ubuntu.com/

 CentOS: http://www.centos.org

10、Linux的优缺点,完全copy...

  • 优点:

等等...

  • 缺点


参考、copy

  • 90%《鸟哥的Linux私房菜》
  • 10%百度百科

2017-05-16:完成

2017-05-16:添加索引

【鸟哥的Linux私房菜】笔记1的更多相关文章

  1. 鸟哥的Linux私房菜笔记第四章

    前言 对着<鸟哥的Linux私房菜-基础版>做了简化笔记.不想让自己知其然而不知其所然.所以写个博客让自己好好巩固一下,当然不可能把书中的内容全部写下来.在这里就简化一点把命令写下来. 让 ...

  2. 鸟哥的Linux私房菜笔记第六章(二)

    文件内容查询 直接查询文件内容 查阅一个文件的内容可以使用指令cat/tac/nl. # [cat|tac|nl] 文件 区别: 1.cat是直接把文件内容输出到屏幕上,并且从第一行开始输出到末行 2 ...

  3. 学习鸟哥的Linux私房菜笔记(1)——Linux系统入门

    今天在阿里云申请了一个centos系统的云服务器,以前对linux了解的只是皮毛,记了几个命令还给忘了,整了半天都弄不好,作为一个做过javaweb开发的coder实在是惭愧啊,决定从今天开始学习Li ...

  4. [置顶] 学习鸟哥的Linux私房菜笔记(6)——过滤器、输入输出及管道

    一.过滤器 Linux中的应用工具分为三种: 交互工具 过滤器 编辑器 能够接受数据,过滤再输出的工具,称之为过滤器 对过滤器和进程,存在着输入源与输出对象 二.输入.输出.重定向 输入:过滤器的数据 ...

  5. 学习鸟哥的Linux私房菜笔记(17)——Linux引导流程

    一.系统引导流程 第一步:固件fireware(CMOS/BIOS)--POST加点自检(与操作系统无关) 这一步主要是检查硬盘等硬件是否能正常工作 CMOS:是固化在主板上,详细:http://sc ...

  6. 学习鸟哥的Linux私房菜笔记(16)——Ubuntu中建立ftp服务

    1.安装vsftpd,如下图所示:sudo apt-get install vsftpd 2.查看本机是否可以连接ftp 如上图所示,发现login failed了,怎么办呢?我们来看看vsftpd的 ...

  7. 学习鸟哥的Linux私房菜笔记(15)——文件系统

    一.文件结构 为了能在设备上存储与读取文件,我们需要在分区上创立文件系统 文件系统记录目录与文件我们称之为文件结构 每一个文件系统在Linux里都被解释成由一个根目录为起点的目录结构 Linux将各个 ...

  8. 学习鸟哥的Linux私房菜笔记(14)——硬件配置与管理

    一.设备文件 Linux沿袭了Unix的风格,将所有设备看成一个文件 设备文件分为两种: 块设备文件(b):比如硬盘.光驱 字符设备文件(c):比如串口.键盘 设备文件一般存放在/dev目录下 二.常 ...

  9. 学习鸟哥的Linux私房菜笔记(13)——用户管理

    一.检查用户身份 用户可以使用下列指令了解用户身份 who :查询当前在线的用户 groups :查询用户所属组 id :显示当前用户信息 finger :查询用户信息 二.添加用户 用指令添加命令 ...

  10. 学习鸟哥的Linux私房菜笔记(9)——bash1

    一.Shell简介 Shell :命令行解释器,是用户与系统沟通时的媒介 在Unix系统中有各种Shell, Linux采用bash为其默认shell 系统可以使用的shell记录在 /etc/she ...

随机推荐

  1. java -- 路径中包含空格怎么处理

    @.使用toURI()方法 String rootPath = this.getClass().getClassLoader().getResource(".").toURI(). ...

  2. Eclipse Java 构建路径

    Eclipse Java 构建路径 设置 Java 构建路径 Java构建路径用于在编译Java项目时找到依赖的类,包括以下几项: 源码包 项目相关的 jar 包及类文件 项目引用的的类库 我们可以通 ...

  3. windows中控制台窗口和普通窗口有什么区别?

    1. 窗口都是windows标准窗口,有窗口句柄,但是console window没有消息循环,直接从缓冲区读数据,显示数据. windows中普通窗口都有自己的窗口过程, 我可以使用SetWindo ...

  4. 对Servlet容器的补充和一个问题的请教

    [0]README 0.1)本文是对 一个servlet容器  的补充: 0.2)发这个博文的最终目的是为了请教各位前辈,帮我解决一个问题,问题描述在文末, 谢谢: [1]Servlet容器 1.1) ...

  5. 游戏开发之coco2dx ---简化提炼tolua

    http://www.cnblogs.com/gl5773477/p/4234613.html

  6. Linux下mongodb安装及数据导入导出教程

    Linux下mongodb安装及数据导入导出教程 #查看linux发行版本 cat /etc/issue #查看linux内核版本号 uname -r 一.Linux下mongodb安装的一般步骤 1 ...

  7. Quartz定时任务学习(三)属性文件和jar

    以下是我在应用的的一个基本配置: #---------调度器属性----------------org.quartz.scheduler.instanceName = TestSchedulerorg ...

  8. Unity3D学习笔记——NGUI之UIScrollBar

    UIScrollBar:这个组件可以用于创建滚动条. 效果图如下: 一:使用步骤 1.这个组件和UISlider很像,也是由三部分组成. 2.首先创建一个Sprite用于组件的背景色. 3.创建第二个 ...

  9. python在linux中输出带颜色的文字的方法

    在开发项目过程中,为了方便调试代码,经常会向stdout中输出一些日志,默认的这些日志就直接显示在了终端中.而一般的应用服务器,第三方库,甚至服务器的一些通告也会在终端中显示,这样就搅乱了我们想要的信 ...

  10. spring mvc3.1 @ResponseBody注解生成大量Accept-Charset

    Spring3 MVC使用@ResponseBody后会产生非常大的响应头(Accept-Charset会达到4K+).原因在于默认情况下StringHttpMessageConverter.writ ...