一 : 什么是Linux?

Linux 是一个操作系统. 和 Windows 是 "并列" 的关系.

背景

linux是基于Unix发展而来的(Unix是上古时期一个非常牛逼的操作系统) .

1). 1969-1970 年, 贝尔实验室的 Dennis Ritchie (左图) 和 Ken Tompson (右图) 开发了 Unix 操作系统.

在这里插入图片描述
2). Unix 火了之后, 衍生出很多的分支. 其中有一只为 “Minix”. 由荷兰的Andrew S. Tanenbaum 教授开发. MINIX 含义为 “小型的UNIX”, 源代码开放给大学教学和研究工作.

在这里插入图片描述

1991 年, 还在读大学的 芬兰人 Linus Benedict Torvalds (1969年12月28日出生, 当时 22 岁) 基于 Minix 的启发, 开发出了 Linux 的第一个版本 .

在这里插入图片描述
值的一提的是, Linus 在开发 Linux 的时候, 觉得现有的 版本管理工具 并不太方便. 于是开发了一个新的版本管理工具. 也就是现在最广泛使用的 git .

果然这牛逼的大佬就是不一样 ! 同时搞出了Linux和git .

Linus 佬现在 50 多岁了, 但是仍然在互联网上非常活跃. 经常会拍一些视频. 在 油管 或者 B站上就可以找到.

经过这么多年的发展, Linux 已经成为 世界第一大操作系统 , 是全世界市场份额最高的操作系统 ! 主要应用于 :

1.服务器 , 绝大部分服务器是Linux ;
2.嵌入式设备 , 路由器 , 交换机 , 冰箱 , 电视 … 大部分系统都是Linux ;
3.移动端 , 智能手机 , Android就是Linux .

Linux发行版

Linux是一个操作系统内核 , 完整的操作系统 = 内核 + 配套的应用程序 . 在Linux内核的基础上 , 搭配不同的应用程序 , 就构成了不同的"发行版" . 由于Linux是开源的 , 就有很多公司和组织 , 针对Linux构造发行版 , 以下都是Linux对应的发行版 :

在这里插入图片描述
我们主要学习Centos7这个版本 , 因为实际工作中 , 公司主要使用的Linux发行版是Redhat , 而Redhat是收费的 , 为方便大家"白嫖" , 涨一波人气 , 就有专门的大佬 , 把Redhat的源代码改个logo , 重新编译了一下 , 就得到了Centos !!!

Centos和Redhat就类似于双胞胎的关系 .
在这里插入图片描述
RedHat一直都提供源代码的发行方式,CentOS就是将RedHat发行的源代码去掉 RedHat 的 logo商标, 重新编译一次.

RedHat对这种发行版的态度是:“我们其实并不反对这种发行版,真正向我们付费的用户,他们重视的并不是系统本身,而是我们所提供的商业服务 .”

所以,CentOS可以得到RedHat的所有功能,甚至是更好的软件 . 但CentOS并不向用户提供商业支持,当然也不负任何商业责任 .

最近Centos官方宣布不再对Centos进行维护了 , 也就是它凉了 , 但是目前还可以继续使用 , 所以我们还是让它贡献一点最后的余热 .

二 : 学习目标

1.基础命令
2.系统编程 & 网络编程
3.部署 JavaWeb 项目

对于第2点 , Linux 自身提供了一些 API, 供程序猿调用来完成一些更复杂的编程任务(比如文件操作, 多线程编程 , socket 编程等) . 但是由于 Java 跨平台的特性, 这部分功能已经被 Java 自身封装好了 (流对象, Thread 对象, Socket 对象等). 所以这部分内容不再进行介绍 .

三 : Linux环境搭建

主要有四种方式 :

  1. 直接安装在物理机上. 但是由于 Linux 桌面使用起来非常不友好, 最牛逼的Linux桌面环境 , 大概也就相当于WIndows15年前的水平 . [不推荐].

  2. 使用虚拟机软件, 将 Linux 搭建在虚拟机上. 但是由于当前的虚拟机软件(如 VMWare 之类的)存在一些 bug , 会导致环境上出现各种莫名其妙的问题, 比较折腾. [非常不推荐]

  3. 使用 WSL (Windows Subsystem for Linux). 这个是 Windows 近几年开发的新功能, 在 Windows系统内集成了一个 Linux. 但是目前这个技术还不够成熟. [暂时不推荐].

  4. 使用云服务器, 可以直接在 腾讯云, 阿里云或华为云 等服务器厂商处直接购买一个云服务器. 不仅方便 , 还有外网IP .[墙裂推荐]

如何买 ?

云服务器的提供商是很多的 , 阿里云 , 腾讯云 … 哪个便宜买那个就行 . 唯一需要注意的是 , 镜像选择Centos7.6 .

在这里插入图片描述
买完之后 , 在控制台处 , 就可以看到云服务器所对应的信息 .

在这里插入图片描述

这个密码搞复杂点 , 不然容易被攻破 .

在这里插入图片描述

什么是终端工具 ?

终端软件是一类工具软件, 可以和远程的主机建立网络连接, 从而对主机进行一些操作.

在这里插入图片描述

准备好XSehll后 , 就可以进行登录了 .

首次登录后 , 后续可以使用这种方式直接打开 :

在这里插入图片描述

在这里插入图片描述

四 :基础命令

4.1 ls

语法: ls [选项] [目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件.对于文件,将列出文件名以及其他信息.

常用选项 :
-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-d 将目录像文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
-k 以 k 字节的形式表示文件的大小。ls –alk 指定文件
-l 列出文件的详细信息。
-r 对目录反向排序。
-t 以时间排序。
-R 列出所有子目录下的文件。(递归)

示例 :

ls /

运行结果 :

在这里插入图片描述
/是Linux的特殊目录 , 叫做"根目录" , 相当于Windows上的"此电脑" .

ls -a

运行结果 :

在这里插入图片描述

ll /

这是以列表的形式来展示结果 .

在这里插入图片描述

4.2 cd

Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件 .
在这里插入图片描述

语法: cd 目录名.
功能: 改变工作目录.将当前工作目录改变到指定的目录下.

常用选项 :
cd . . : 返回上级目录
cd ~:进入用户家目
cd -:返回最近访问目录

认识Linux目录结构 :

在这里插入图片描述
几个特殊的目录:

/ 称为根目录
. 称为当前目录
. . 称为当前目录的上级目录

绝对路径 vs 相对路径

  • 形如: /usr/share/tomcat/logs/ 以根目录开头的, 称为绝对路径.
  • 形如: ./logs 以 . 或者 … 开头的, 称为相对路径.

使用 tab 键补全

我们敲的所有的 Linux 命令, 都可以使用 tab 键来尝试补全, 加快效率.

  • 按一下tab : 把符合条件的结果补全出来 .(若有多个符合条件的 , 则无法补全) .
  • 按两下tab : 把符合条件的结果都列出来 .

使用 ctrl + c 重新输入

如果命令或者目录敲错了, 可以 ctrl + c 取消当前的命令.

实例 :

在这里插入图片描述

4.3 pwd

语法: pwd
功能:显示用户当前所在的目录

实例 :

在这里插入图片描述

接下来看几个操作文件的命令 .

4.4 touch

语法: touch [选项]... 文件...
功能: touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件.

实例 :

在这里插入图片描述

4.5 cat

语法:cat [选项] [文件]
功能: 查看目标文件的内容

实例 :

在这里插入图片描述

4.6 echo

语法: echo 内容
功能 : 写文件

在这里插入图片描述

使用cat和echo可以读写文件 , 但效率较低 , 后面会介绍更方便的方式 .

4.7 mkdir

语法:mkdir [选项] dirname...
功能:在当前目录下创建一个名为 “dirname”的目录

实例 :

mkdir : 创建一个名为"java1"的目录 ;
在这里插入图片描述
cd : 进入java1目录下 ;

pwd : 显示当前所在的目录 ;
在这里插入图片描述

一次性创建出多个层次目录 : (使用-p可一次性创建出多个层级目录)
在这里插入图片描述

在这里插入图片描述

4.8 rm

语法:rm [-f-i-r-v] [dirName/dir]
功能:删除文件或目录

常用选项:
-f 即使文件属性为只读(即写保护),亦直接删除 ;
-i 删除前逐一询问确认 ;
-r 删除目录及其下所有文件 .

Linux上没有回收站的概念 , 文件删除 , 就真的没了 .

实例 :

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

XShell的控制台上的复制与粘贴 :

  1. ctrl + insert , 表示复制 ;
  2. shift + insert , 表示粘贴 .

使用上下方向键 , 可以找到之前输入过的命令 .

在这里插入图片描述
重要注意事项:

千万不要运行 rm -rf / , 尤其是在公司的生产服务器上.

错误示范 :

在这里插入图片描述

4.9 mv

语法: mv [选项] 源文件或目录 目标文件或目录
功能: 用来为文件或目录改名、或将文件或目录移入其它位置。
  1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。
  2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
  3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。

在这里插入图片描述

4.10 cp

语法:cp [选项] 源文件或目录 目标文件或目录
功能: 复制文件或目录

在这里插入图片描述
在这里插入图片描述

上述命令的关键是得熟练 , 像咱们这敲半天 , 就很不熟练 , 上炕都费劲 . 所以得多敲 !

如果记不住选项的用法 , 可以使用man命令 , 查询某个命令的具体用法 , 也可以直接百度 .

4.11 grep

语法:grep [参数]... [文件]...
功能:用于查找文件中是否包含指定字符串, 并显示对应的行.

常用选项 :
-n<行数> 显示的行数
-w 全字匹配. 要求整个单词都完全相同的结果才能匹配出来, 而不仅仅是一个单词的一部分.
-r 递归查找. 可以搜索多级目录下的所有文件.
–color 高亮查找到的结果
–include 指定查找某些文件
–exclude 指定排除某些文件

在这里插入图片描述

4.12 ps

语法:ps [参数]...
功能:用于查看当前系统上运行的进程

a 显示一个终端的所有进程
u 以用户为主的格式来显示程序状况
x 显示所有程序,不以终端机来区分

在这里插入图片描述

由于ps内容比较多 , 经常会搭配grep来针对查询结果进行筛选 !

在这里插入图片描述

4.13 netstat

语法:netstat [参数]...
功能:查看系统上的网络状态.

常用选项:
-a 显示所有正在或不在侦听的套接字
-n 显示数字形式地址而不是去解析主机、端口或用户名
-p 显示套接字所属进程的PID和名称

在这里插入图片描述

五 : vim

使用vim可以进行文件的编辑,vim有大量的快捷键,通过这些快捷键可以完成各种各样的编辑操作,我们只介绍最基本的操作: 

5.1 如何打开文件 ?

vim 文件名 .

5.2 如何编辑文件 ?

在这里插入图片描述

5.3 如何保存/退出?

在这里插入图片描述

六 : 搭建Java Web运行环境

当前就可以初步操作linux了,在linux上搭建java Web运行环境

在这里插入图片描述

6.1 安装jdk

推荐使用yum,即linux里的"应用商店" .

在这里插入图片描述
在这里插入图片描述

下载好的东西 , 可执行程序会被放到bin目录中 , 其中动态库会放到lib和lib64中 , 配置文件会放到etc中 , 数据文件放到var目录中 … 储存在云服务器的硬盘上 !

在这里插入图片描述
在这里插入图片描述
直接输入javac不报错 , 而是显示出一些提示项 , 说明安装成功了 !

6.2 安装tomcat

tomcat是运行在java上的,java和tomcat都是跨平台的,只要把之前从官网上下载好的tomcat拷贝到linux上,解压缩即可使用 !!!

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

6.3 安装MySQL

我们的方法任然是使用yum

在这里插入图片描述

依次执行下列命令 :

//安装mariadb服务
yum install -y mariadb-server
//安装mariadb命令行客户端
yum install -y mariadb
//安装mariadb C library
yum install -y mariadb-libs
//安装mariadb开发包
yum install -y mariadb-devel
//启动服务
systemctl start mariadb
//设置服务开机自启动
systemctl enable mariadb
//查看服务状态
systemctl status mariadb

在这里插入图片描述
绿色说明执行成功 !

如何进行使用 ? 通过命令行的方式来连接数据库 ! 默认情况下 , 没有密码 .

在这里插入图片描述

初始安装时 , mysql的字符集是拉丁文 , 为了能支持中文 , 可以手动修改配置文件(不推荐) , 也可以在创建数据库时 , 手动指定字符集(推荐) .

6.4 部署过程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

以下是如何找到webapps目录 :
在这里插入图片描述

在这里插入图片描述

以上就是我们要介绍的全部内容 !

在这里插入图片描述

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐