初识服务器和Linux
一、什么是计算机
1、介绍
一说到计算机,我们首先想到的就是电脑,没错,电脑就是计算机,但是计算机不只是电脑。
所谓的电脑就是一种计算机,而计算机其实是:接收使用者输入的指令与资料,经中央处理器的数学与逻辑单元运算处理后,产生或储存成有用的资讯。
因此,只要有输入设备(键盘、触摸板等)及输出设备(电脑屏幕、打印机等),
让你可以输入资料使该机器产生资讯的,那就是一部计算机了。
例如:
个人电脑、手机、ATM、GPS等,这些都是计算机。
2、电脑硬件的组成
电脑硬件主要可分为三部分:
输入单元:包括键盘、鼠标、读卡机、扫描器、手写板、触控萤幕等
主机部分:主板、CPU、内存(RAM)等
输出单元:例如屏幕、打印机等
3、各硬件的作用
类比成一个人
CPU=大脑:每个人会作的事情都不一样(微指令集的差异),但主要都是透过大脑来进行判断与控制身体各部分的活动;
内存=大脑中正在思考的资料的区块:在实际活动过程中,我们的大脑需要有外界刺激的资料(例如光线、环境、语言等)来分析,这些互动资料暂时存放的地方就是内存,主要是用来提供给大脑判断用的资讯。
硬盘=脑袋中放置回忆的记忆区块:跟刚刚的内存不同,内存是提供给大脑目前要思考与处理的资讯,而硬盘主要目的是将重要的资料记录起来,以便未来将这些重要的资料再次的使用;
主机板=神经系统:好像人类的神经一样,将所有重要的元件连接起来,包括手脚的活动都是大脑发布命令后,透过神经(主机板)传导给手脚来进行活动
各项周边设备=人体与外界沟通的手、脚、皮肤、眼睛等:就好像手脚一般,是人体与外界互动的重要关键!
显示卡=大脑中的影像:将来自眼睛的刺激转成影像后在脑袋中呈现,所以显示卡所产生的资料来源也是CPU控制的。
电源供应器(Power)=心脏:所有的元件要能运作得要有足够的电力供给才行!这电力供给就好像心脏一样,如果心脏不够力, 那么全身也就无法动弹的!
二、服务器
1、互联网常见服务器介绍
服务器:
服务器指的是网络中能对其他机器提供某些服务的计算机系统,相对普通PC,服务器指的是高性能计算机,稳定性、安全性要求更高
服务器的高性能体现在高速的运转能力,长时间的可靠运行,强大的数据吞吐能力
常见的服务器有:
DELL(大多数公司在用)
HP
IBM(百度,银行,政府)(贵)
浪潮
联想
2、服务器
1. 包括大型机、小型机和UNIX服务器
价格昂贵,体系封闭,但是稳定性极强,性能强、主要用在金融、电信等大型企业核心系统中。
2. 普通PC
也就是通常所说的PC服务器,价格便宜、兼容性好,稳定性差,不够安全,常用在中小型企业。
3、linux服务器环境分类
1. 云服务器:阿里云 百度云 亚马逊云
2. 有实体服务器:dell power r720 服务器
-自建机房,例如:苹果的数据中心就建在贵州
-机房的特点,无尘,无静电,恒温,低温
-服务器托管,世纪互联公司,专做服务器托管
服务器就是一个性能超强的主机,且对外提供服务器的机器,称作服务器
三、操作系统
1、操作系统可以分为四大类
Windows系列操作系统
Unix类操作系统
Linux类操作系统
Mac操作系统
2、操作系统是什么
我们都知道windows/xp/7/8/10,其实就是操作系统,操作系统全称是Operating System,简称OS,是计算机系统中必不可少的基础系统软件,
它是应用程序运行及用户操作必备的基础环境支撑。
整个电脑主机是由一堆硬件所组成,为了有效的控制这些硬件资源,于是就有操作系统的产生了。操作系统除了有效的控制这些硬件资源的运作,
并且提供电脑运行所需的功能(例如网络功能)。
由上图看出操作系统跑于硬件之上,应用程序运行在操作系统之上,由于Linux只是一套操作系统并不含有其他应用程序,
因此工程师需要在下载Linux系统并且安装之后,就可以使用了。
Shell(也叫做终端或壳)充当的是人与内核(硬件)之间的翻译官,用户吧一些命令“传递”给终端(终端就是windows上cmd,Linux里面就叫终端),
它就会调用相应的程序服务去完成工作。红帽Linux默认使用的终端是Bash解释器。
四、Linux介绍
1、Linux起源
1991年,一个名叫Linus torvalds的芬兰研究生购买了自己的第一台PC,为了满足自己读写新闻和邮件的需求,他突发奇想决定开始开发自己的操作系统。
他选择了Minix作为自己研究的对象。 Minix是由荷兰教授 Andrew S Tanenbaum开发的一种模型操作系统,这个开放源代码的操作系统最初只是用于研究目的。
Linus torvalds成功地编写出了自己的操作系统后,他也把源代码上传到互联网上,作为开源的操作系统。最后Linus把这个操作系统命名为Linux,意思是:Linus的Minix(Linus, Minix-->liunx)
2、开源潮流
开源软件,英文表示是open source software,简称为OSS,直接的字面意思是公开源代码的软件。具备免费使用和公布源代码的特点。
开源软件,不仅让用户可以随意使用,还可以根据用户的需求进行修改,或编制成衍生产品再发布出去。用户具有使用自由、修改自由、重新发布自由以及创建衍生品的自由。
开源软件最重要的特性有:
低风险
使用闭源软件无疑把命运交付给他人,一旦封闭的源代码没有人来维护,你将进退维谷;
而且相较于商业软件公司,开源社区很少存在倒闭的问题。
高品质
相较于闭源软件产品,开源项目通常是由开源社区来研发及维护的,参与编写、维护、测试的用户量众多,
一般的bug还没有等爆发就已经被修补。
低成本
开源工作者都是在幕后默默且无偿地付出劳动成果,为美好的世界贡献一份力量,
因此使用开源社区推动的软件项目可以节省大量的人力、物力和财力。
更透明
像木马、后门等恶意代码没有人会把它们放到开放的源代码中去的,
这样无疑是把自己的罪行暴露在阳光之下
3、开源许可协议
计算机软件作为人类的知识财富,为人类社会的发展起到了巨大的作用,但长期以来软件源码作为个人或公司的私有财产受到严格的保密,很难做到像文学艺术作品一样地进行公开的交流,很大程度上造成软件的低水平,重复劳动严重,在一定意义上制约了软件的发展。
1.GPL 的诞生
直到 1985 年由 MIT 教授理查德·斯托曼(Richard Stallman)提出应将软件源码看成人类共同拥有的知识财富,应该公开地自由交换、修改,提出了 GNU 计划(因英文名相同,GNU 的 logo 就是一只牛羚),并建立了自由软件基金会;同时,发布了一份举足轻重的法律文件,GNU通用公共许可协议(GNU General Public License)。
该授权书主要有以下几点:
- 自由软件(free software)指的是源码自由,不是价格;
- 自由软件必须附带程序源代码,但可收取费用;
- 任何人都可以自由分发自由软件并收取费用,但必须列明原创者姓名;
- 任何人都可以修改源代码,但必须列明修改人名字,以保护原创者名誉;
- 任何人都可以采用源代码中的某一段,但其开发之软件必须也为自由软件(例如,如果 Netscap 是自由软件,而 IE 采用了其中的部份源代码,则 IE 也必须成为自由软件);
- 任何自由软件的衍生品也必须是自由软件;
- 自由软件没有担保,以保护分发者。
1991 年,Richard Stallman 对授权做了微小的修改,即所谓的通用公共授权第 2 版。同时,他也推出了更宽松的通用公共授权,用于自由程序库。这一系列的授权有效地保护了自由软件不受商业软件的非法侵犯,例如,1998 年 Netscap 决定采用与 GPL 差不多的 NPL(Netscap Public Liscense),这样一来,Microsoft 就无法将 Netscap 中的源代码运用在 IE 上,除非它们也要成为自由软件。
至此,在 GPL 下人们就可以自由交流、修改软件源码了,这一协议极大地推动了整个计算机软件行业的发展,并带来了以下明显的益处:
- 对于广大计算机软件的学习者来说,可以直接从源码中吸取营养,缩短学习的时间,提高学习的效率,少走弯路,再也不必花大量时间去看那些不知正确与否的“未解之谜”了,学习在某种程度上变成了一件轻松愉快的事情了。
- 可以集中大家的智慧发展软件,避免重复劳动。一个软件只有公开源码,通过很多人的研究才有可能发现其中深藏的错误,大家才能公开探讨相关的问题,并进行改进,在大家的共同“挑剔与监督”下才有可能编写出尽善尽美的软件来。
GPL 协议的核心就是要对源码进行公开,并且允许任何人修改源码,但是只要使用了 GPL 协议的软件源码,其衍生软件也必须公开源码,准许其他人阅读和修改源码,即 GPL 协议具有继承性。
另一个问题就是 GPL 软件并非就是免费软件,这里所说的自由软件是指对软件源码的自由获得与自由使用、修改,软件开发者不但可以通过服务来收费,而且还可以通过出售 GPL 软件来获利。
适应 GPL 协议的软件一般都是自由软件,自由软件是指一件可以让用户自由复制、使用、研究、修改、分发等,而不附带任何条件的软件。
2.copyleft 授权
Stallman 为了停止中间人对自由软件权利的侵害,提出了 copyleft 授权,因为自由软件在发布过程中可能会有一些不合作的人通过对程序的修改而将软件变成私有软件,将程序变成 copyleft 授权。
我们首先声明它是有版权的,而后加人了分发条款,这些条款是法律指导,使得任何人都拥有对这一程序代码或者任何这一程序的衍生品的使用、修改和重新发布的权力,但前提是这些发布条款不能被改变。这样在法律上,代码和自由就不可分割了。
自由软件的支持者相信,总有一天,随着自由软件的日渐成熟,自由软件终将主宰整个软件行业,人们不再受少数商业软件公司的控制,真正实现“市集式开发模式”
4、Linux的优势
Linux以高效和灵活主城,Linux同事具有多任务、多用户的能力,支持多线程,多CPU。
Linux包括了文本编辑器,高级语言编译器,以及图形用户界面登应用软件,当然绝大多数服务器都是使用命令行,文本模式操作Linux的。
Linux遵循GNU通用公共许可协议,属于自由软件,用户不需要支付费用就可以获得系统和系统源代码,无偿使用且自由传播。
Linux具有很高的系统稳定性和可靠性。
Linux具有很高的系统安全性
众多业界厂商支持,如IBM、Oracle、Intel、HP、Google等
有完善的数据库平台,包括Oracle、DB/2、Sybase、MySQL、PostgreSQL等。
有完善的图形化用户界面,包括GNOME、KDE等。
有完善的开发平台,包括C/C++、Java、Python等。
5、Linux的发行版本
1. Linux内核与Linux发行版本的区别
linux就是一个操作系统,但是实际上Linux这个词只是代表着Linux操作系统的内核,而不是代表Linux操作系统。这个内核由www.kernel.org维护
Linux是一类Unix计算机操作系统的统称。Linux操作系统的内核的名字也是“Linux”。Linux操作系统也是自由软件和开放源代码发展中最著名的例子。
严格来讲,Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统
Linux发行版就是在Linux内核的基础上添加了一些工具软件构成的一套庞大复杂的操作系统。
虽然内核都是一样的,但添加部分各不相同,这就构成了不同的发行版本。
也就是说Linux本身指的是一个操作系统内核,只有内核是无法直接使用的。
我们需要的,可以使用的操作系统是一个包含了内核和一批有用的程序的的一个集合体,这个就是Linux发行版
2. Linux常见的发行版本
桌面系统:Ubuntu(乌班图)
服务端系统: redhat(红帽),centos
使用数据库高级服务或电子邮件:suse
数据库安全性很高的:Debian,FreeBSD
使用最新的技术: fedora
-- redhat(RedHat Enterprise Linux RHEL)
红帽公司是全球最大的开源技术厂商,RHEL 是全世界内使 用最广泛的 Linux 系统。
RHEL系统具有极强的性能与稳定性,并且在全球范围内拥有完善的技术支持。
-- CentOS(Community Enterprise Operating System)
CentOS 通过把 RHEL 系统重新编译并发布给用户免费使用的 Linux 系统,具有广泛的使用人群。
CentOS 当前已被红帽公司 “收编”。
-- openSUSE
源自德国的一款著名的 Linux 系统,在全球范围内 有着不错的声誉及市场占有率。
主要使用客户是中国移动、中国电信、交通银行、浦发银行等等安全性极高的客户
-- Debian
稳定性、安全性强,提供了免费的基础支持,可以良好地支持各种硬件架构,以及提供近十万种不同的开源软件,
在国外拥有很高的认可度和使用率
-- Ubuntu
是一款派生自 Debian 的操作系统,对新款硬件具有极 强的兼容能力。Ubuntu 与 Fedora 都是极其出色的 Linux 桌面系统,
而且 Ubuntu 也可用于服务器领域。
3. redhat与CentOS的区别
在过去的10年中, Red hat公司一直是 Linux乃至开源世界的领导者。2003年,公司高层决定将其产品分成两个不同的发行版本。商业版本被称为 Red Hat Enterprise Linux,这个发行版本专注于企业级应用,并向使用它的企业提供全套技术支持, Red Hat公司从中收取相关许可证费。
RedHat Linux对硬件的支持非常友好,主流硬件厂商早早的将服务器拿去测试,很少遇见硬件兼容性问题,大量的商业软件都是基于RedHat认证的,例如Oracle。Linux内核代码的贡献,redhat厂商的大牛也是最多,要知道全世界的互联网大客户,一般都会使用商业服务器,因为出了问题有专业的技术人员技术支持。
CentOS 系统是通过把 RHEL 系统释放出的程序源代码经 过二次编译之后生成的一种 Linux 系统,其命令操作和服务配置方法与 RHEL 完全相同,但 是去掉了很多收费的服务套件功能,而且还不提供任何形式的技术支持,出现问题后只能由运维人员自己解决
6、Linux和windows区别
1.使用领域
我们经常使用Windows是为什么?因为windows适合生活服务和游戏,
那么使用Linux是为什么?作为开发人员,学习Linux代表着你要开发软件,你要测试程序,你要维护服务器,Linux表着严谨和工作。
2. 免费与收费
最新正版Windows10官方售价¥888
Linux几乎免费(更多人愿意钻研开源软件,而收费的产品出现更多的盗版)
3. 软件支持
Windows平台:数量和质量的优势,但是大部分为收费软件;由微软提供技术支持和服务
Linux平台:大多为开源软件,用户可以修改定制与发布,由于免费没有资金支持,部分软件质量可能欠缺
4. 安全稳定性
Windows平台:三天两头修复补丁,仍然会中毒(即便装了360,瑞星,金山毒霸)
Linux平台:安全问题很少,无需安装xx杀毒,xx卫士
5. 使用习惯
Windows:普通用户基本依靠图形界面操作,鼠标和键盘完成一切需求,上手简单容易
Linux:兼具图形界面(需要带有桌面环境的发行版Linux)和完全命令行操作,无法使用鼠标,新手入门困难,需要学习后方可使用,熟练后效率极高
6. 应用领域
Linux:人们日常在Windows上访问的百度、淘宝、qq,支撑这些软件运行的,后台是成千上万的Linux服务器,它们时时刻刻进行着忙碌的数据处理和运算
Windows:可以运行英雄联盟、绝地求生、地下城与勇士等游戏,而Linux开发的游戏几乎很少
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix