Skip to content

2.环境准备

2.1.课程设计目标

TIP

这套课程设计目标是高效系统的学习 Linux 相关知识,达到熟练使用 Linux 系统的目的

要达到高效和系统学习的目的,我们设计这套课程的时候,就会按照 2/8 原则,把一些非常常用且必修要用到的知识点拆分出来,每个知识点讲解 3-5 分钟,让学习者能够利用零碎时间就把 Linux 学习了,不管你是做前端,还是做后端,亦或是软件测试,你都需要学习 Linux,试想一下,每天上班挤地铁、等公交的时间,拿个 3-5 分钟时间就能掌握一个 Linux 相关的知识,基于这样的学习场景,我们会精简掉一些知识,例如,如何去安装虚拟机、如何安装 linux 系统、硬盘如何分区等等,我们只学常用且必须的,请记住,这门课程是入门级别的课程,如果要深入底层源码,可以看看底层的课程

2.2.环境搭建

2.2.1.服务器购买

基于我们前面说的课程设计目标和学习目的,我们就把安装虚拟机和系统安装的步骤给精简掉了,我们直接去腾讯云和阿里云购买一台生产用的线上服务器,等大家把线上服务器玩明白了,后面部署个人的应用会比较得心应手

我这边购买的服务器环境是腾讯云的轻量级服务器,主要是价格便宜,对于个人开发者而言,部署个人博客或者一些其他轻量级应用性价比比较高,而且经常有活动,下面是腾讯云的活动地址,你可以点击进入购买,通常情况下,100 以内就可以搞定

【腾讯云】轻量新用户上云福利,2 核 2G4M 低至 65 元/年 , 超大容量云硬盘 0.5 折起!

TIP

由于腾讯云的活动和购买界面可能发生变化,我会单独录制视频来讲解如何购买,并且视频会配合腾讯云的变化更新

2.2.2.连接服务器

腾讯云服务器准好以后,我们需要通过电脑连接服务器,对服务器进行操作,主要是进行三步操作,第一步是在本地生成密钥,第二步,登录腾讯云控制台,绑定密钥, 第三步,电脑本地配置,通过终端连接服务器

生成本地密钥的命令:

ssh-keygen -t rsa -C "2014868983@qq.com"

注意,上面命令中的邮箱 你需要替换成自己的邮箱

其他操作,请看我的视频教程

2.2.3.Linux 简介

对于初学者而言,你需要明白的一个概念就是,操作系统并不仅仅是只有 windows,个人常用的操作系统还有 macOS,只不过这个操作系统只能跑在苹果电脑上,另外还有一个使用非常广泛的操作系统是 Linux,有些人会把 Linux 装到个人电脑上,再配合图形化界面来使用,但是由于软件应用没有 windows 和 macOS 丰富,所以个人电脑上使用 Linux 的人数相对于 windows 和 macOS 来说,要少很多,但是在服务器领域,主流的就是 Linux,不管是作为软件开发人员还是软件测试人员,都必须掌握 Linux 的相关知识

Linux 和 window 以及 macOS 不一样的一点是 Linux 属于开源的操作系统,全球大约有数百款的 Linux 系统版本,每个系统版本都有自己的特性和目标人群,我们这里说的各种 Linux 系统版本,实际上是由 Linux 系统内核+各种常用的软件的集合组成的产品,你也可以在 Linux 内核的基础上定制自己的版本

Linux 的发型版本大概可以分为 2 类,一类是商业公司维护的发行版本,另一类是社区维护的发型版本,商业公司主要以以著名的 Red Hat(RHEL 红帽)为代表,社区维护版以 Debian 为代表

下面我们来介绍一些常用的版本

Redhat 系列,包括:

(1)RHEL (Redhat Enterprise Linux,也就是所谓的 Redhat Advance Server,收费版本,稳定性非常好,适合服务器使用)

(2)Fedora Core (由原来的 Redhat 桌面版本发展而来,免费版本,稳定性较差,最好只用于桌面应用)

(3)CentOS (RHEL 的社区克隆版本,免费版本,稳定性非常好,适合服务器使用)

Debian 系列,包括 Debian 和 Ubuntu 等,分为三个版本分支(branch):

(1)unstable,为最新的测试版本,其中包括最新的软件包,但是也有相对较多的 bug,适合桌面用户。

(2)testing,经过 unstable 中的测试,相对较为稳定,也支持了不少新技术。

(3)stable,一般只用于服务器,上面的软件包大部分都比较过时,但是稳定和安全性都非常的高。

我比较常用的两个版本一个是 centos,一个 ubuntu,至于其他版本,大家自行找资料吧

先说 Centos,社区企业操作系统(Community Enterprise Operating System,Centos),来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同,在于 CentOS 并不包含封闭源代码软件

再说一下 Ubuntu,Ubuntu 是一款基于 Debian 派生的操作系统,对新款硬件具有极强的兼容能力,界面非常友好,容易上手,个人电脑上使用非常多,在 windows 操作系统中可以开启 ubuntu 子系统,同时 Ubuntu 也可以应用于服务器领域

TIP

注意:我们课程主讲的系统版本为 Centos 7.8

2.3.Linux 目录

学习 Linux 首先要搞清楚 Linux 的目录,因为 Linux 和我们平时用到的个人桌面系统不一样,Linux 本身没有图形化的操作界面,我们操作 Linux 通常是通过命令行的形式来操作,当你通过命令来操作 Linux 的时候,当前的操作在哪个命令下执行,我需要去操作的目录是哪个,这就变得非常重要,如果不搞清楚 Linux 的目录,肯定是学不好 Linux 的

下面是 Linux 各个目录和具体的作用,简单的记住就行

Linux 以一种树状结构来组织目录,所有目录都挂载到一个根目录下

20211217183812

目录作用
/根目录
/lib64给 64 位操作系统提供的,存放一些库
/run一个临时文件系统,存储系统启动依赖的信息,当系统重启时,这个目录下的文件应该被删除
/srv存放一些服务启动之后需要提取的数据
/mnt让用户挂载别的文件系统,例如,挂载一个光驱就放在这个目录下
/media系统会自动识别一些设备,例如 u 盘,识别后,Linux 会吧识别的设备挂载到这个目录下
/sbin存放超级管理员使用的系统管理程序
/etc存放所有的系统管理所需要的配置文件和子目录
/dev存放 Linux 的外部设备
/lost+fount一般情况下时空的,当系统非法关机后,这里会存放一些文件
/proc存储的时当前内核运行状态的一系列特殊文件,这个目录时一个虚拟的目录,它时系统内存的映射,我们可以通过直接房屋这个目录来获取系统信息
/sys该目录下安装了 linux2.6 内核中新出现的一个文件系统 sysfs
/var这个目录中存放着在不断扩充着的东西,经常被修改的目录或者文件可以放到这个目录下,例如:日志文件
/tmp存放一些临时文件
/usrunix shared resourse 的缩写,表示共享资源,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录
/home用户的主目录
/root超级管理员的用户主目录
/boot存放启动 Linux 时使用的一些核心文件
/lib存放系统最基本的动态连接共享库
/opt给主机额外安装软件摆放的目录,例如你安装一个额外的数据库软件就可以放到这个目录下
/bin存放最常用的命令,一些二进制文件

返回 -> 重学 Linux