Linux 介绍
操作系统
操作系统(英语:operating system,缩写作 OS)是管理计算机硬件与软件 资源的计算机程序,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存 、决定系统资源供需的优先次序、控制输入与输出设备、操作网络 与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。
没有安装操作系统的计算机,通常被称为裸机
- 如果想在裸机上运行自己所编写的程序,就必须用机器语言书写程序
- 如果计算机上安装了操作系统,就可以在操作系统上安装支持的高级语言环境,用高级语言开发程序
主流操作系统
操作系统 | 优点 | 缺点 | 主要场景 |
---|---|---|---|
windows | 1. 简单的界面 2. 丰富的软件 3. 最多的用户群体 4.很多的娱乐软件 | 一些开发工具无法使用 对开发者不是很友好 | 办公、娱乐 还可以的开发体验 |
mac | 1. 良好的界面优化 2. 苹果生态的加持 3. 不错的开发体验 | 封闭的生态 一些娱乐、开发软件无法使用 | 日常办公 不错的开发体验 |
linux | 1. 最好的开发体验 2. 开发、生产环境保持一致 3. 开销低、服务器环境首选 | 1. 专业的工具,上手门槛高 2. 界面体验不好(也不需要) 3. 办公、娱乐软件很少 | 服务器环境 最好的开发体验 |
总结:
windows 是最好的桌面系统,有还可以的开发体验。但是对开发者不友好,一些开发软件安装、配置异常麻烦,并且一些工具无法使用或者使用时有 BUG。
linux 办公与娱乐几乎没有,单纯适合做开发。各种工具安装非常方便,Linux 指令用起来也异常的舒服。
mac 是综合了 windows 与 linux 的优点,有不错的桌面系统,并且有不错的开发体验。有最好的办公体验,但是生态闭环,娱乐比不上 windows,开发体验比不上 Linux。
Linux
1991 年 林纳斯(Linus) 就读于赫尔辛基大学期间,对 Unix 产生浓厚兴趣,尝试着在 Minix
上做一些开发工作
因为 Minix
只是教学使用,因此功能并不强,林纳斯 经常要用他的终端 仿真器(Terminal Emulator) 去访问大学主机上的新闻组和邮件,为了方便读写和下载文件,他自己编写了磁盘驱动程序和文件系统,这些在后来成为了 Linux 第一个内核的雏形,当时,他年仅 21 岁!
林纳斯利用 GNU 的 bash 当做开发环境,gcc 当做编译工具,编写了 Linux 内核,一开始 Linux 并不能兼容 Unix
- 即 Unix 上跑的应用程序不能在 Linux 上跑,即应用程序与内核之间的接口不一致
- 一开始 Linux 只适用于 386,后来经过全世界的网友的帮助,最终能够兼容多种硬件
内核版本
内核(kernel)是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序,它提供了一个在裸设备与应用程序间的抽象层
Linux 内核版本又分为稳定版和开发版,两种版本是相互关联,相互循环
- 稳定版:具有工业级强度,可以广泛地应用和部署。新的稳定版相对于较旧的只是修正一些 bug 或加入一些新的驱动程序
- 开发版:由于要试验各种解决方案,所以变化很快
内核源码网址:http://www.kernel.org
所有来自全世界的对 Linux 源码的修改最终都会汇总到这个网站,由 Linus 领导的开源社区对其进行甄别和修改最终决定是否进入到 Linux 主线内核源码中
发行版本
Linux 发行版(也被叫做 GNU/Linux 发行版)通常包含了包括桌面环境、办公套件、媒体播放器、数据库等应用软件
常见的发行版本如下:
- Ubuntu
- Redhat
- Fedora
- openSUSE
- Linux Mint
- Debian
- Manjaro
- Mageia
- CentOS
- Arch
应用领域
服务器领域
Linux 在服务器领域的应用是其重要分支
Linux 免费、稳定、高效等特点在这里得到了很好的体现
- 早期因为维护、运行等原因同样受到了很大的限制
- 近些年来 Linux 服务器市场得到了飞速的提升,尤其在一些高端领域尤为广泛
嵌入式领域
近些年来 Linux 在嵌入式领域的应用得到了飞速的提高
Linux 运行稳定、对网络的良好支持性、低成本,且可以根据需要进行软件裁剪,内核最小可以达到几百 KB 等特点,使其近些年来在嵌入式领域的应用得到非常大的提高
主要应用:机顶盒、数字电视、网络电话、程控交换机、手机、等都是其应用领域,得到了 Google、三星、摩托罗拉、NEC 等公司的大力推广
个人桌面领域
此领域是传统 Linux 应用最薄弱的环节
传统 Linux 由于界面简单、操作复杂、应用软件少的缺点,一直被 Windows 所压制
近些年来随着 Ubuntu、Fedora 等优秀桌面环境的兴起,同时各大硬件厂商对其支持的加大,Linux 在个人桌面领域的占有率在逐渐的提高
Linux 环境
云服务器使用
在以前学习时,一般是使用虚拟机。但其实使用云服务器学习效果会更好,提前适应云服务器平台的使用,等到工作时用起来就会非常舒服。
国内的云服务器提供商有很多,腾讯云、阿里云都可以。但是我这个教程使用腾讯云、轻量级服务进行学习。
腾讯云轻量级服务器:https://curl.qcloud.com/Bz8E5h5o
注意
如果有条件,建议直接上云服务器环境,一般在公司都是使用云平台的各种服务。
虚拟机
虚拟机有很多种
- VMware Workstation Pro
- WLS
使用云服务器会有额外的支持,但是使用虚拟机就很方便的。但是虚拟机比较吃资源,电脑配置不好的话会变卡。
分为桌面版与服务器版,桌面版类似 windows 有良好的可视化界面,服务器版本就只有一个黑窗口。如果只是做服务器部署,使用第二种就可以了。
安装的时候需要选取 LTS(长期支持) 版本,不然很容易就出现问题。
注意
虚拟环境对计算机的配置要求较高,配置麻烦、容易出问题,可以的话建议直接上云服务器。