目录
需掌握内容
1.Linux系统编程
2.Linux网络编程
3.基于Linux平台的MySQL
Linux背景介绍
若想知道Linux从哪来?它是怎么发展的?要想知道Linux的发展史,就需要从UNIX说起。
一、UNIX的发展史
1968 |
一些来自通用电器公司、贝尔实验室和麻省理工学院的研究人员开发了一个名叫
Multics
的特殊
操作系统。
Multics
在多任务文件管理和用户连接中综合了许多新概念
|
1969
-
1970
|
AT&T
的贝尔实验室研究人员
Ken Tompson
和
Dennis Ritchie
,在采用很多
Multics
特点的基础上开发了UINX
系统。它运行在小型机上,满足了系统对科研环境的要求。从产生开始,
UNIX
就是一个有价值 的、高效的、多用户和多任务的操作系统
|
UNIX从满足个人的设计需求开始,逐步成长为由许多不同开发商所支持的标准软件产品,第一个
UNIX
版本是免费给许多知名大学的计算机系使用的。
| |
1972 |
贝尔实验室开始发放商业版本,并且给不同的用户授权使用这个系统,使用者之一是加州大学伯克莱分校的计算机系。伯克莱给系统增加了许多新的特点,后来成为了标准。
|
1975 |
伯克莱由下属部门
BSD
发行了自己的
UNIX
版本。
UNIX
的
BSD
版本成为
AT&T
贝尔实验室版本的主要竞争者,而其它的独立开发出的UNIX
版本也开始萌生。
|
1980 |
微软公司开发了叫做
Xenix
的
UNIX PC
版本。
AT&T
发行了第一个商业版本。名叫
System
Ⅲ,后来被成为对商用软件产品良好支持的System
Ⅴ所替代。
|
同时UNIX的BSD版本不断发展,在70年代末期,BSD UNIX成为了国防部的高科技研究机构科研项目的基础。其结果,伯克莱发行了一个叫做BSD Release 4.2的有效版本,它包括了高级的文件管理器和基于TCP/IP网络协议的网络特点。现在TCP/IP被Internet所使用。BSD Release4.2被许多厂商所采用,例如SUN Microsystem。UNIX不同版本的出现导致了UNIX标准的需要,软件开发商不知道他们的程序运行在哪些版本上比较合适。到80年代中期,两个竞争的标准出现了,一个是基于AT&T的UNIX版本,另一个是BSD版本。今天的书店里我们能发现分别适用于这两个版本的不同的UNIX的书,一些是System V,另一些集中在BSD UNIX。AT&T建立了一个叫UNIX系统实验室的新组织,它的作用就是综合UNIX的不同版本,集中开发一个标准系统。 | |
1991 |
UNIX
综合实验室综合了
System V Release3
,
SUN OS
和
Xenix
的所有特点,发行了
System V Release 4。为了与
System V Release 4
竞争,一些其它公司,如
IBM
和惠普
Open Software Foundation
(
OSF
)去产 生自己的UNIX
标准版本,继而出现了两个标准商业版本
OSF
版本和
System Release 4。
|
1993 | AT&T把它的UNIX转卖给Novell公司。UNIX系统实验室成为了Novell的UNIX系统小组的一部分。Novell发行了基于System V Release 4的自己的UNIX版本UNIXWare,它可以和Novell公司的Netware系统相联。SUN公司已经把System V Release 4 融进了它的SUN OS,发行了Solaris。两个相互竞争的UNIX使用的图形用户界面(一个叫Motif,另一个叫Openlook),已经合并为一个新的工作平台标准,叫做通用平台环境(CDE)。 |
二、Linux发展历史
1991
年
10
月
5
日,赫尔辛基大学的一名研究生
Linus Benedict Torvalds
在一个
Usenet
新闻组(comp.os.minix
)中宣布他编制出了一种类似
UNIX
的小操作系统,叫
Linux
。新的操作系统是受到另一 个UNIX
的小操作系统
——Minix
的启发,该系统是由一名叫
Andrew S Tanenbaum
的教师开发的。读者也 许猜想所发布的这个系统应该是Linux
的
0.01
版本,实际上不是这样。真正的
Linux 0.01
版本并没有被发 布,原因是0.01
版本不实用。
Linus
仅仅在第一个
Linux
的
FTP
站点(
ftp://nic.funet.fifi
)上提供过这个版本 的的源代码。
|
Torvalds
于
10
月
5
日发布的这个
Linux
版本被称为
0.02
版,它能够运行
GNU Bourne Again Shell(bash)
和
GNU
的 C编译程序(
gcc
)以及为数不多的其它语言。
Torvalds
绝对没有想到他设想的一种能够针对高级业余爱好者和 黑客们的操作系统已经产生,这就是人们所称的Linux
。
|
Linux
发布时的版本是
0.02
,后来又有
0.03
版,然后又跳到
0.10
版。因为世界各地越来越多的程序员都开始开发Linux,它已经达到
0.95
版。这就意味着正是公布
1.0
版本的时间已经为期不远了。正式的
1.0
版本是在
1994
年公布的
|
三、开源
Linux
是一种自由和开放源代码的类
UNIX
操作系统,该操作系统的内核由林纳斯托瓦兹在
1991
年首次发
布,之后,在加上用户空间的应用程序之后,就成为了
Linux
操作系统。严格来讲,
Linux
只是操作系统内 核本身,但通常采用“Linux
内核
”
来表达该意思。而
Linux
则常用来指基于
Linux
内核的完整操作系统,它 包括GUI
组件和许多其他实用工具。
|
GNU
通用公共许可协议(
GNU General Public License
,简称
GNU GPL
或
GPL
),是一个广泛被使用的自由软件许可协议条款,最初由理查德斯托曼为GNU
计划而撰写,
GPL
给予了计算机程序自由软件的定义,任何基于GPL软件开发衍生的产品在发布时必须采用
GPL
许可证方式,且必须公开源代码。
|
Linux
是自由软件和开放源代码软件发展中最著名的例子。只要遵循
GNU
通用公共许可证,任何个人和机构都可以自由地使用Linux
的所有底层源代码,也可以自由地修改和再发布。随着
Linux
操作系统飞速发展,各种集成在Linux
上的开源软件和实用工具也得到了应用和普及,因此,
Linux
也成为了开源软件的代名词。
|
四、官网地址:kernel官网
五、企业应用现状
- Linux在服务器领域的发展
随着开源软件在世界范围内影响力日益增强,Linux服务器操作系统在整个服务器操作系统市场格局中占据了越来越多的市场份额,已经形成了大规模市场应用的局面。并且保持着快速的增长率。尤其在政府、金融、农业、交通、电信等国家关键领域。此外,考虑到Linux的快速成长性以及国家相关政策的扶持力度,Linux服务器产品一定能够冲击更大的服务器市场。据权威部门统计,目前Linux在服务器领域已经占据75%的市场份额,同时,Linux在服务器市场的迅速崛起,已经引起全球IT产业的高度关注,并以强劲的势头成为服务器操作系统领域中的中坚力量。
-
Linux 在桌面领域的发展
-
Linux 在移动嵌入式领域的发展
-
Linux 在云计算 / 大数据领域的发展
六、发行版本
-
Debian
-
Ubuntu
-
红帽企业级Linux
-
CentOS
-
Fedora
-
Kali Linux
搭建Linux环境
一、途径
1.直接安装在物理机上. 但是由于 Linux 桌面使用起来非常不友好, 不推荐。
2.使用虚拟机软件, 将 Linux 搭建在虚拟机上. 但是由于当前的虚拟机软件(如 VMWare 之类的)存在一些 bug , 会导致环境上出现各种莫名其妙的问题。
3.使用云服务器, 可以直接在 腾讯云, 阿里云或华为云等服务器厂商处直接购买一个云服务器
本人推荐使用腾讯云,其中有在校学生优惠,通过学生认证后价格还是可以的。使用云服务器不仅环境搭建简单, 避免折腾, 同时还有一个最大的好处, 部署在云服务器上的项目可以直接被外网访问到, 这个时候就和一个公司发布一个正式的网站没有任何区别. 也就能让我们自己写的程序真的去给别人去使用。
二、购买云服务器
以腾讯云为例
1.进入官方网站链接:云+校园(直接在百度上搜 “腾讯云校园计划”)
2.登录网站进行购买
3.右侧的操作系统选择 CentOS 7.6 64位. 购买时长根据需要选择(建议1年), 点击立即购买即可. 这个步骤需要实名认证。
4.按照以下步骤:
点击进去进入自己的云服务器,可在其中查看到自己的ip地址,自己需要重置密码,改密码将是自己的root用户的密码。
总结:
1.知道自己的IP地址
2.服务器的管理员账户(固定为root用户)
3.管理员账户密码(可通过腾讯云官网修改)
三、使用 XShell 远程登陆到 Linux
我们购买完服务器之后并不能直接操作Linux系统,需要通过XShell进入Linux系统。
1.XShell下载:https://www.xshell.com/zh/free-for-home-school/
安装的时候选择“home/school”则为免费版本。
2.使用XShell登陆主机:点击XShell,在界面输入“ssh root@IP地址”回车,然后输入重置密码时设置的密码即可登录主机。
3.XShell的复制与粘贴
复制:ctrl + insert (有些需要 insert 需要配合 fn 来按)
粘贴: shift + insert