Linux学习笔记一

操作系统介绍

操作系统(Operating System,OS)是软件的一部分,它是硬件基础上的第一层软件,是硬件和其它软件沟通的桥梁(或者说接口、中间人、中介等)。

操作系统会控制其他程序运行,管理系统资源,提供最基本的计算功能,如管理及配置内存、决定系统资源供需的优先次序等,同时还提供一些基本的服务程序,例如:

  1. 文件系统
    提供计算机存储信息的结构,信息存储在文件中,文件主要存储在计算机的内部硬盘里,在目录的分层结构中组织文件。文件系统为操作系统提供了组织管理数据的方式。
  2. 设备驱动程序
    提供连接计算机的每个硬件设备的接口,设备驱动器使程序能够写入设备,而不需要了解执行每个硬件的细节。简单来说,就是让你能吃到鸡蛋,但不用养一只鸡。
  3. 用户接口
    操作系统需要为用户提供一种运行程序和访问文件系统的方法。如常用的 Windows 图形界面,可以理解为一种用户与操作系统交互的方式;智能手机的 Android 或 iOS 系统,也是一种操作系统的交互方式。
  4. 系统服务程序
    当计算机启动时,会自启动许多系统服务程序,执行安装文件系统、启动网络服务、运行预定任务等操作。

目前流行的服务器和 PC 端操作系统有 Linux、Windows、UNIX 等,手机操作系统有 Android、iOS、Windows Phone(简称 WP),嵌入式操作系统有 Windows CE、PalmOS、eCos、uClinux 等。

开源概念

Linux 不仅是免费的,更是开源的(open source),这意味着任何人都可以获得其代码并根据自己的需求进行修改。事实上,这已经孵化出专属 Linux 各发行版的巨大生态系统。一个发行版(distribution ,有时缩写为 distro)是一个定制的软件包,它将 Linux 内核以及用户计算机 Linux 运行版的安装工具一起发布。

另外,开源其实并不等同于免费,而是一种新的软件盈利模式。目前很多软件都是开源软件,对计算机行业与互联网影响深远。

Linux 是一个类似 Unix 的操作系统,Unix 要早于 Linux,Linux 的初衷就是要替代 UNIX,并在功能和用户体验上进行优化,所以 Linux 模仿了 UNIX(但并没有抄袭 UNIX 的源码),使得 Linux 在外观和交互上与 UNIX 非常类似。

在这里插入图片描述
底层是 UNIX/Linux 操作系统,即系统内核(Kernel);中间层是 Shell 层,即命令解释层;高层则是应用层。

大量使用脚本程序,是所有类 Unix 系统不同于其他系统的一个显著特征,催生人们在 Linux 中大量使用脚本来编写程序,并不仅仅是因为脚本对人直观、容易修改这种显著特性所决定的。另外一个主要的原因就是 Linux 所支持的脚本语言种类十分丰富。

Linux对比Windows优势

在这里插入图片描述

  1. 大量的可用软件及免费软件
    Linux 系统上有着大量的可用软件,且绝大多数是免费的,比如声名赫赫的 Apache、Samba、PHP、MySQL 等,构建成本低廉,是 Linux 被众多企业青睐的原因之一。当然,这和 Linux 出色的性能是分不开的,否则,节约成本就没有任何意义。但不可否认的是,Linux 在办公应用和游戏娱乐方面的软件相比 Windows 系统还很匮乏

  2. 良好的可移植性及灵活性
    Linux 系统有良好的可移植性,它几乎支持所有的 CPU 平台,这使得它便于裁剪和定制。我们可以把 Linux 放在 U 盘、光盘等存储介质中,也可以在嵌入式领域广泛应用。

  3. 优良的稳定性和安全性
    Linux 开放源代码,将所有代码放在网上,全世界的程序员都看得到,有什么缺陷和漏洞,很快就会被发现,从而成就了它的稳定性和安全性。

  4. 支持几乎所有的网络协议及开发语言

常见Linux发行版

从技术上来说,李纳斯•托瓦兹开发的 Linux 只是一个内核。内核指的是一个提供设备驱动、文件系统、进程管理、网络通信等功能的系统软件,内核并不是一套完整的操作系统,它只是操作系统的核心。一些组织或厂商将 Linux 内核与各种软件和文档包装起来,并提供系统安装界面和系统配置、设定与管理工具,就构成了 Linux 的发行版本。

Linux 的发行版本可以大体分为两类:

  • 商业公司维护的发行版本,以著名的 Red Hat 为代表;
  • 社区组织维护的发行版本,以 Debian 为代表。
Red Hat Linux

在这里插入图片描述
Red Hat 公司的产品主要包括 RHEL(Red Hat Enterprise Linux,收费版本)和 CentOS(RHEL 的社区克隆版本,免费版本)、Fedora Core(由 Red Hat 桌面版发展而来,免费版本)Red Hat 是在我国国内使用人群最多的 Linux 版本,资料丰富,如果你有什么不明白的地方,则容易找到人来请教,而且大多数 Linux 教程是以 Red Hat 为例来讲解的

Ubuntu Linux

在这里插入图片描述
Ubuntu 基于知名的 Debian Linux 发展而来,界面友好,容易上手,对硬件的支持非常全面,是目前最适合做桌面系统的 Linux 发行版本,而且 Ubuntu 的所有发行版本都免费提供

SuSE Linux

在这里插入图片描述
SuSE Linux 可以非常方便地实现与 Windows 的交互,硬件检测非常优秀,拥有界面友好的安装过程、图形管理工具,对于终端用户和管理员来说使用非常方便。

Gentoo Linux

在这里插入图片描述
Gentoo 是所有 Linux 发行版本里安装最复杂的,到目前为止仍采用源码包编译安装操作系统。

不过,它是安装完成后最便于管理的版本,也是在相同硬件环境下运行最快的版本。自从 Gentoo 1.0 面世后,它就像一场风暴,给 Linux 世界带来了巨大的惊喜,同时也吸引了大量的用户和开发者投入 Gentoo Linux 的怀抱。

Linux发行版本选择
  • 如果你需要的是一个服务器系统,而且已经厌烦了各种 Linux 的配置,只是想要一个比较稳定的服务器系统,那么建议你选择 CentOS 或 RHEL。
  • 如果你只是需要一个桌面系统,而且既不想使用盗版,又不想花大价钱购买商业软件,不想自己定制,也不想在系统上浪费太多时间,则可以选择 Ubuntu。
  • 如果你想深入摸索一下 Linux 各个方面的知识,而且还想非常灵活地定制自己的 Linux 系统,那就选择 Gentoo 吧,尽情享受 Gentoo 带来的自由快感。
  • 如果你对系统稳定性要求很高,则可以考虑 FreeBSD。
  • 如果你需要使用数据库高级服务和电子邮件网络应用,则可以选择 SuSE。

桌面环境介绍

KDE

在这里插入图片描述
优点:KDE 几乎是最先进最强大的桌面环境,它外观优美、高度可定制、兼容比较旧的硬件设备
缺点:Kmail 等一些组件的配置对新手来说过于复杂。

GNOME桌面环境

在这里插入图片描述
优点:简单易用,可通过插件来扩展功能。
缺点:对插件的管理能力比较差,也缺少其它桌面环境拥有的许多功能。

Unity

在这里插入图片描述
优点:界面简洁直观,可以通过第三方工具来深度定制,而且使用了平视显示器(HUD)等新技术。
缺点:默认的定制功能比较差劲,通知机制一般。

Cinnamon

在这里插入图片描述
优点:成熟完美,高度可性质,适合 Linux 新手。
缺点:有时候可能会有软件错误。

查看桌面环境

我们可以通过环境变量 DESKTOP_SESSION 来查看当前 Linux 发行版使用了哪种桌面环境,例如:

[c.biancheng.net]$ echo $DESKTOP_SESSION
gnome-classic

这表明我使用的是 GNOME。

另外,你也可以查看/etc下有没有对应的目录,例如 gnome 目录或者 kde 目录,如果有的话,就说明已经安装了。

Linux应用领域

  1. 网站服务器
  2. 嵌入式

Linux 在服务器上的应用非常广泛,可以用来搭建 Web 服务器、数据库服务器、负载均衡服务器(CDN)、邮件服务器、DNS服务器、反向代理服务器、VPN服务器、路由器等。用 Linux 作为服务器系统不但非常高效和稳定,还不用担心版权问题,不用付费。

正是由于 Linux 服务器的大规模应用,才需要一批专业的人才去管理,这群人就是 Linux 运维工程师(OPS)

开源介绍

简单来说,开源软件就是把软件程序与源代码文件一起打包提供给用户,用户既可以不受限制地使用该软件的全部功能,也可以根据自己的需求修改源代码,甚至编制成衍生产品再次发布出去。
在这里插入图片描述
国内外开源社区推荐:开源中国、ChinaUnix、GitHub、Apache、SourceForge

在这里插入图片描述

开源协议

GNU GPL (GNU通用公共许可证)

遵循 GPL 协议的开源软件数量极其庞大,包括 Linux 系统在内的大多数的开源软件都是基于这个协议的

特点说明
复制自由允许把软件复制到任何人的电脑中,并且不限制复制的数量
传播自由允许软件以各种形式进行传播
收费传播允许在各种媒介上出售该软件,但必须提前让买家知道这个软件是可以免费获得的;因此,一般来讲,开源软件都是通过为用户提供有偿服务的形式来盈利的
修改自由允许开发人员增加或删除软件的功能,但软件修改后必须依然基于GPL许可协议授权
BSD (伯克利软件发布版)协议

BSD 协议基本上允许用户“为所欲为”,用户可以使用、修改和重新发布遵循该许可的软件,并且可以将软件作为商业软件发布和销售,前提是需要满足下面三个条件:

  • 如果再发布的软件中包含源代码,则源代码必须继续遵循 BSD 许可协议。
  • 如果再发布的软件中只有二进制程序,则需要在相关文档或版权文件中声明原始代码遵循了 BSD 协议。
  • 不允许用原始软件的名字、作者名字或机构名称进行市场推广。
Apache 许可证版本

Apache 和 BSD 类似,都适用于商业软件。Apache 协议在为开发人员提供版权及专利许可的同时,允许用户拥有修改代码及再发布的自由。

现在热门的 Hadoop、Apache HTTP Server、MongoDB 等项目都是基于该许可协议研发的,程序开发人员在开发遵循该协议的软件时,要严格遵守下面的四个条件:

  • 该软件及其衍生品必须继续使用 Apache 许可协议。
  • 如果修改了程序源代码,需要在文档中进行声明。
  • 若软件是基于他人的源代码编写而成的,则需要保留原始代码的协议、商标、专利声明及其他原作者声明的内容信息。
  • 如果再发布的软件中有声明文件,则需在此文件中标注 Apache 许可协议及其他许可协议。
MIT协议

目前限制最少的开源许可协议之一(比 BSD 和 Apache 的限制都少),只要程序的开发者在修改后的源代码中保留原作者的许可信息即可,因此普遍被商业软件所使用。

GUN LGPL

LGPL 允许商业软件通过类库引用(link)的方式使用 LGPL 类库,而不需要开源商业软件的代码。这使得采用 LGPL 协议的开源代码可以被商业软件作为类库引用并发布和销售

总结
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值