目录
1. 前言
1.1 什么是Linux
1.2 为什么要学Linux
1.3 学完Linux能干什么
2. Linux简介
2.1 主流操作系统
2.2 Linux发展历史
2.3 Linux系统版本
3. Linux安装
3.1 安装方式介绍
3.2 安装VMware
3.3 安装Linux
3.4 网卡设置
3.5 安装SSH连接工具
3.6 Linux目录结构
1. 前言
1.1 什么是Linux
Linux是一套免费使用和自由传播的操作系统。说到操作系统,大家比较熟知的应该就是Windows和MacOS操作系统,我们今天所学习的Linux也是一款操作系统。
1.2 为什么要学Linux
那么我们为什么要学习Linux呢,主要出于两个方面的原因。
1). 企业用人要求
以下,是从知名招聘网站上搜索的java开发工程师的岗位要求,在很多的岗位要求中都提到了Linux操作系统的经验。
为什么作为javaEE开发工程师,企业还要求我们会Linux操作系统的相关知识呢?
这是因为Linux操作系统提供了很多稳定的发行版本,广泛的应用在我们的各种服务器操作系统领域,我们将来开发出来的项目,最终要上线运行,就需要将项目部署在Linux服务器中。
2). 个人发展需要
我们作为javaEE开发工程师,将来在企业中开发时会涉及到很多的数据库、中间件等技术,比如MySQL、Redis、MQ等技术,而这些应用软件大多都是需要安装在Linux系统中使用的。我们做为开发人员,是需要通过远程工具连接Linux操作系统,然后来操作这些软件的。而且一些小公司,可能还需要我们自己在服务器上安装这些软件。
所以,不管从企业的用人需求层面,还是个人发展需要层面来讲,我们作为服务端开发工程师,Linux的基本使用是我们必不可少的技能。
1.3 学完Linux能干什么
学习完Linux操作系统课程之后,我们可以做以下几个方面的事情:
1). 环境搭建
系统安装 : 一般我们不会直接将Linux系统安装在本机电脑上,而会安装在公司的一台专门的服务器上。
远程连接 : 那么我们要想使用服务器,一般都是通过远程连接工具连接Linux系统进行操作。
2). 常用命令
连接上服务器之后,我们可以通过所学习的相关指令, 来操作Linux服务器,在Linux服务器中可以执行如下操作:
A. 文件、目录的基本操作(查看,删除,创建等)
B. 文件及文件夹的拷贝、移动、重命名
C. 文件的打包、压缩、解压缩操作
D. 文本的编辑
3). 安装软件
基本的常用指令学会操作之后,我们可以在Linux服务器中安装我们开发常用的软件,比如: JDK、Tomcat、MySQL的安装及配置。
4). 项目部署
把基础的软件及环境安装配置好之后,我们就可以将我们开发的项目部署在服务器中进行运行并测试。
对于我们学习Linux操作系统时,Linux命令是基础,也是学习Linux系统的重点内容,虽然Linux的指令有很多,但是我们常用的指令并不多,大家在学习的时候,主要掌握这部分常用的指令就可以了,对于其他的指令,以后我们用到的时候,知道怎么查询即可。
对于Linux的常用指令的学习,最好的学习方法就是:多敲
2. Linux简介
2.1 主流操作系统
不同领域的主流操作系统,主要分为以下这么几类: 桌面操作系统、服务器操作系统、移动设备操作系统、嵌入式操作系统。接下来,这几个领域中,代表性的操作系统是那些?
1). 桌面操作系统
操作系统 | 特点 |
Windows | 用户数量最多 |
MacOS | 操作体验好,办公人士首选 |
Linux | 用户数量少(桌面操作系统,Linux使用较少) |
2). 服务器操作系统
操作系统 | 特点 |
Unix | 安全、稳定、付费 |
Linux | 安全、稳定、免费、占有率高 |
Windows Server | 付费、占有率低 |
3). 移动设备操作系统
操作系统 | 特点 |
Android | 基于 Linux 、开源,主要用于智能手机、平板电脑和智能电视 |
IOS | 苹果公司开发、不开源,用于苹果公司的产品,例如:iPhone、 iPad |
4). 嵌入式操作系统
操作系统 | 特点 |
Linux | 机顶盒、路由器、交换机 |
2.2 Linux发展历史
时间:1991年
地点:芬兰赫尔辛基大学
人物:Linus Torvalds(21岁)
语言:C语言、汇编语言
logo:企鹅
特点:免费、开源(源代码开放)、多用户(同时允许多个用户操作同一个Linux系统)、多任务(同时允许多个任务执行)
2.3 Linux系统版本
Linux系统的版本分为两种,分别是: 内核版 和 发行版。
1). 内核版
- 由Linus Torvalds及其团队开发、维护
- 免费、开源
- 负责控制硬件
2). 发行版
- 基于Linux内核版进行扩展
- 由各个Linux厂商开发、维护
- 有收费版本和免费版本
我们使用Linux操作系统,实际上选择的是Linux的发行版本。在linux系统中,有各种各样的发行版本,具体如下:
发行版本 | Logo | 特点 |
Ubuntu | 以桌面应用为主 | |
RedHat | 应用最广泛、收费 | |
CentOS | RedHat的社区版、免费 | |
openSUSE | 对个人完全免费、图形界面华丽 | |
Fedora | 功能完备、快速更新、免费 | |
红旗Linux | 北京中科红旗软件技术有限公司开发 |
除了上述罗列出来的发行版,还有很多Linux发行版,这里,我们就不再一一列举了。
3. Linux安装
3.1 安装方式介绍
Linux系统的安装方式,主要包含以下两种:
方式 | 概述 | 场景 |
物理机安装 | 直接将操作系统安装到服务器硬件上 | 企业开发中,我们使用的服务器基本都是采用这种方式 |
虚拟机安装 | 通过虚拟机软件安装 | 我们在学习阶段,没有自己服务器,而我们又需要学Linux,就可以安装在虚拟机上 |
虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能、运行在完全隔离环境中的完整计算机系统。常用虚拟机软件:
- VMWare
- VirtualBox
- VMLite WorkStation
- Qemu
- HopeddotVOS
那么我们就可以在课程中将Linux操作系统安装在虚拟机中,我们课上选择的虚拟机软件是VMware。
3.2 安装VMware
在我们的课程资料中提供了VMware的安装程序。直接双击运行VMware安装程序,根据提示完成安装即可。
以上就是VMware在安装时的每一步操作,基本上就是点击 "下一步" 一直进行安装。
3.3 安装Linux
VMware虚拟机安装完毕之后,我们就可以打开VMware,并在上面来安装Linux操作系统。具体步骤如下:
1). 选择创建新的虚拟机
2). 选择"典型"配置
3). 选择"稍后安装操作系统(S)"
4). 选择"Linux"操作系统,"CentOS7 64位"版本
5). 设置虚拟机的名称及系统文件存放路径
6). 设置磁盘容量
7). 自定义硬件信息
8). 启动上述创建的新虚拟机
9). 选择"Install CentOS7"
进入到Linux系统里面, 我们发现光标无法移动到windows操作系统中了, 这个时候, 我们可以通过快捷键 "Ctrl+Alt" 切换光标到windows系统中。
10). 选择语言为 "简体中文"
11). 选择"自动配置分区"
12). 选择"最小安装"
13). 设置"root"用户密码
安装完毕后,点击窗口中的蓝色的 "重启" 按钮,重启Linux系统。
14). 登录系统
注意 : 在Linux系统中,在命令行中输入密码信息,为了保证安全性,密码是不显示的(看似没有输入,实际已经输入了);
3.4 网卡设置
服务器重启完成之后,我们可以通过linux的指令 ip addr
来查询Linux系统的IP地址,具体信息如下:
从图中我们可以看到,并没有获取到linux系统的IP地址,这是为什么呢?这是由于启动服务器时未加载网卡,导致IP地址初始化失败而造成的。那么接下来我们就需要来修改网络初始化配置,设定网卡在系统启动时初始化。
具体操作步骤如下:
1). 修改网卡的配置项
cd / 进入根目录
cd etc 进入etc目录
cd sysconfig 进入sysconfig目录
cd network-scripts 进入network-scripts
vi ifcfg-ens33 编辑ifcfg-ens33文件
进入文件后执行如下操作:
①. 按 i 键 进入编辑状态
②. 按↑↓键来移动光标, 删除no,输入yes
③. 按 ESC 键
④. 输入 :wq
⑤. 按 ENTER 保存退出
备注: 在上述的操作中用到了Linux中的相关指令, 目前大家不用深究, 后面会详细讲解, 目前大家只需要把这个文件的配置项ONBOOT的值有no改为yes即可。
2). 重新启动虚拟机
重启之后, 再次输入root的用户名密码,登录到Linux系统之后,可以通过指令 ip addr
来查看IP地址。
3.5 安装SSH连接工具
3.5.1 SSH连接工具介绍
Linux已经安装并且配置好了,接下来我们要来学习Linux的基本操作指令。而在学习之前,我们还需要做一件事情,由于我们企业开发时,Linux服务器一般都是在远程的机房部署的,我们要操作服务器,不会每次都跑到远程的机房里面操作,而是会直接通过SSH连接工具进行连接操作。
SSH(Secure Shell),建立在应用层基础上的安全协议。常用的SSH连接工具:
SSH工具 | Logo | 说明 |
putty | 免费, 界面简单, 功能单一 | |
secureCRT | 收费, 功能强大 | |
xshell | 收费版/免费版 | |
finalshell | 免费, 功能强大, 界面效果好 (课程中采用) |
3.5.2 FinalShell安装
在课程资料中,提供了finalShell的安装包
双击.exe文件,然后进行正常的安装即可。
3.5.3 连接Linux
1). 打开finalShell
2). 建立连接
3.6 Linux目录结构
登录到Linux系统之后,我们需要先来熟悉一下Linux的目录结构。在Linux系统中,也是存在目录的概念的,但是Linux的目录结构和Windows的目录结构是存在比较多的差异的 在Windows目录下,是一个一个的盘符(C盘、D盘、E盘),目录是归属于某一个盘符的。Linux系统中的目录有以下特点:
A. / 是所有目录的顶点
B. 目录结构像一颗倒挂的树
Linux 和 Windows的目录结构对比:
Linux的目录结构,如下:
根目录/ 下各个目录的作用及含义说明:
编号 | 目录 | 含义 |
1 | /bin | 存放二进制可执行文件 |
2 | /boot | 存放系统引导时使用的各种文件 |
3 | /dev | 存放设备文件 |
4 | /etc | 存放系统配置文件 |
5 | /home | 存放系统用户的文件 |
6 | /lib | 存放程序运行所需的共享库和内核模块 |
7 | /opt | 额外安装的可选应用程序包所放置的位置 |
8 | /root | 超级用户目录 |
9 | /sbin | 存放二进制可执行文件,只有root用户才能访问 |
10 | /tmp | 存放临时文件 |
11 | /usr | 存放系统应用程序 |
12 | /var | 存放运行时需要改变数据的文件,例如日志文件 |