一、Linux背景介绍
cpp
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)和GUN的C编程程序(gcc)以及为数不多的其他语言。Torvalds绝对没有想到他设想的一种能够针对高级业余爱好者和黑客们的操作系统已经产生,这就是后来人们所称的Linux。
**·**Linux发布时的版本是0.02,后来又有0.03版,然后又跳到0.10版。因为世界各地的高级工程师和黑客都自愿帮助开发Linux,它已经达到了0.95版本。正式的1.0版本也于1994年公布出来。
二、开源
Linux是一种自由和开放源代码的类UNIX的操作系统,该操作系统的内核由林纳斯托瓦兹在1991年首次发布之后,再加上用户空间的应用程序之后,就成了Linux操作系统。严格来讲,Linux只是操作系统内核本身,但通常用Linux内核来表达该意思。而Linux则常用来指基于Linux内核的完整系统,它包括GUI组件和许多其他实用工具。
GUN通用公共许可协议(GUN General Public License,简称GUN或GPL),是一个广泛被使用的自由软件许可协议条款,最初由理查德托斯曼为GUN计划而撰写,GPL给予了计算机程序自由软件的定义,任何基于GPL软件开发衍生的产品在发布时必须采用GPL许可证方式,且必须公开源代码。
Linux是自由软件和开放源代码软件发展中最著名的例子。只要遵循GUN通用公共许可证,任何个人和机构都可以自由的使用Linux的所有底层源代码,也可以自由的修改和再发布。随着Linux操作系统的飞速发展,各种集成在Linux上的开源软件和实用工具也得到了应用和普及,因此Linux也成为了开源软件的代名词。
开源的好处:稳定,安全,快速,成本低。
cpp
稳定安全和快速的原因:因为代码是开源的在查看人数足够多时,可以及时发现代码中的问题并加以修
正,使代码更稳定不容易报错,且代码中有没有夹带私货也都能清清楚楚的看到,能确保代码的安全性
,当代码部分地方出现时间复杂度过高时,开源时一些大佬也可能会提供更好的优化方案,使得代码变
的更快速。
成本低的原因:大部分开源代码一般成本都比较低。
Linux官网:The Linux Kernel Archives
三、企业应用现状
1.Linux在服务领域的发展
cpp
随着开源软件在世界范围内影响力日益增强,Linux服务器操作系统在整个服务器操作系统市场格局
中占据了越来越多的市场份额,已经形成了大规模市场应用的局面。并且保持着快速的增长率。尤其
在政府、金融、农业、交通、电信等国家关键领域。此外,考虑到Linux的快速成长性以及国家相关
政策的扶持力度,Linux服务器产品一定能够冲击更大的服务器市场。据权威部门统计,目前Linux在
服务器领域已经占据75%的市场份额,同时,Linux在服务器市场的迅速崛起,已经引起全球IT产业的
高度关注,并以强劲的势头成为服务器操作系统领域中的中坚力量。
2.Linux在桌面领域的发展
cpp
近年来,特别在国内市场,Linux桌面操作系统的发展趋势非常迅猛。国内如中标麒麟Linux、红旗
Linux、深度Linux等系统软件厂商都推出的Linux桌面操作系统,目前已经在政府、企业、OEM等领
域得到了广泛应用。另外SUSE、Ubuntu也相继推出了基于Linux的桌面系统,特别是Ubuntu Linux
,已经积累了大量社区用户。但是,从系统的整体功能、性能来看,Linux桌面系统与Windows系列相
比还有一定的差距,主要表现在系统易用性、系统管理、软硬件兼容性、软件的丰富程度等方面。
3.Linux在移动嵌入式领域的发展
cpp
Linux的低成本、强大的定制功能以及良好的移植性能,使得Linux在嵌入式系统方面也得到广泛应
用,目前Linux以广泛应用于手机、平板电脑、路由器、电视和电子游戏机等领域。在移动设备上广
泛使用的Android操作系统就是创建在Linux内核之上的。目前,Android已经成为全球最流行的智
能手机操作系统,据2015年权威部门最新统计,Android操作系统的全球市场份额已达84.6%。此外
,思科在网络防火墙和路由器也使用了定制的Linux,阿里云也开发了一套基于Linux的操作系统
"YunOS",可用于智能手机、平板电脑和网络电视;常见的数字视频录像机、舞台灯光控制系统等都
在逐渐采用定制版本的Linux来实现,而这一切均归功与Linux与开源的力量。
4.Linux在云计算/大数据领域的发展
cpp
互联网产业的迅猛发展,促使云计算、大数据产业的形成并快速发展,云计算、大数据作为一个基
于开源软件的平台,Linux占据了核心优势;据Linux基金会的研究,86%的企业已经使用Linux操
作系统进行云计算、大数据平台的构建,目前,Linux已开始取代Unix成为最受青睐的云计算、大
数据平台操作系统。
四、发行版本
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是一款渗透测试工具,或者是文明黑客青睐的操作系统。
Linux内核的版本号信息:

五、搭建Linux环境
Linux环境搭建的方式有三种:
1.直接安装在物理机上,但由于Linux桌面使用起来非常不友好,不推荐。
2.使用虚拟机软件,将Linux搭建在虚拟机上,但由于当前的虚拟机软件(如VMWare)存在一些bug,会导致环境出现各种莫名其妙的问题,比较折腾。
3.使用云服务器,要花钱(money),不过比较稳定。
这里只介绍第三种:使用云服务器的方式。
5.1 购买云服务器
阿里云官网:阿里云-计算,为了无法计算的价值 (aliyun.com)
登入 ->鼠标悬停选择产品 ->选择轻量级服务器 ->立即购买
参数选择:我选的是系统镜像CentOS7.6版本,购买几个月看自己需求
如果选错了及时退款即可。

腾讯云官网:腾讯云 产业智变·云启未来 - 腾讯 (tencent.com)

购买完成后前往自己的主页->选择控制台->选择轻量应用服务器->选择···->选择重置密码,能够重载root密码。
这里面有公网ip登入Xshell时需要用到。

5.2 使用XShell远程登入到Linux
下载安装XShell:
XShell免费版的安装配置教程(附安装包)_xshell安装包-CSDN博客

如果系统不小心被自己玩坏了,可以直接在控制台中的服务器上选择重装系统。
5.3 使用XShell新建普通用户
新建一个用户:
cpp
adduser 用户名
cpp
例如:adduser zhangsan
为新建的用户设置密码:
cpp
passwd 用户名
cpp
例如:passwd zhangsan
接下来就需要输入密码了,输入密码时密码是不会显示的,并且需要两次输入一样的密码才能设置成功。
登入普通用户:
cpp
ssh 用户名@公网ip
cpp
例如:ssh zhangsan@xxx.xxx.xx.xxx
然后输入正确的密码即可成功登入。
删除普通用户:
一般来说只有root账号才能删除普通用户,因此删除普通账号时需要登入root账号。
cpp
user -r 用户名
-r代表递归删除。
cpp
例如:userdel -r zhangsan