Linux学习笔记

Linux入门到精通

前言:linux学习流程:

​ 第一阶段:Linux环境下的基本操作命令,包括文件操作命令(rm mkdir chmod, chown)编辑工具的使用(vi vim)Linux用户管理(useradd userdel usermod)等。

​ 第二阶段:Linux的各种配置(环境变量的配置,网路配置,服务配置)。

​ 第三阶段:Linux下如何搭建对应语言的开发环境(大数据,JavaEE,Python等)。

​ 第四阶段:能编写shell脚本,对Linux服务器继续维护。

​ 第五阶段:能进行安全设置,防止攻击,保障服务器正常运行,能对系统调优。

​ 第六阶段:深入理解Linux系统(对内核进行研究),熟练掌握大型网站应用架构组成 、并熟悉各个环节的部署和维护方法。

一、Linux基础篇(Linux入门)

1.1 Linux介绍

​ 1)Linux是一款操作系统,免费,开源,安全,高效,稳定,处理高并发非常强悍,现在很多企业级的项目都部署到Linux/unix服务器运行

​ 2)创始人----林纳斯

​ 3)Linux主要的发行版本

​ [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KTAwf7Hs-1642581879136)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220108143555955.png)]

​ 4)目前主要的操作系统有:Windows,Android,Linux,

二、Linux基础篇(VM和Linux(CentOS)安装)

2.1 安装VM和CentOS

​ 学习Linux需要安装一个环境,我们需要创建一个虚拟机,然后在虚拟机上安装一个CentOS系统来学习

​ 1)先安装virtual machine,vm12

​ 2)再安装Linux(CentOS 6.8)

​ 3)原理示意图,说明VM和CentOS的关系

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5eIuSC6l-1642581879137)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220108145726349.png)]

2.2 虚拟机的网络连接三种形式的说明

​ 1.桥连接,Linux可以和其他的系统通信,但可能造成ip冲突。

​ 2.NAT:网络地址转换方式,Linux可以访问到外网,不会造成ip冲突。

​ 3.主机模式:Linux是独立的主机模式,不能访问到外网。

2.3 CentOS终端的使用和联网

​ 1)终端的使用,点击鼠标右键,即可选择打开终端

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TVw6jhHs-1642581879137)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220108224154716.png)]

​ 2)配置网络,进行上网

​ 点击上面右侧的两个计算机图标选择启用system eth0

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-amEmVHHA-1642581879137)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220108224518908.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zurD6XIP-1642581879138)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220108224548188.png)]

2.4 vmtools安装

2.4.1 介绍

​ 1)可以直接粘贴命令在windows和centos系统之间

​ 2)可以设置windows和centos的共享文件夹

2.4.2 安装和使用

​ 1)进入centos

​ 2)点击vm菜单的install VMware tools

​ 3)centos会出现一个vm的安装包

​ 4)解压,得到安装文件

​ 5)进入目录,该文件在/root/桌面/vmware-tools-distrib/下

​ 6)安装./vmware-install.pl

​ 7)全部使用默认设置即可

​ 8)需要reboot重新启动即可生效

2.4.3 设置共享文件夹

​ 1)为了方便,可以设置一个共享文件夹,比如d:/share

​ 2)一般来说都是使用远程方式完成

​ 具体步骤:1)菜单->vm->setting

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IzcIb7L6-1642581879138)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220108231405660.png)]

​ 2)window和centos可以共享共享文件夹了

​ 3)在centos的/mnt/hgfs/下

三、Linux基础篇(Linux目录结构)

3.1 基本介绍

linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后再次目录下再创建其他的目录。

一句经典话语:在Linux世界里,一切皆是文件。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CIGtmKh1-1642581879139)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220108232234745.png)]

3.2 目录结构的具体介绍

1)**/bin ** 存放的是系统管理员最经常使用的命令

2)**/sbin ** 存放系统管理员最常用的系统管理程序

3)/home 存放普通用户的主目录,在Linux中每个用户都对应自已一个home目录,一般是以用户的用户名命名

4)**/root ** 该目录为系统管理员,也成为超级权限者的用户主目录

5)/lib 系统开机所需要的最基本的动态连接共享库,其作用类似于windows下的DLL文件,几乎所有应用程序都需要用到这个共享库

6)/lost+found 一般是空文件夹,当系统进行非法关机后,存放一些文件

7)/etc 所有的系统管理所需要的配置文件和子目录my.conf

8)/usr 非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于Windows下的program files目录

9)**/boot ** 存放启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件

10)/temp 存放临时文件

11)**/dev ** 类似于Windows下的设备管理器,把所有硬件以文件的形式存储起来

12)/media Linux会自动识别一些设备,例如U盘,光驱等,当时别后,Linux会把识别的设备挂载到这个目录下

13)/mnt 系统提供该目录是为了让用户临时挂在别的文件系统,我么可以将外部的存储挂载在/mnt/上,进入该目录就可以查看里面的内容

14)/opt 这是给主机额外安装软件所摆放的目录,如安装ORACLE数据库就可放在该目录下

15)/usr/local 这是给主机安装软件的安装目录,一般是通过编译源码方式安装的程序

16)/var 这个目录存放着不断扩充着的东西,习惯将经常修改的目录放在这个目录下,包括各种日志文件

17)/selinux SELinux是一种安全子系统,他能控制程序只能访问特定的文件

总结:1)Linux只有一个更目录/

​ 2)Linux的各个目录存放的内容都是规划好的,不用乱放文件

​ 3)Linux是以文件的形式管理我们的设备

四、Linux实操篇 远程登录Linux系统

4.1 为什么要远程登录Linux

4.1.1 示意图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q3tJpU5S-1642581879139)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220109194207440.png)]

4.2 远程登录Linux-Xshell5

4.3 安装XShell5并使用

**特别说明:**Linux必须启动SSHD服务,开启22端口监听

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1CGubfVS-1642581879140)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220109200654236.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q56eiaBd-1642581879140)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220109200711849.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GxEIkXQ4-1642581879141)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220109201329991.png)]

4.4 远程上传和下载文件Xftp5

4.4.1 Xftp5安装

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vLTnZUeQ-1642581879141)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220109201726456.png)]

4.4.2 Xftp5的配置和使用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o12Enz8U-1642581879141)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220109202023948.png)]

连接到Linux界面如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BLXxsXDs-1642581879142)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220109202123587.png)]

4.4.3 如何解决Hftp5中文乱码情况

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BBhXF2vg-1642581879142)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220109202321914.png)]

五、Linux实操篇 vi和vim编辑器

5.1 vi和vim的基本介绍

所有的Linux系统都会内建vi文本编辑器。

Vim具有程序编辑的能力,可以看作时Vi的增强版本,可以主动的以字体的颜色辨别语法的正确性,方便程序设计,代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用

5.2 vi和vim的三种常见模式

5.2.1 正常模式

正常模式下,我们可以使用快捷键,以vim打开一个档案就直接进入一般模式(默认模式)。在这个模式下,你可以使用按键移动光标,可以使用删除字符****和删除整行**来处理档案内容

5.2.2 插入模式/编辑模式

按下i,l,o,O,a,A,r,R等任何字母之后就会进入编辑模式,一般来说按i即可

5.2.3 命令行模式

在这个模式中,可以提供你相关命令,完成读取,存盘,替换、离开Vim,显示行号等的动作则是在此模式完成的

5.3 快速入门案例

使用vim开发一个Hello.java程序,保存,步骤说明和演示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lyzT4b3l-1642581879142)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220109204114847.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tYuczcek-1642581879143)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220109205419430.png)]

5.4 vi和vim的三种模式的三种转化

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oClcElqK-1642581879143)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220109205401890.png)]

5.5 快捷键的使用案例

1)拷贝当前行 【yy】,拷贝当前向下的5行(包括当前行) 【5yy】,并粘贴【p

2)删除当前行 【dd】,删除当前行向下5行(包括当前行) 【5dd

3)在文件中查找某个单词【命令行下【/关键字】,回车查找,输入n就是查找下一个】

4)设置文件的行号,取消文件的行号【命令行下:set nu和set nonu】

5)编辑一个文件/etc/profile,使用快捷键到底文档的最末行【G】和最首行【gg】,正常模式下进行

6)撤销输入 【u】在文件中输入hello然后撤销,正常模式下

7)编辑/etc/profile文件,将光标移动到第20行 【shift+g】

第一步:显示行号set nu【命令行模式下】

第二部:输入20这个数【正常模式下】

第三步:输入shift+g

六、Linux实操篇 开机、重启和用户注销

6.1 关机&重启命令

6.1.1 基本介绍

1)shutdown

​ shutdown -h now:表示立即关机

​ shutdown -h 1:表示1分钟后关机

​ shutdown -r now:表示立即重启

2)halt:就是直接使用,等价于关机

3)reboot:就是重启

4)sync:把内存的数据同步到磁盘,在关机之前一定要执行,特别是管理员root

6.1.2 注重细节

当我们关机或者重启的时候,都应该先执行sync指令,把内存的数据写入磁盘,防止丢失

6.2 用户登录和注销

6.2.1 基本介绍

1)登录时尽量少使用root账号登录,可以利用普通用户登录,登录后使用【su -用户名】切换成系统管理员身份

2)在提示符下输入【logout】即可注销用户,只是断开Xshell和Linux的连接

6.2.2 使用细节

1)logout注销指令只能在Xshell中有用,在Linux图形界面中无效

七、Linux实操篇 用户管理

7.1 基本介绍

1)Linux是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号进入系统。

2)Linux必须要属于至少一个组

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q1JMK9qQ-1642581879143)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220110143008500.png)]

7.2 添加用户

7.2.1 基本语法

【useradd [选项] 用户名】

7.2.2 实际案例

添加一个用户小明【xm】

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RTSF6eJb-1642581879144)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220110143921027.png)]

7.2.3 细节说明

1)当创建用户成功后,会自动创建跟用户名同名的家目录(如果没有指定创建文件夹)

2)也可以指定【useradd -d 指定目录 新的用户名】,给新的创建的用户指定家目录

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6vtjDJ3O-1642581879144)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220110144906989.png)]

7.3 给用户指定或者修改密码

7.3.1 基本语法

【passwd 用户名】

7.3.2 应用案例

1)给用户xm指定密码

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Iv8yfmLn-1642581879144)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220110145159701.png)]

2)给用户xm修改密码

7.4 删除用户

7.4.1 基本语法

【userdel 用户名】

7.4.2 应用案例

1)删除用户xm,但是保存家目录【userdel 用户名】

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QCKtUeDe-1642581879145)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220110145633702.png)]

2)删除用户以及用户的主目录【userdel -r 用户名】

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dmpxxkmZ-1642581879145)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220110145738115.png)]

7.4.3 是否需要保留家目录

在删除用户的时候,一般不会删除家目录

7.5 查询用户信息

7.5.1 基本语法

【id 用户名】

7.5.2 应用案例

案例1:查询root信息

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Qp0Ye8Kd-1642581879146)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220110150241116.png)]

7.5.3 细节说明

如果用户不存在,返回无信息

7.6 切换用户

7.6.1 介绍

在操作Linux中,如果当前用户的权限不够,可以通过【su - 指令】,切换高权限用户,比如root

7.6.2 基本语法

【su - 切换用户名】

7.6.3 应用实例

1)创建一个用户zf,指定密码,然后切换到zf。【exit】切换回原来的用户

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JLo2mozV-1642581879146)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220110150926673.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-729ZgeY5-1642581879147)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220110151005436.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w2gcTnqr-1642581879147)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220110151113067.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KrcyjOAM-1642581879147)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220110151456170.png)]

7.6.4 细节说明

1)从权限高的用户切换回权限低的用户,不需要密码,反之需要

2)当需要返回到原来的用户时,使用exit指令

7.6.5 查看当前用户/登录用户

基本语法:【whoami】

7.7 用户组

7.7.1 基本介绍

类似于角色,系统可以对其共性的多个用户进行统一的管理

7.7.2 新增组

指令【groupadd 组名】

7.7.3 案例演示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-POHJTAf8-1642581879148)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220110152751209.png)]

7.7.4 删除组

指令【groupdel 组名】

7.7.5 案例演示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vTKU71PN-1642581879148)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220110152944587.png)]

7.8 增加用户时直接加上组

7.8.1 基本语法

【useradd -g 用户组 用户名】

7.8.2 案例演示

增加一个用户zwj,直接将他指定到wudang组里面

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T3H3LJ8p-1642581879149)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220110153446444.png)]

7.9 修改用户的组

7.9.1 指令(基本语法)

【usermod -g 用户组 用户名】

7.8.2 案例演示

创建一个shaolin组,将zwj修改为shaolin组

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cwwgeaCP-1642581879149)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220110171616439.png)]

7.10 用户和组的相关文件

7.10.1 /etc/passwd文件

用户(user)的配置文件,记录用户的各种信息

每行的含义:用户名;口令(密码);用户标识号;组标识号;注释性描述;主目录;登录shell

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-B044ncuM-1642581879150)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220110174728069.png)]

7.10.2 /etc/shadow文件

口令的配置文件

每行的含义:登录名;加密口令;最后一次修改时间;最小间隔时间;最大时间间隔;警告时间;不活动时间;失效时间;标志

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WgSepd5T-1642581879150)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220110174858869.png)]

7.10.3 /etc/group文件

组(group)的配置文件:记录Linux包含的组的信息

每行含义:组名;口令;组标识号;组内用户列表

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pwHHImzn-1642581879150)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220110175621965.png)]

八、Linux实操篇 实用指令

8.1 指定运行级别

8.1.1 基本介绍

运行级别说明:

​ 0:关机

​ 1:单用户【找回丢失密码】

​ 2:多用户状态没有网络服务

​ 3:多用户状态有网路服务

​ 4:系统未使用保留给用户

​ 5:图形界面

​ 6:系统重启

常用的运行级别是3和5,要修改默认的运行级别可改文件

/etc/inittab的id:5:initdefault:这一行的数字

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6QlxsKuM-1642581879150)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220110202837110.png)]

【命令:init[0123456]】

示意图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Dgp4RgGy-1642581879151)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220110202508337.png)]

8.2 切换到指定运行级别的指令

8.2.1 基本语法

【init[0123456]】

8.2.2 应用实例

通过init来切换不同的运行级别,比如5-》3,然后关机

8.2.3 面试题

如何找回root密码

思路:进入到单用户模式修改密码,因为进入单用户级别不需要密码

1.启动虚拟机的时候按enter键进入系统选择界面

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r744zEJI-1642581879151)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220110203438771.png)]

2.选中系统输入e进入编辑模式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tSDjjAze-1642581879151)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220110203623181.png)]

3.再选中第二个输入e进入编辑模式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tdDMlEpL-1642581879152)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220110203738955.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w78E9RsS-1642581879152)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220110203820201.png)]

4.输入1进入单用户级别

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1VBOmdtC-1642581879152)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220110203853067.png)]

5.在输入b进入命令行界面-----》修改密码

8.3 帮助指令

8.3.1基本介绍

当我们对某个指令不熟悉时,可以使用Linux提供的帮助指令来了解这个指令的使用方法。

8.3.2 man 获取帮助指令

  • 基本语法【man[命令配置文件]】功能描述,获取帮助信息

  • 应用实例

    案例:查看【ls命令】帮助信息

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pOGMQA65-1642581879152)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220111131241123.png)]

8.3.3 help指令

  • 基本语法【help命令】(功能描述:获取shell内置命令的帮助信息)

  • 应用实例:查看cd命令的帮助信息

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sOuN0I3n-1642581879153)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220111131541463.png)]

8.4 文件目录类

8.4.1 pwd指令

  • 基本语法:【pwd】显示当前工作目录的绝对路径

  • 应用案例:显示当前目录的绝对路径

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4VvFjKhZ-1642581879153)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220111131908762.png)]

8.4.2 ls指令

  • 基本语法:【ls [选项] [目录或者文件]】

  • 常用选项:

    ​ 1)-a显示当前目录所有的文件和目录,包括隐藏的。

    ​ 2)-l以列表的方式显示信息

  • 应用案例:查看当前目录的所有内容信息

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WeDJxTBP-1642581879153)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220111132521812.png)]

8.4.3 cd指令

  • 基本语法:【cd [参数] 】切换到指定目录

  • 常用参数:

    ​ 1)绝对路径和相对路径

    ​ 2)【cd ~】或者【cd】,回到自己的家目录

    ​ 3)【cd …】回到上一级目录

  • 应用案例:

    1)使用绝对路径回到root目录

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KdFaLSzz-1642581879153)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220111133254124.png)]

    2)使用相对路径到root

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X9AXRGrP-1642581879154)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220111133359444.png)]

​ 3)回到家目录

​ [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EJ4bMO8J-1642581879154)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220111133519219.png)]

8.4.4 mkdir指令

mkdir用于创建目录

  • 基本语法:【mkdir [选项] 要创建的目录名】

  • 常用选项:-p 创建多级目录

  • 应用案例:

    1)创建一个目录/home/dog

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XBhhV11N-1642581879154)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220111134020759.png)]

    2)创建一个多级目录/home/animal/tiger

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pCMcDt8N-1642581879155)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220111134217459.png)]

8.4.5 rmdir指令

删除空目录

  • 基本语法:【rmdir [选项] 要删除的空目录名】

  • 应用案例:删除空目录/home/dog

    ​ [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GwiFHGUQ-1642581879155)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220111134949497.png)]

  • 使用细节:rmdir删除的是空目录,如果文件下面有内容,无法删除

    ​ 提示:如果删除非空目录:使用【rm -rf 要删除目录】

8.4.6 touch指令

touch指令创建空文件,可以一次性创建多个文件

  • 基本语法:【touch 文件名称】

  • 应用案例:创建空文件hello.txt

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-swaB15wi-1642581879155)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220111135453820.png)]

8.4.7 cp指令

cp指令拷贝文件到指定目录

  • 基本语法:【cp [选项] source dest】

  • 常用选项:-r 递归复制整个文件夹

  • 应用案例:

    1)将/home/aaa.txt拷贝到 /home/bbb目录下

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qfcZkxkI-1642581879155)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220111223132568.png)]

    ​ 2)递归整个文件夹,举例,将/home/test这个文件夹拷贝到/home/zwj目录下

    ​ [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vKeWAFyV-1642581879157)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220111223529622.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VbOqRQSd-1642581879157)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220111223948477.png)]

8.4.8 rm指令

rm强制移除文件或者目录

  • 基本语法:【rm [选项] 要删除文件或者目录】

  • 常用选项:-r:递归删除整个文件夹

    ​ -f:强制删除

  • 应用案例:

    ​ 1)将/home/aaa.txt删除

    ​ 2)递归删除整个/home/bbb

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8Ygqomyh-1642581879157)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220111224420838.png)]

8.4.9 mv指令

mv移动文件与目录或者重命名

  • 基本语法:【mv oldNameFile newNameFile】重命名

    ​ 【mv /temp/movefile /targetFolder】移动文件

  • 应用实例:

    1)将/home/aaa.txt文件重命名为pig.txt

    2)将/home/pig.txt文件移动到/root下

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zXR69V6Z-1642581879158)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220111225913016.png)]

8.4.10 cat指令

cat查看文件内容,只能查看,不能修改

  • 基本语法:【cat [选项] 要查看的文件】查看文件内容

  • 常用选项:-n 显示行号

  • 应用实例:/etc/profile文件内容,并显示行号

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lSudLcAq-1642581879158)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220112150504053.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qDLshPLg-1642581879158)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220112150743953.png)]

8.4.11 more指令

more指令是基于vim编辑器的文本过滤器,他以全屏的方式按页显示文本内容,内置很多快捷键,详情见下表

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JOaw11pv-1642581879158)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220112151119345.png)]

  • 基本语法:【more 要查看文件名称】

  • 应用案例:查看/etc/profile

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ir1W0H0m-1642581879159)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220112151323362.png)]

8.4.12 less指令

less指令用分屏来查看文件内容,他的功能与more指令相似,但是比more指令更加强大,支持显示各种终端。less在显示文件的时候,并不是将文件整个全部加载后显示,而是根据需要加载内容,对于现实大型文件具有较高的效率

  • 基本语法:【less 查看的文件】

  • 快捷键:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4W0HvrT9-1642581879159)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220112151847497.png)]

8.4.13 >指令和>>指令

>输出重定向(覆盖)和>>追加

  • 基本语法:【ls -l > 文件】列表的内容写入到a.txt中(覆盖写)

    ​ 【ls -al >> 文件】列表的内容追加到aa.txt文件中的末尾

    ​ 【cat 文件1 > 文件2】将文件1的内容覆盖到文件2

    ​ 【echo “内容” >> 文件】

  • 应用案例:

    1)将/home目录下的文件列表写到/home/info.txt中

    2)将当前日历信息追加到/home/mycal文件中【提示 cal】

8.4.14 echo指令

echo输出内容到控制台

  • 基本语法:【echo [选项] [输出内容]】

  • 应用实例:
    1)echo输出环境变量

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fXdqJvpj-1642581879159)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220112231045786.png)]

    2)使用echo输出hello,world!

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ChA51vdZ-1642581879159)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220112231232170.png)]

8.4.15 head指令

head用于显示文件的开头内容部分,默认情况下head指令显示文件的前10行内容

  • 基本语法:【head 文件】显示文件的前10行

    ​ 【head -n 5 文件】查看文件头5行内容,5可以是任意行数

  • 实例:查看/etc/profile的前面5行

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JN6N1Rqp-1642581879160)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220112231605459.png)]

8.4.16 tail指令

tail用于输出文件的末尾的内容,默认情况下tail指令显示文件的最后10行

  • 基本语法:【tail 文件】显示文件的末尾10行

    ​ 【tail -n 5 文件】查看文件后5行,5可以是任意数

    ​ 【tail -f 文件】实时追踪该文件的所有更新

  • 应用案例:

    1)查看/etc/profile的末尾5行

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LfMn8SRC-1642581879160)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220112232226131.png)]

    2)实时监控mydate.txt,看到文件变化时,自动追加更新日期

8.4.17 ln指令

软连接也叫符号链接,类似于windows里面的快捷方式,主要存放了连接其他文件的的路径

  • 基本语法:【ln -s 原文件或者目录 软链接名】给源文件创建一个软连接

  • 应用实例:案例一:在/home/目录下创建一个软链接linkToRoot,连接到/root目录

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HJloUlOt-1642581879160)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220113135156347.png)]

    ​ 案例二:删除软链接linkToRoot

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SEV6pJCh-1642581879160)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220113135520576.png)]

8.4.18 history指令

查看已经执行过的指令,也可以执行历史指令

  • 基本语法:【history】

  • 应用案例:1)显示所有历史命令

    ​ 2)显示最近使用过的10条命令

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G5Z7C5dN-1642581879161)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220113135958523.png)]

    ​ 3)执行历史编号为178的指令

    ​ [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pNp63Scr-1642581879161)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220113140100732.png)]

8.5 时间日期类

8.5.1 date指令

显示当前日期

  • 基本语法:【date】显示当前时间

    ​ 【date + %Y】显示当前年份

    ​ 【date + %m】显示当前月份

    ​ 【date + %d】显示当前日期

    ​ 【date “+%Y-%m-%d %H:%M:%S”】显示年月日时分秒

  • 应用案例:1)显示当前时间

    ​ 2)显示当前年月日

    ​ 3)显示当前年月日时分秒

    ​ [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5mrx5Pqx-1642581879161)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220113140833196.png)]

8.5.2 date指令设置日期

  • 基本语法:【date -s 时间字符串】

  • 应用案例:设置系统时间,比如设置为2020-11-11 11:22:22

8.5.3 cal指令

  • 基本语法:【cal [选项]】显示日历

  • 应用案例:

    ​ 1)显示当前日期

    ​ 2)显示2020年日历

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X9GdF2by-1642581879162)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220113231502253.png)]

8.6搜索查找类

8.6.1 find指令

find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。

  • 基本语法:【find [搜索范围] [选项]】

  • 选项说明:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xR5P5TEB-1642581879162)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220113231912165.png)]

  • 应用实例:

    案例1:按文件名:根据名称查找/home目录下的hello.txt文件[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AW6seHXV-1642581879162)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220113232348498.png)]

    案例2:按拥有者:查找/opt目录下,用户名称为nobody的文件

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6J7fqRfM-1642581879163)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220113232603160.png)]

    案例3:查找整个linux系统下大于20m的文件(+n大于 -n小于 n等于 )

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-06RnQOxn-1642581879163)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220113232911007.png)]

8.6.2 locate指令

locaate指令可以快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的这件。Locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻。

  • 基本语法:【locate 搜索文件】

  • 特别说明:由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。

  • 应用实例:案例1:请使用locate指令快速定位hello.txt文件所在目录

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y34yYA9J-1642581879163)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220113234230569.png)]

8.6.3 grep指令和管道符号|

grep过滤查找,管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理

  • 基本语法:【grep [选项] 查找内容源文件】

  • 常用选项

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Fr8BfT5q-1642581879164)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220113234541397.png)]

  • 应用实例:案例1:请在hello.txt文件中,查找“yes”所在行,并且显示行号

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2qcNpFOa-1642581879164)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220113234805201.png)]

8.7 压缩和解压类

8.7.1 gzip/gunzip指令

gzip用于压缩文件,gunzip用于解压的·

  • 基本语法:gzip文件(功能描述:压缩文件,只能将文件压缩为*.gz文件)

    ​ gunzip文件.gz(功能描述:解压缩文件命令)

  • 应用实例

    案例1: gzip压缩,将/home下的hello.txt文件进行压缩

    案例2: gunzip压缩,将/home下的 hello.txt.gz 文件进行解压缩

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aeAIRWO3-1642581879164)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220113235352560.png)]

8.7.2 zip/unzip指令

zip用于压缩文件,,unzip用于解压的,这个在项目打包发布中很有用的

  • 基本语法

    【zip[选项] xxX.zip 将要压缩的内容】(功能描述:压缩文件和目录的命令)

    【unzip [选项] XXX.zip】 (功能描述:解压缩文件)

  • zip常用选项:-r:递归压缩,即压缩目录

  • unzip的常用选项:-d<目录>:指定解压后文件的存放目录

  • 应用实例

    案例1:将/home下的所有文件进行压缩成mypackage.zip

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zB3rjBQV-1642581879165)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220114000041552.png)]

    案例2:将 mypackge.zip解压到/opt/tmp目录下

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qlKBk7La-1642581879165)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220114000217673.png)]

8.7.3 tar指令

tar指令是打包指令,最后打包后的文件是.tar.gz的文件。

  • 基本语法【tar [选项] XXX.tar.gz 打包的内容】(功能描述:打包目录,压缩后的文件格式.tar.gz)

  • 选项说明

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-acIZVSbp-1642581879165)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220114000647391.png)]

  • 应用实例

    案例1:压缩多个文件,将/home/a1.txt和/home/a2.txt压缩成a.tar.gz

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kgAhsgMn-1642581879166)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220114001041632.png)]

    案例2:将/home的文件夹压缩成myhome.tar.gz

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6KpUEqD8-1642581879166)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220114001229382.png)]

    案例3:将a.tar.gz解压到当前目录

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lWimwDkH-1642581879166)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220114001444632.png)]

    案例4将myhome.tar.gz解压到/opt/tmp2自录下

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GCDk0YyP-1642581879166)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220114001648270.png)]

九、Linux实操篇 组管理和权限管理

9.1 Linux组的基本介绍

在Linux中的每个用户必须属于一个组,不能独立于组外。在Linux中的每个文件有所有者,所在组,其他组的概念。

1)所有者

2)所在组

3)其他组

4)改变用户所在组

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bInSTK18-1642581879167)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220114213640674.png)]

9.2 文件|目录所有者

一般为文件的创造者,谁创建了该文件,就自然的成为该文件的所有者

9.2.1 查看文件的所有者

  • 指令:【ls -ahl】

  • 应用实例:创建一个组police,在创建一个用户tom,将tom放在police组里,然后用tom创建一个文件ok.txt,查看情况如何

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VtwsYPRR-1642581879167)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220114214632831.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Lpt5UA5p-1642581879167)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220114214654324.png)]

9.2.2 修改文件所有者

  • 指令:【chown 用户名 文件名】

  • 应用实例:使用root创建一个文件apple.txt,然后将其所有者修改为tom

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-28f59OFV-1642581879167)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220114215107343.png)]

9.3 组的创建

  • 基本指令

    【groupadd 组名】

  • 应用实例

    创建一个组,monster

    创建一个用户fox,并放入monster

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-e1qFOqr8-1642581879168)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220114215535966.png)]

9.4 文件|目录所在组

9.4.1 查看文件|目录所在组

  • 基本指令
    【ls -ahl】
  • 应用实例

9.4.2 修改文件|目录所在组

  • 基本指令
    【chgrp 组名 文件名】

  • 应用实例
    使用root创建文件orange.txt,看看当前文件属于哪个组,然后修改到police

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ab18Uj9I-1642581879168)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220114220114084.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CFEWV3uI-1642581879174)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220114220157044.png)]

9.5 其他组

除文件的所有者和所在组的用户外,系统的其他用户都是文件的其他组

9.6 改变用户的所在组

在添加用户时,可以指定将该用户添加到哪个组中,同样的用root的管理权限可以改变某个用户所在组

9.6.1 改变用户所在组

  1. usermod -g 组名 用户名
  2. usermod -d 目录名 用户名 改变该用户登陆的初始目录

9.6.2 应用实例

创建一个土匪组(bandit)将tom从原来的police修改为土匪组

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FTwHFlph-1642581879175)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220114221425605.png)]

9.7 权限的介绍

ls -s 中显示的内容如下:

-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc

​ 0-9为的说明:

​ 1)第0位确定文件类型(d,-,l,c,b)

​ 2)第1-3位确定文件所有者的文件权限。----User

​ 3)第4-6位所在同组其他用户的权限。----Group

​ 4)第7-9位确定其他组用户对文件的权限----Other

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5QrX2aWR-1642581879175)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220114222700625.png)]

9.8 rwx权限详解

9.8.1 rwx作用到文件

  • [ r ]代表可读(read):可以读取,查看

  • [ w ]代表可写(write):可以修改,但是不代表可以删除该文件删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.

  • [x ]代表可执行(execute):可以被执行

9.8.2 rwx作用到目录

  • [ r ]代表可读(read):可以读取,ls查看目录内容

  • [ w ]代表可写(write):可以修改,目录内创建+册删除+重命名目录

  • [ x ]代表可执行(execute):可以进入该目录

9.9 修改权限-chmod

9.9.1 基本介绍

通过chmod指令,可以修改文件或者目录的权限

9.9.2 第一种方式:+、-、=变更权限

u:所有者g:所有组o:其他人a:所有人(u、g、o的总和)

  1. chmod u=rwx,g=rx,o=x文件目录名
  2. chmod o+w文件目录名
  3. chmod a-x文件目录名
  • 案例演示

    给abc文件的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4ViPF9YC-1642581879175)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220114224557548.png)]

    给abc文件的所有者除去执行的权限,增加组写的权限

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o2aE4xxD-1642581879176)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220114224724236.png)]

    给abc文件的所有用户添加读的权限

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SrXZbRR1-1642581879176)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220114224917569.png)]

9.10 修改文件所有者-chown

9.10.1 基本介绍

【chown newowner file】改变文件的所有者

【chown newowner:newgroup file 】改变用户的所有者和所有组

-R如果是目录则使其下所有子文件或目录递归生效

9.10.2 案例演示

  • 请将/home/abc.txt文件的所有者修改成tom
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2vaEnCvx-1642581879176)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220114225743915.png)]

  • 请将/home/kkk目录下所有的文件和目录的所有者都修改成tom(使用root)

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-izBbGgJ3-1642581879176)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220114230108074.png)]

9.11 修改文件所在组-chgrp

9.11.1 基本介绍

【chgrp newgroup file】改变文件的所有组

9.11.2 案例演示

  • 请将/home/abc.txt文件的所在组修改成bandit(土匪)
    chgrp bandit /home/abc.txt

  • 请将/home/kkk目录下所有的文件和目录的所在组都修改成bandit(少林)
    chgrp -R bandit /home/kkk

9.12 最佳实践-警察和土匪游戏

police,bandit

jack,jerry:警察

xh,xq:土匪

  1. 创建组
  2. 创建用户
  3. jack创建一个文件,自己可以读写,本组人可以读,其他组没有任何权限
  4. jack修改该文件,让其他组人可以读,本组人可以读写
  5. xh投靠警察,看看是否可以读写

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NWfsXANP-1642581879177)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220114233000070.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wapliZvq-1642581879177)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220114233049122.png)]

十、Linux实操篇 crond任务调度

crontab进行定时任务的设置

10.1 原理示意图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yGefqGz1-1642581879177)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220116134750505.png)]

10.2 概述

任务调度:是指系统在某个时间执行特定的命令或者程序。

任务调度分类:

  1. 系统工作,有些重要的工作必须周而复始的执行,如病毒扫描
  2. 个别用户工作:个别用户可能希望执行某个程序,比如mysql数据库备份

10.3 基本语法

【crontab [选项]】

10.3.1 常用选项

选项 功能
-e 编辑crontab定时任务
-l 查询crontab任务
-r 删除当前用户所有的crontab任务

10.4 快速入门

任务要求:

  • 设置任务调度文件:/etc/crontab
  • 设置个人任务调度,执行crontab -e命令
  • 接着输入任务到调度文件
    如:/1***ls -l /etc/ > /tmp/to.txt
  • 意思是说每小时的每分钟执行ls -l /etc/ > /tmp/to.txt

10.4.1 步骤如下

  1. crontab -e
  2. /1***ls -l /etc/ > /tmp/to.txt
  3. 当保存退出后就会生效了
  4. 在之后的没一分钟就会执行任务

10.4.2 参数细节说明

  • 五个占位符的说明

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mAxyJh80-1642581879177)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220116140906505.png)]

  • 特殊符号说明

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ns1mb3KM-1642581879178)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220116141053632.png)]

  • 特定时间执行案例

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8KI0j0uN-1642581879178)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220116141200464.png)]

10.5 几个任务调度的应用实例

案例一:每隔1分钟,就将当前的日期信息,追加到/tmp/mydate文件中

  1. 先编写一个文件/home/mytask1.sh

    data >> /tmp/mydate

  2. 给mytask1.sh一个可执行权限

  3. crontab -e

  4. */1 * * * * /home/mytask1.sh

案例二:每隔1分钟,就将当前日期和日历追加到/home/mycal文件中

  1. 先编写一个文件/home/mytask2.sh

    data >> /tmp/mydate

    cal >> /tmp/mycal

  2. 给mytask2.sh一个可执行权限

  3. crontab -e

  4. */1 * * * * /home/mytask2.sh

案例三:每天凌晨2:00将mysql 数据testdb,备份到文件中mydb.bak

  1. 先编写一个文件/home/mytask3.sh

    /user/local/mysql/bin/mysqldump -u -root -proot testdb > /tmp/mydb.bak

  2. 给mytask3.sh一个可执行权限

  3. crontab -e

  4. 0 2 * * * /home/mytask3.sh

十一、Linux实操篇 Linux磁盘分区和挂载

11.1 分区基础知识

11.1.1 分区的方式

  • MBR分区
  • GTP分区

11.2 Linux分区

11.2.1 原理介绍

  1. Linux来说无论有几个分区,分给哪一目录使用,他归根结底都只有一个根目录,一个独立且唯一的文件结构,Linux中每个分区都是用来组成整个文件系统的一部分
  2. Linux采用了一种叫“载入”的处理方法,他的整个文件系统中包含了一整套的文件和目录,且将一个分区和目录联系起来。这时要载入的一个分区将使他的存储空间在一个目录下获得。
  3. 示意图:
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RfpDi8hd-1642581879178)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220116210412652.png)]

11.2.2 使用lsblk命令查看分区情况

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2nkeZYZd-1642581879178)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220116210920129.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gvMCwPOE-1642581879179)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220116211026687.png)]

11.3 挂载的经典案例

需求是给Linux系统增加一块新的硬盘,并且挂载到/home/newdisk目录

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XJPsjQvg-1642581879179)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220116214611079.png)]

11.3.1 如何增加一块硬盘

  1. 虚拟机添加硬盘
  2. 分区 fdisk /dev/sdb
  3. 格式化 mkfs -t -ext4 /dev/sdb1
  4. 挂载 mount /dev/sdb1 /home/newdisk(umount卸载)
  5. 设置自动挂载 vim /etc/fstab

11.4 磁盘情况查询

11.4.1 查询系统整体磁盘使用情况

  • 基本语法
    【df -h[]
  • 应用实例
    查询系统整体磁盘使用情况

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aoEB5pRT-1642581879179)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220116221749175.png)]

11.4.2 查询指定目录的磁盘占用情况

  • 基本语法
    【du -h /目录】

    查询指定目录的磁盘占用情况,默认位当前目录

    -s 指定目录占用大小汇总

    -h 带计量单位

    -a 含文件

    –max-depth=1 子目录深度

    -c 列出明细的同时,增加汇总量

  • 应用实例

    查询/opt目录的磁盘占用情况。深度为1

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oMDBeZM9-1642581879180)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220116222424956.png)]

11.5 磁盘情况-工作使用指令

  1. 统计/home文件夹下文件的个数
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LRzp08sQ-1642581879180)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220116223013612.png)]

  2. 统计/home文件夹下目录的个数
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-svz0pnM6-1642581879180)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220116223037378.png)]

  3. 统计/home文件夹下文件的个数,包括子文件夹里的

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wgJspE7P-1642581879181)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220116223115740.png)]

  4. 统计文件夹下目录的个数,包括子文件夹里的
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rxJ1kzug-1642581879181)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220116223132916.png)]

  5. 树状显示目录结构

十二、Linux实操篇 网络配置

12.1 Linux网络配置原理图(含虚拟机)

目前我们采用的是nat网络配置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7U6qEPJ6-1642581879181)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220116230158030.png)]

12.2 查看网络IP和网关

12.2.1 查看虚拟网络编辑器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o4aH6PpG-1642581879181)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220116230430993.png)]

12.2.2 修改ip地址(修改虚拟网络ip)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qRstHZSE-1642581879181)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220116230600113.png)]

12.2.3 查看网关

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xWc4VTZN-1642581879182)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220116230751369.png)]

12.2.4 查看windows环境的中VMnet8网络配置 (ipconfig指令)

  1. 使用ipconfig查看
  2. 使用图形界面查看

12.3 ping 测试主机之间网络连通性

12.3.1 基本语法

【ping 目的主机 】(功能描述:测试当前服务器是否可以连接目的主机)

12.3.2 应用实例

​ 测试当前服务器是否可以连接百度

​ [root@hadoop100 桌面]# ping www.baidu.com

12.4 Linux网络环境配置

12.4.1 第一种方法(自动获取)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r4fCNFhv-1642581879182)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220116231745919.png)]

缺点:每次自动获取的ip地址不一样,不适用于做服务器

12.4.2 第二种方法(指定固定的ip)

  • 说明

    直接修改配置文件来指定IP,并可以连接到外网(程序员推荐),编辑 vim /etc/sysconfig/network-scripts/ifcfg-eth0,要求:将ip地址配置的静态的,ip地址为192.168.184.130

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4NjxM3IJ-1642581879182)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220116232923272.png)]

十三、Linux实操篇 进程管理

13.1 进 程的基本介绍

  1. 在LINUX中,每个执行的**程序(代码)**都称为一个进程。每一个进程都分配一个ID号。
  2. 每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程。例如www服务器。
  3. 每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。
  4. 一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到关机才才结束。

13.2 显示系统执行的进程

13.2.1 说明:

查看进行使用的指令是【ps】一般说使用的参数是【ps -aux】

ps命令是用来查看目前系统中,有哪些正在执行,以及它们执行的状况。

可以不加任何参数

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V2pUo6Hh-1642581879182)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220117222250203.png)]

13.2.2 ps详解

  1. 指令:ps –aux|grep xxx ,比如我看看有没有sshd服务

  2. 指令说明

    • System V展示风格

    • USER:用户名称

    • PID:进程号

    • %CPU:进程占用CPU的百分比

    • %MEM:进程占用物理内存的百分比

    • VSZ:进程占用的虚拟内存大小(单位:KB)

    • RSS:进程占用的物理内存大小(单位:KB)

    • TT:终端名称,缩写 .

    • STAT:进程状态,其中S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通

      优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等

    • STARTED:进程的启动时间

    • TIME:CPU时间,即进程使用CPU的总时间

    • COMMAND:启动进程所用的命令和参数,如果过长会被截断显示

13.2.3 应用实例

要求:以全格式显示当前所有的进程,查看进程的父进程。

  • ps -ef是以全格式显示当前所有的进程
  • -e 显示所有进程。-f 全格式。
  • ps -ef|grep xxx
  • 是BSD风格
  • UID:用户ID
  • PID:进程ID
  • PPID:父进程ID
  • C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,
  • 执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高
  • STIME:进程启动的时间
  • TTY:完整的终端名称
  • TIME:CPU时间
  • CMD:启动进程所用的命令和参数

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dwmHChGI-1642581879183)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220117223857730.png)]

13.3 终止进程kill和killall

13.3.1 介绍

若是某个进程执行一半需要停止时,或是已消了很大的系统资源时,此时可以考虑停止该

进程。使用kill命令来完成此项任务。

13.3.2 基本语法

kill [选项] 进程号(功能描述:通过进程号杀死进程)

killall 进程名称(功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)

13.3.3 常用选项

-9 :表示强迫进程立即停止

最佳实践:

  • 案例1:踢掉某个非法登录用户

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IH8yxWo6-1642581879183)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220117224643122.png)]

  • 案例2: 终止远程登录服务sshd, 在适当时候再次重启sshd服务

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lPUNPrFr-1642581879183)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220117224945474.png)]

  • 案例3: 终止多个gedit 编辑器

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D2txgrYZ-1642581879184)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220117225136528.png)]

  • 案例4:强制杀掉一个终端

13.4 查看进程树pstree

13.4.1 基本语法

pstree [选项] ,可以更加直观的来看进程信息

13.4.2 常用选项

-p :显示进程的PID

-u :显示进程的所属用户

应用实例

案例1:请你树状的形式显示进程的pid

案例2:请你树状的形式进程的用户id

13.5 服务(service)管理

13.5.1 介绍

服务(service) 本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如(mysql , sshd 防火墙等),因此我们又称为守护进程,是Linux中非常重要的知识点。

13.5.2 service管理指令

【service 服务名 [start | stop | restart | reload | status]在CentOS7.0后 不再使用service ,而是 systemctl】

13.5.3 使用案例

查看当前防火墙的状况,关闭防火墙和重启防火墙。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l5YxfPWQ-1642581879184)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220117230224095.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-i6LiEShJ-1642581879184)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220117230258353.png)]

13.5.4 细节讨论

  1. 关闭或者启用防火墙后,立即生效。[telnet 测试 某个端口即可]
  2. 这种方式只是临时生效,当重启系统后,还是回归以前对服务的设置。
  3. 如果希望设置某个服务自启动或关闭永久生效,要使用chkconfig指令,马上讲。

13.5.5 查看服务名

  1. 方式1:使用setup -> 系统服务 就可以看到。
  2. 方式2: /etc/init.d/服务名称

13.5.6 服务的运行级别(runlevel):

查看或者修改默认级别: vi /etc/inittab

Linux系统有7种运行级别(runlevel):常用的是级别3和5

  • 运行级别**0:**系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
  • 运行级别**1:**单用户工作状态,root权限,用于系统维护,禁止远程登陆
  • 运行级别**2:**多用户状态(没有NFS),不支持网络
  • 运行级别**3:**完全的多用户状态(有NFS),登陆后进入控制台命令行模式
  • 运行级别**4:**系统未使用,保留
  • 运行级别**5:**X11控制台,登陆后进入图形GUI模式
  • 运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

13.5.7 chkconfig指令

  • 介绍

    通过chkconfig 命令可以给每个服务的各个运行级别设置自启动、关闭

  • 基本语法

    1. 查看服务 chkconfig --list|grep xxx

    2. chkconfig 服务名 --list

    3. chkconfig --level 5 服务名 on/off

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-m1jzZYb9-1642581879184)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220117234425567.png)]

chkconfig重新设置服务后自启动或关闭,需要重启机器reboot才能生效

13.6 动态监控进程

13.6.1 介绍

top与ps命令很相似。它们都用来显示正在执行的进程。Top与ps最大的不同之处,在于top

在执行一段时间可以更新正在运行的的进程。

13.6.2 基本语法

【top [选项]】

13.6.3 选项说明

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-esk6GTxE-1642581879185)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220117234816079.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yfNpc4AU-1642581879185)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220117234846321.png)]

13.6.4 应用案例

  • 案例1.监视特定用户

    top:输入此命令,按回车键,查看执行的进程。

    u:然后输入“u”回车,再输入用户名,即可

  • 案例2:终止指定的进程。

    top:输入此命令,按回车键,查看执行的进程。

    k:然后输入“k”回车,再输入要结束的进程ID号

  • 案例3:指定系统状态更新的时间(每隔10秒自动更新,默认3秒):

    bash > top -d 10

13.6.5 查看系统网络情况netstat

  • 基本语法

    netstat [选项]

  • 选项说明

    -an 按一定顺序排列输出

    -p 显示哪个进程在调用

  • 应用案例

    请查看服务名为 sshd 的服务的信息。

十四、Linux实操篇 RPM和YUM管理

14.1 rpm包的管理

14.1.1 介绍

一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件。RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,类似windows的setup.exe,这一文件格式名称虽然打上了RedHat的标志,但理念是通用的。

Linux的分发版本都有采用(suse,redhat, centos 等等),可以算是公认的行业标准了。

14.1.2 rpm包的简单查询指令

查询已安装的rpm列表 【rpm –qa|grep xx】

14.1.3 rpm包名基本格式

一个rpm包名:firefox-45.0.1-1.el6.centos.x86_64.rpm

名称:firefox

版本号:45.0.1-1

适用操作系统: el6.centos.x86_64

表示centos6.x的64位系统

如果是i686、i386表示32位系统,noarch表示通用。。

14.1.4 rpm包的其它查询指令

  • rpm -qa :查询所安装的所有rpm软件包

  • rpm -qa | more

  • rpm -qa | grep X [rpm -qa | grep firefox ]

  • rpm -q 软件包名 :查询软件包是否安装

    rpm -q firefox

  • rpm -qi 软件包名 :查询软件包信息

    rpm -qi file

  • rpm -ql 软件包名 :查询软件包中的文件

    rpm -ql firefox

  • rpm -qf 文件全路径名 查询文件所属的软件包

    rpm -qf /etc/passwd

    rpm -qf /root/install.log

14.1.5 卸载rpm包

  • 基本语法

    【rpm -e RPM包的名称 】

  • 应用案例

    删除firefox 软件包

  • 细节讨论

    1. 如果其它软件包依赖于您要卸载的软件包,卸载时则会产生错误信息。

      如: $ rpm -e foo

      removing these packages would break dependencies:foo is needed by bar-1.0-1

    2. 如果我们就是要删除 foo这个rpm 包,可以增加参数 –nodeps ,就可以强制删除,但是一

      般不推荐这样做,因为依赖于该软件包的程序可能无法运行

      如:$ rpm -e --nodeps foo

14.1.6 安装rpm包

  • 基本语法

    rpm -ivh RPM包全路径名称

  • 参数说明

i=install安装

v=verbose 提示

h=hash 进度条

  • 应用实例

    演示卸载和安装firefox浏览器

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Hzd3pdpw-1642581879185)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220118002028197.png)]

14.2 yum

14.2.1 介绍

Yum 是一个Shell前端软件包管理器。基于RPM包管理,能够从指定 的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并 且一次安装所有依赖的软件包。

14.2.2 yum的基本指令

  • 查询yum服务器是否有需要安装的软件

    yum list|grep xx软件列表

  • 安装指定的yum包

    yum install xxx 下载安装

14.2.3 yum应用实例

案例:请使用yum的方式来安装firefox

  1. 先查询firefox rpm在yum服务器上有没有
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-czB6oDjr-1642581879186)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220118003911800.png)]

  2. 安装

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-knYtHybf-1642581879186)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220118004056032.png)]

十五、JavaEE定制篇 搭建Java环境

15.1 概述

如果需要在Linux下进行JavaEE的开发,我们需要安装如下软件:

示意图:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KOwSoKks-1642581879186)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220118130708488.png)]

15.2 JDK安装

  1. 先将软件通过xftp5 上传到 /opt 下

  2. 解压缩到 /opt

  3. 配置环境变量的配置文件vim /etc/profile

    JAVA_HOME=/opt/jdk1.7.0_79

    PATH=/opt/jdk1.7.0_79/bin:$PATH

  4. export JAVA_HOME PATH

  5. 编写一个简单的Hello.java 输出"hello,world!"

15.3 tomcat的安装

15.3.1 步骤

  1. 解压缩到/opt
  2. 启动tomcat ./startup.sh
  3. 开放端口 vim /etc/sysconfig/iptables

15.3.2 测试是否安装成功

在windows、Linux 下 访问 http://linuxip:8080

15.4 MySQL安装

1.在 /use/local下 创建mysql文件夹

mkdir mysql
2.切换到mysql文件夹下

cd mysql
3.下载mysql

```wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz``
也可以直接在官方下载最新版本 官方下载 选择linux

4.解压mysql

tar xvJf mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz

5.重命名文件夹

mv mysql-8.0.21-linux-glibc2.12-x86_64 mysql-8.0

5.创建data文件夹 存储文件

mkdir data

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Frigc80s-1642581879187)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220118221926552.png)]

6.创建用户组以及用户和密码

groupadd mysql

useradd -g mysql mysql

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pIZYNkA3-1642581879187)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220118221936065.png)]

7.授权用户

chown -R mysql.mysql /usr/local/mysql-8.0

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oTxua4EH-1642581879187)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220118221944953.png)]

8.切换到bin目录下

cd bin
9.初始化基础信息

./mysqld --user=mysql --basedir=/usr/local/mysql-8.0 --datadir=/usr/local/mysql-8.0/data/ --initialize

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-B7hWTYbB-1642581879187)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220118222002802.png)]

得到临时密码

10.编辑my.cnf文件

vi /etc/my.cnf
注释mysqld_safe 修改信息

basedir=/usr/local/mysql-8.0/
datadir=/usr/local/mysql-8.0/data/
socket=/tmp/mysql.sockcharacter-set-server=UTF8MB4

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GQ8RkGHw-1642581879187)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220118221707773.png)]

11.添加mysqld服务到系统

cp -a ./support-files/mysql.server /etc/init.d/mysql

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dHTNLByd-1642581879188)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220118222031193.png)]

12.授权以及添加服务

chmod +x /etc/init.d/mysql

chkconfig --add mysql

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2y8RRa51-1642581879188)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220118222043001.png)]

13.启动mysql

service mysql start

14.查看启动状态

service mysql status

15.将mysql命令添加到服务

ln -s /usr/local/mysql-8.0/bin/mysql /usr/bin

16.登录mysql mysql -uroot -p 密码使用之前随机生成的密码

17.修改root密码 其中123456是新的密码自己设置

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

18.执行 使密码生效

flush privileges;

19.选择mysql数据库

use mysql;

20.修改远程连接并生效

update user set host='%' where user='root';

flush privileges;

15.5 Linux实操篇 部署JavaEE项目(Spring Boot项目)

步骤:

  1. 在windows下使用idea编写SpringBoot项目,运行端口为9002

  2. 使用Maven工具将项目package,打包成jar包

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oWjw5f7k-1642581879188)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220118225248495.png)]

  3. 使用Xftp将打包好的jar包发送到Linux系统上

  4. 将端口号9002从防火墙中放行
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Z1r125b0-1642581879188)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220118225522834.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RGFLVxP1-1642581879189)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220118225638361.png)]

  5. 重启防火墙服务
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8UP9Wnxc-1642581879189)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220118225734200.png)]

  6. Linux命令运行java -jar 发送的jar包名称

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EfatiKUt-1642581879189)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220118230346435.png)]

  7. 运行成功,在windows系统访问http://LinuxIp地址/端口号(9002)/项目名

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sMJO21kY-1642581879189)(C:\Users\Rotry\AppData\Roaming\Typora\typora-user-images\image-20220118230403882.png)]

注意:

在使用maven打包的时候需要在pom.xml文件里加入

<plugins>
    <plugin>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-maven-pluginartifactId>
    plugin>
<plugins>

你可能感兴趣的:(linux,centos,服务器)