目录
[1. Linux 背景介绍](#1. Linux 背景介绍)
[2. 开源](#2. 开源)
[3. 官网](#3. 官网)
[4. 企业应用现状](#4. 企业应用现状)
[5. 发行版本](#5. 发行版本)
引言
在这个信息化时代,掌握一门操作系统技能显得尤为重要。Linux作为一款开源、稳定且功能强大的操作系统,不仅在服务器领域占据主导地位,也逐渐成为软件开发和运维人员必备的技能之一。
本文将通过解读linux的环境与历史,导入Linux的学习。
那本文的目标就是讲解linux的发展历史,同时简单介绍
1. Linux****背景介绍
发展史
如果问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 Release
4.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.fi)上提供过这个版本的的源代码。
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为什么会被催生出来呢?这就要从时代的大背景说起。
我们将借助这个图进行讲解。
埃尼阿克的诞生
埃尼阿克(ENIAC),全称为电子数值积分计算机(Electronic Numerical Integrator and Computer),是世界上第一台大规模电子数字计算机。它诞生于1946年的情人节2月14日。
它使用了大约18000个电子管,占地面积约为167平方米,重达30吨。尽管与现代计算机相比,埃尼阿克的性能和体积都显得非常原始,但在当时,它无疑是技术上的一个奇迹,为后来的计算机发展奠定了基础。
埃尼阿克的诞生并不是为了家用、民用,它最初的用途是为了计算导弹的运行轨迹的。
如果你热衷于历史,不难发现1946年是二战结束后美苏争霸的年代。两个超级大国为了进行军备竞赛,就催生出了大量的新兴科技。
摩尔定律
摩尔定律是由英特尔公司的联合创始人戈登·摩尔(Gordon Moore)在1965年提出的一个观察,后来被普遍认为是计算机行业发展的一条规律。摩尔定律的内容可以概括为:集成电路上可容纳的晶体管数量大约每两年翻一番,同时计算能力也将提升一倍,而成本则保持不变或下降。
具体来说,摩尔定律的原文描述了以下观点:
"The number of transistors on a dense integrated circuit doubles approximately every two years."
摩尔定律在过去几十年里一直是半导体行业发展的驱动力,它预测了计算能力的快速增长,并且指导了硬件制造商的生产规划和研发方向。然而,随着时间的推移,由于物理极限和技术挑战,摩尔定律的速度有所放缓。晶体管尺寸的缩小越来越困难,而且成本也在增加,这导致人们开始讨论摩尔定律是否还能继续适用。
为什么要介绍这个定律呢?
既然科技需要突破,那就需要大量的研发经费。摩尔定律阐述了计算机不断微型化、小型化的过程,这使得计算机得以进入大众的视野,增加了经济税收,使得政府才能有源源不断的资金去支持科技的创新。
有趣的是在上世纪60、70年代,苹果的初代微机诞生,虽然他的市场指向是民用,但是发售的价格仍然是1W美刀。
硬件的发展催生软件的发展
如果没有操作系统,那么计算机只是一个大黑盒子。前文介绍到在存在的操作系统中,Unix作为收费的操作系统,十分不受待见。因此在91年,雷纳斯托瓦兹写了一个微型的操作系统,并将源代码公布与众,自此之后,众多的"共产主义先锋战士"投入到了Linux的开发,使得后来的众多互联网大厂都采用Linux内核作为自己的底层操作系统。
Linux分为商业发行版和内核版本
这些发行版内部都是用的Linux内核。
什么是Linux内核?
当我们提到Linux内核时,通常指的是Linux操作系统的核心部分,即其源代码。Linux内核是操作系统的心脏,负责管理系统的硬件资源,并提供基本的运行时服务,如进程管理、内存管理、设备管理、文件系统管理等。
Linux内核的源代码是由C语言编写,并包含了少量的汇编代码,它是开源的,遵循GNU通用公共许可证(GPL)。这意味着任何人都可以自由地查看、修改和分发内核源代码。
内核源代码组织成了多个目录和文件,其中包括:
arch/:包含了针对不同硬件架构的特定代码。
drivers/:包含了各种硬件设备的驱动程序。
fs/:包含了文件系统的实现。
include/:包含了内核使用的头文件。
init/:包含了内核初始化代码。
ipc/:包含了进程间通信的代码。
kernel/:包含了内核的主要部分,如调度器。
mm/:包含了内存管理的代码。
net/:包含了网络相关的代码。
sound/:包含了声音相关的子系统代码。
内核源代码的编译和配置过程非常灵活,允许用户根据特定的硬件和需求定制内核。因此,Linux内核不仅仅是一组静态的源代码,它是一个活跃的、不断进化的项目,由全球的开发者社区共同维护和改进。
**2.**开源
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也成为了开源软件的代名词。
开源的好处
Linux操作系统的开源特性带来了许多好处,以下是一些主要的优点:
-
成本效益:由于Linux是免费的,用户可以下载、安装和使用它而无需支付许可费用。这为个人用户、小型企业乃至大型企业节省了大量成本。
-
定制性和灵活性:开源意味着用户可以根据自己的需求自由地修改和定制Linux。企业可以根据自己的特定需求调整操作系统,以优化性能和功能。
-
安全性:开源软件的安全性通常被认为较高,因为源代码是公开的,全球的开发者社区可以检查代码、发现漏洞并迅速发布修复。这种"许多眼睛"的方法有助于提高系统的安全性。
-
透明性:由于源代码是公开的,用户可以查看软件的工作原理,确保没有隐藏的后门或恶意代码。
-
社区支持:Linux拥有一个庞大而活跃的全球开发者社区,提供技术支持、文档、教程和软件包。这种社区支持可以快速响应问题并提供解决方案。
-
稳定性和可靠性:Linux系统以其稳定性和可靠性而闻名,特别是在服务器环境中。它们可以运行数月甚至数年而不需要重启。
-
跨平台兼容性:Linux支持多种硬件平台,从嵌入式设备到超级计算机,都可以运行Linux。
-
创新:开源环境鼓励创新,因为任何人都可以贡献新的功能或改进现有功能。这种创新精神推动了Linux和其他开源软件的快速发展。
-
教育资源:开源软件为教育机构提供了丰富的资源,学生和教师可以自由地学习和使用Linux,而不受许可限制。
-
避免供应商锁定:使用开源软件可以减少对单一供应商的依赖,因为用户可以自由选择提供支持和服务的企业。
-
长期维护:由于源代码是开放的,即使原始开发者停止支持,社区也可以继续维护和更新软件。
总之,Linux的开源性质为用户提供了更多的控制权、选择性和自由,同时促进了技术的快速进步和创新。
**3.**官网
Linux官网对外完全公开,可任意查看使用。
**4.**企业应用现状
Linux在服务器领域的发展
随着开源软件在世界范围内影响力日益增强,Linux服务器操作系统在整个服务器操作系统市场格局中占据了越来越多的市场份额,已经形成了大规模市场应用的局面。并且保持着快速的增长率。尤其在政府、金融、农业、交通、电信等国家关键领域。此外,考虑到Linux的快速成长性以及国家相关政策的扶持力度,Linux服务器产品一定能够冲击更大的服务器市场。
据权威部门统计,目前Linux在服务器领域已经占据75%的市场份额,同时,Linux在服务器市场的迅速崛起,已经引起全球IT产业的高度关注,并以强劲的势头成为服务器操作系统领域中的中坚力量。
Linux在桌面领域的发展
近年来,特别在国内市场,Linux桌面操作系统的发展趋势非常迅猛。国内如中标麒麟Linux、红旗
Linux、深度Linux等系统软件厂商都推出的Linux桌面操作系统,目前已经在政府、企业、OEM等领域得到了广泛应用。另外SUSE、Ubuntu也相继推出了基于Linux的桌面系统,特别是Ubuntu Linux,已经积累了大量社区用户。但是,从系统的整体功能、性能来看,Linux桌面系统与Windows系列相比还有一定的差距,主要表现在系统易用性、系统管理、软硬件兼容性、软件的丰富程度等方面。
Linux在移动嵌入式领域的发展
Linux的低成本、强大的定制功能以及良好的移植性能,使得Linux在嵌入式系统方面也得到广泛应用,目前Linux以广泛应用于手机、平板电脑、路由器、电视和电子游戏机等领域。在移动设备上广泛使用的Android操作系统就是创建在Linux内核之上的。目前,Android已经成为全球最流行的智能手机操作系统,据2015年权威部门最新统计,Android操作系统的全球市场份额已达84.6%。
此外,思科在网络防火墙和路由器也使用了定制的Linux,阿里云也开发了一套基于Linux的操作系
统"YunOS",可用于智能手机、平板电脑和网络电视;常见的数字视频录像机、舞台灯光控制系统等都在逐渐采用定制版本的Linux来实现,而这一切均归功与Linux与开源的力量。
Linux在云计算/大数据领域的发展
互联网产业的迅猛发展,促使云计算、大数据产业的形成并快速发展,云计算、大数据作为一个基于开源软件的平台,Linux占据了核心优势;据Linux基金会的研究,86%的企业已经使用Linux操作系统进行云计算、大数据平台的构建,目前,Linux已开始取代Unix成为最受青睐的云计算、大数据平台操作系统。
**5.**发行版本
Debian
Debian运行起来极其稳定,这使得它非常适合用于服务器。 debian这款操作系统无疑并不适合新手用户,而是适合系统管理员和高级用户。
Ubuntu
Ubuntu是Debian的一款衍生版,也是当今最受欢迎的免费操作系统。Ubuntu侧重于它在这个市场的应用,在服务器、云计算、甚至一些运行Ubuntu Linux的移动设备上很常见。Ubuntu是新手用户肯定爱不释手的一款操作系统。
红帽企业级Linux 这是第一款面向商业市场的Linux发行版。它有服务器版本,支持众多处理器架构,包括x86和x86_64。红帽公司通过课程红帽认证系统管理员/红帽认证工程师(RHCSA/RHCE),对系统管理员进行培训和认证。
CentOS
CentOS是一款企业级Linux发行版,它使用红帽企业级Linux中的免费源代码重新构建而成。这款重构版完全去掉了注册商标以及Binary程序包方面一个非常细微的变化。有些人不想支付一大笔钱,又能领略红帽企业级Linux;对他们来说,CentOS值得一试。此外,CentOS的外观和行为似乎与母发行版红帽企业级Linux如出一辙。 CentOS使用YUM来管理软件包。
Fedora
小巧的Fedora适合那些人:想尝试最先进的技术,等不及程序的稳定版出来。其实,Fedora就是红帽公司的一个测试平台;产品在成为企业级发行版之前,在该平台上进行开发和测试。Fedora是一款非常好的发行版,有庞大的用户论坛,软件库中还有为数不少的软件包。
Kali Linux
Kali Linux是Debian的一款衍生版。Kali旨在用于渗透测试。Kali的前身是Backtrack。用于Debian的所有Binary软件包都可以安装到Kali Linux上,而Kali的魅力或威力就来自于此。此外,支持Debian的用户论坛为Kali加分不少。Kali随带许多的渗透测试工具,无论是Wifi、数据库还是其他任何工具,都设计成立马可以使用。Kali使用APT来管理软件包。毫无疑问,Kali Linux是一款渗透测试工具,或者是文明黑客(我不想谈论恶意黑客)青睐的操作系统。
6.见见猪跑
这是一些常见的Linux指令
首先避免一个误区
XShell 下的复制粘贴
复制 : ctrl + insert ( 有些同学的 insert 需要配合 fn 来按 )
粘贴 : shift + insert
ctrl + c / ctrl + v 是不行的
- 对于ubuntu而言,没有root超级账号,只能使用sudo + 指令的形式,执行超级账号的职权
新建一个用户:adduser
sudo adduser指令
新建好之后,需要输入密码,注意:这个密码不回显!
不需要额外的操作只需要enter即可,需要更改名称即可在这里更改名称。
更改密码:passwd
切换用户、登录用户:ssh
这里welcome表示登录成功
如何理解ssh这三个字母呢?
SSH是"Secure Shell"的缩写,它是一种网络协议,用于在两个计算机之间进行安全的加密通信。下面是对SSH这三个字母的具体解释:
Secure(安全): SSH协议提供了多种安全措施,包括数据加密、认证和完整性保护。这意味着通过SSH进行的通信是经过加密的,可以防止数据在传输过程中被窃听、篡改或伪造。
Shell(壳层): 在计算机术语中,"shell"通常指的是一个提供用户与操作系统交互的接口。在SSH的上下文中,"shell"指的是用户可以通过SSH协议远程访问的服务器上的命令行界面(CLI)。通过SSH,用户可以在远程服务器上执行命令,就像直接在服务器上操作一样。
Hell(地狱): 这里的"Shell"并不是指"地狱",而是指壳层。SSH提供了一个安全的"壳层",允许用户远程登录到服务器或网络设备,并执行命令。
总的来说,**SSH是一种广泛使用的协议,用于在不安全的网络(如互联网)上安全地访问和管理远程计算机。**它通常用于以下场景:
远程登录到服务器或网络设备。
执行远程命令。
安全地传输文件(使用SSH的SCP或SFTP服务)。
管理网络服务和应用程序。
SSH通过使用公钥加密技术来确保连接的安全性,通常涉及一对密钥:一个私钥(保持私密)和一个公钥(可以安全地分享)。用户在本地计算机上生成这对密钥,然后将公钥上传到服务器。当用户尝试通过SSH连接到服务器时,服务器会使用公钥来验证用户的身份,并建立一个加密的通信通道。
删除用户:userdel
//1.断开连接 2.删除用户
需要注意的是,想要删除xiaoming,我们必须先将xiaoming断开连接,同时需要跳转到其他用户借助sudo 删除xiaoming!!!!!!
删除不要忘记 -r 采用递归的方式删除!!!!!!****-r是递归的意思,绝对不能漏掉!!!!!!
通过ssh协议,跳转到ubuntu用户。
ubuntu@VM-8-10-ubuntu:~$ sudo pkill -u xiaoming
Connection to 152.136.211.219 closed by remote host.
Connection to 152.136.211.219 closed.
sudo pkill -u xiaoming 这是断开连接的指令
ubuntu@VM-8-10-ubuntu:~$ sudo userdel -r xiaoming
userdel: xiaoming mail spool (/var/mail/xiaoming) not found
如果xiaoming内部没有新建任何文件,这个提示只是告诉我xiaoming邮件池不存在,但是小明用户仍然被删除成功 。即使提示xiaoming邮件池不存在,只要没有其他错误信息,小明用户仍然被删除成功。