Linux学习

第一章 初识Linux

01_操作系统概述

1_计算机由什么组成?

硬件和软件

硬件:计算机系统中由电子,机械和光电元件等组成的各种物理装置的总称。

软件:是用户和计算机硬件之间的接口和桥梁,用户通过软件与计算机进行交流。

而操作系统,就是软件的一类。

83a06869a1b026cd8e78c76033957539.png

2_操作系统是什么?有什么作用?

操作系统是软件的一类。

主要作用是协助用户调度硬件工作,充当用户和计算机硬件之间的桥梁

3_常见的操作系统有哪些?

PC端:Windows、Linux、MacOS

移动端:Android、IOS、鸿蒙系统

02_Linux初识

Linux系统的组成如下(两部分组成):

•Linux系统内核

•系统级应用程序

Linux内核下载地址(开源免费):

https://www.kernel.org   

内核是免费、开源的,这也就代表了:

•任何人都可以获得并修改内核,并且自行集成系统级程序

•提供了内核+系统级程序的完整封装,称之为Linux发行版

7748f310eb8d4078c77b25531a836118.png

ad4a08e24d28793235324109ae2feca7.png

不同的发行版:

基础命令100%是相同的,部分操作不同(如软件安装)

Centos:国内使用多

Ubuntu:国外使用较多

1._Linux的诞生

Linux由林纳斯 托瓦兹在1991年创立并发展至今成为服务器操作系统领域的核心系统。

2_ 什么是Linux系统的内核

内核提供了Linux系统的主要功能,如硬件调度管理的能力。

Linux内核是免费开源的,任何人都可以查看内核的源代码,甚至是贡献源代码。

3._什么是Linux系统发行版

内核无法被用户直接使用,需要配合应用程序才能被用户使用。

在内核之上,封装系统级应用程序,组合在一起就称之为Linux发行版。

03_虚拟机介绍

10578f62018d9398c28fce296c12878b.png

7e611626b1084a528377b1fa6bf75547.png

1._什么是虚拟机?

通过虚拟化技术,在电脑内,虚拟出计算机硬件,并给虚拟的硬件安装操作系统,即可得到一台虚拟的电脑,称之为虚拟机。

2._为什么要使用虚拟机?

学习Linux系统,需要有Linux系统环境。

我们不能给自己电脑重装系统为Linux,所以通过虚拟机的形式,得到可以用的Linux系统环境,供后续学习使用。

04_虚拟化软件安装

376560ef5c031a2d55347e4d5df6af20.png

Windows用户

对于Windows用户可以安装VMware WorkStation

下载地址

https://www.vmware.com/content/vmware/vmware-published-sites/cn/products/workstation-pro/workstation-pro-evaluation.html.html.html

选择Windows版本的进行安装

c2988abead1248a5b2c075558932a48b.png

安装好后需要检查网络

win+r输入

ncpa.cpl

查看是否有这两个,并且是启用状态

78d972de75fb48f5bc07ce2cc267d15b.png

Mac用户

对于Mac用户可以安装VMware Fusion

可以参考此视频进行安装

第一章-04-安装VMware Workstation虚拟化软件_哔哩哔哩_bilibili

05_在虚拟化软件中安装Linux操作系统

Windows用户

前面已经说过Linux操作系统是由Linux内核何系统级应用程序组成

任何人都可以拿到内核并且自己做一个发行版,我们使用的也是发行版

我使用的CentOS 7

下载

下载地址

https://vault.centos.org/7.6.1810/isos/x86_64/   (最后的/不要漏掉)

选择这个进行下载

f638c366e7584d78af5900098be69604.png

安装

b69e0d32106c417da229fea64f60df8e.png

使用典型的配置就好

8de64a380b4b46efa967d9a3861a7461.png

找到刚刚下载的映像文件的位置,软件会自动检测到版本

035b375ee3884f1f9e26333f4e08d011.png

填写用户名何密码

097e8a0d09bb456093efe4b557992bb9.png

选择安装位置

8e933c5f1a4b4b7d8f8aac16259e9a55.png

磁盘容量默认是20G,可以设置大一点,防止不够用

f76c5c99d9974430a9fd2be0d0badd09.png

可以自定义硬件,默认的其实够用了

0674a56cace84329ae56162593a476ac.png

fd2b90e37ef64cde9cb4171cde327f22.png

点击完成进行安装,安装完成以后,在我的计算机这里就会多出一个CentOS 7 64位_2

e43eb195568b459eb7f5580ab9a6825f.png

Mac用户

参考链接

第一章-06-MacOS安装VMware Fusion并安装虚拟机_哔哩哔哩_bilibili

06_远程连接Linux

背景介绍

对于操作系统的使用,有2种使用形式:

•图形化页面使用操作系统

•以命令的形式使用操作系统

不论是Windows还是Linux亦或是MacOS系统,都是支持这两种使用形式。

•图形化:使用操作系统提供的图形化页面,以获得图形化反馈的形式去使用操作系统。

•命令行:使用操作系统提供的各类命令,以获得字符反馈的形式去使用操作系统。

Windows系统的图形化和命令行

5a1e093cfab847f18841b37afee8db53.png

6fc637d9212a441e8655cf32b901112c.png

Linux系统的图形化和命令行

4581cb80856d4907b0ce3ef983fe9a1c.png

b3e0449dd5cf4e1483b92caf648b91dd.png

尽管图形化是大多数人使用计算机的第一选择,但是在Linux操作系统上,这个选择被反转了。

无论是企业开发亦或是个人开发,使用Linux操作系统,多数都是使用的:命令行

这是因为:

•Linux从诞生至今,在图形化页面的优化上,并未重点发力。所以Linux操作系统的图形化页面:不好用、不稳定。

•在开发中,使用命令行形式,效率更高,更加直观,并且资源占用低,程序运行更稳定。

软件介绍、安装和使用

介绍

既然决定使用命令行去学习Linux操作系统,那么就必须丰富一下工具的使用。

我们使用VMware可以得到Linux虚拟机,但是在VMware中操作Linux的命令行页面不太方便,主要是:

•内容的复制、粘贴跨越VMware不方便
•文件的上传、下载跨越VMware不方便
•也就是和Linux系统的各类交互,跨越VMware不方便

我们可以通过第三方软件,FinalShell,远程连接到Linux操作系统之上。

通过FinalShell去操作Linux系统。

这样各类操作都会十分的方便。

安装

官方网址

http://www.hostbuf.com

点击置顶的帖子

e5ca3840d1bb45e685af40e4f29cb4e5.png

选择对应的版本下载

875d547a29fc43cb94bd60a28adb8dc3.png

连接

1.打开VMware虚拟机并登录

a7329137023e44d6b4c50ce8c4509601.png

输入密码登录

7008fe99b0db4056891531da8a376d5e.png

2.打开终端找到ip地址

右键选择Open Terminal

82c01ad00b0a46e396abc50ea1710953.png

输入

ifconfig

de4665a66c9e4c66a0a4ca41af6b1737.png

注意到ens33这里的ip地址

620e54ea75f647099503eaa7727188f7.png

3.打开FinalShell进行连接

点击这里

8d730a164ac748c78d42695003cdc2e8.png

选择这个

4053a1f0df884eac9c5433273cf7a0fb.png

选择SSH连接(Linux)

6ce1854d1403452c81da8354e8a50c7c.png

在主机一栏输入刚刚的ip

用户名和密码就输入linux系统的用户名和密码

5d33d6f245b4480d909272999108ce9c.png

点击确定99cc459c9ff141f3b380e35217741d49.png

双击连接,选择接受并保存

01c5d2daf26f4f4aba12b5bc934e5105.png

3a368993acbc47bd9981854051896c8e.png

4.检查是否连接成功

在终端和连接窗口都输入ls命令回车,并且输出内容一样,证明连接成功

b06d99bef2a04719a29f483073eb886a.png

07_扩展_使用WSL获得Ubuntu系统环境

什么是WSL?

WSL作为Windows10系统带来的全新特性,正在逐步颠覆开发人员既有的选择。

•传统方式获取Linux操作系统环境,是安装完整的虚拟机,如VMware

•使用WSL,可以以非常轻量化的方式,得到Linux系统环境

目前,开发者正在逐步抛弃以虚拟机的形式获取Linux系统环境,而在逐步拥抱WSL环境。

所以,课程也紧跟当下趋势,为同学们讲解如何使用WSL,简单、快捷的获得Linux系统环境。

所以,为什么要用WSL,其实很简单:

•开发人员都在用,大家都用的,我们也要学习

•实在是太方便了,简单、好用、轻量化、省内存

1daebb6a39bd4c9da1b15e9da3667c47.png

WSL部署

Windows11也是有的

打开控制面板,点击进入程序

2e20e6e5246d419c9a76ef8bae70d83a.png

选择启动或关闭Windows功能

2fe37a0e13884e2c941b66318b800511.png

勾选适用于Linux的Windows子系统后点击确定

8e43504b602d4cb98f894dac4b20f257.png

重启电脑

72973110e494419c978fbb46629a688c.png

重启以后可以检查一下是否已经成功勾选

8e43504b602d4cb98f894dac4b20f257.png

进入Windows自带的微软商店下载Ubuntu

374007b04dcf4f8ba8a73e4a13add6b2.png

打开以后报错,需要更新WSL

7c9c7bb28d8644d6b68434a139117c16.png

打开命令提示符窗口,输入

wsl --update

2f8e6204381248bfbc919403a7ea9a23.png

更新后还是报错

ddd741e97f7541fb9d36bf57e7b10845.png

最后发现是由于虚拟机平台没有打开,这和Windows 10有点不一样

勾选以后重启

c0dae2d3937f42299288adf4478a51fb.png

再次打开Ubuntu

设置账号和密码(注意:输入密码的时候计算机没有反馈,输入就行了,注意两次要一样)

4390ed28795d4ede965a9db2ddb30895.png

Terminal软件安装

打开微软商店下载这个

b94b6223277d4fbea778461f8f13c864.png

打开以后点击下拉三角,选择Ubuntu,就这里在这里操作了

083bdb9465ba4ac9b026823118dbf69b.png

也可以设置默认打开Ubuntu

837e0eb5eae24d9eb5048afb54301a18.png

08_扩展_虚拟机快照

介绍

35a5bd4036ef40f7a451f6b279fabf62.png

VMWare WorkStation制作快照

注意关机以后再制作快照,耗时较短

打开快照管理器

eab0c29506b247b39c5bf9ab274a7250.png

点击拍摄快照,给快照取一个名字

7fa5e51d453b4ee4b8f1d2984e1ab5de.png

拍摄快照以后发现这里就多了一个快照

9612bde8dbc14cc7a4e16e044cf765b0.png

如何恢复到原来的状态

选择要恢复的快照,点击转到,就可以恢复到之前的某个状态了

以后可以在每次做完一些任务以后,就拍一个快照,不小心删除掉重要的东西的时候,就可以恢复了

551429a9ce9d4259acbb4fc8752ba9af.png

第二章 Linux基础命令

Linux的目录结构

目录结构

Linux的目录结构是一个树型结构

Windows 系统可以拥有多个盘符, 如 C盘、D盘、E盘

d36ab83edc7c406781c72d694086a12a.png8d681039c154481aa02c8a57e24b27ce.png

Linux没有盘符这个概念, 只有一个根目录 /, 所有文件都在它下面

f04a4e863e184488baa4abd8f731cbbf.png

路径表达方式

在Windows系统中,路径之间的层级关系,使用: \ 来表示

70601dbf7e8747088fdeb24c8266a65f.png

D:\data\work\hello.txt

注意:

D:表示D

\表示层级关系

在Linux系统中,路径之间的层级关系,使用:/ 来表示

8d86a8c310ad4c38825388891aa2e074.png

/usr/local/hello.txt

注意:

开头的/表示根目录

后面的/表示层级关系

Linux命令基础

什么是命令和命令行?

学习Linux,本质上是学习在命令行下熟练使用Linux的各类命令

命令行(FinalShell)

即Linux终端,可以提供字符化的页面供命令执行

即Linux终端(Terminal),是一种命令提示符页面,以纯字符的形式操作系统,可以使用各种字符化命令对系统发出操作指令。

命令

即Linux操作指令,是系统内置的程序,可以以字符化的形式去使用

即Linux程序,一个命令就是一个Linux程序,命令没有图形化页面,可以在命令行(终端)里面提供字符化的反馈。

e0fd2d092dae4258812195e5cef09a29.png

Linux命令基础格式

command [-options] [parameter]

•command: 命令本身

•-options:[可选,非必填]命令的一些选项,可以通过选项控制命令的行为细节

•parameter:[可选,非必填]命令的参数,多数用于命令的指向目标等

语法中的[],表示可选的意思

ls命令(列出目录内容)

作用

当不使用选项和参数,直接使用ls命令本体,以平铺形式,列出当前工作目录下的内容

选定选项和参数的时候,以指定选项的格式,展示指定参数目录下的内容

格式

ls [-a -l -h] [Linxu路径]

可选的选项

•-a选项,表示:all的意思,即列出全部文件(包含隐藏的文件/文件夹)

c37e52bfbb0c4941b6205711782945f5.png

可以看到,ls -a 对比 ls 列出的内容更多了。

•图中以.开头的,表示是Linux系统的隐藏文件/文件夹(只要以.开头,就能自动隐藏)

•只有通过-a选项,才能看到这些隐藏的文件/文件夹

•-l选项,表示:以列表(竖向排列)的形式展示内容,并展示更多信息

0f4777a849c44dd29aad3fb3440fd345.png•-h 表示以易于阅读的形式,列出文件大小,如K、M、G

•-h选项必须要搭配 -l 一起使用(-l中默认单位是b,使用-h后不显示的单位是b)

3e59353bbdc24f3fbbcfecb2eac33002.png

可选的参数

文件路径

ls命令选项的组合使用

语法中的选项是可以组合使用的,比如学习的-a和-l可以组合应用。

写法:

•ls -l -a

•ls -la

•ls -al

上述三种写法,都是一样的,表示同时应用-l和-a的功能

ls -alh /:展示根目录所有的文件的详细信息

ls命令选项和参数的组合使用

8282f5b6b8c24909927ebbd70419ba00.png

根目录在图形化页面中的位置

120ddd2e9ad645e4b5a7c38c029b1ff9.png

HOME目录

Linux系统的命令行终端,在启动的时候,默认会加载:

•当前登录用户的HOME目录作为当前工作目录,所以ls命令列出的是HOME目录的内容

•HOME目录:每个Linux操作用户在Linux系统的个人账户目录,路径在:/home/用户名

•如,图中的Linux用户是itheima,其HOME目录是:/home/itheima

Windows系统和Linux系统,均设有用户的HOME目录,如图:

8853b280af84470a8b5cdcec7cec2f0f.png

a5e73721dcbd4810afa8baa9acec4dd4.png

cd和pwd命令(目录切换)

cd命令(Change Directory)

格式

cd [Linux 路径]

作用

•cd命令无需选项,只有参数,表示要切换到哪个目录下

•cd命令直接执行,不写参数,表示回到用户的HOME目录

pwd命令(Print Work Directory)

格式

pwd

•pwd命令,无选项,无参数,直接输入pwd即可

作用

查看当前所在的工作目录,可以用来验证在执行完cd命令后,有没有正确切换到需要切换的目录

3b7460b533944ff3877311a462511e76.png

相对路径和绝对路径

•cd /home/itheima/Desktop  绝对路径写法

8b2db1b19ce644529cabfd9da828f447.png•cd Desktop  相对路径写法

d0da37a0d0594d308f366f48e6a680ab.png

绝对路径:以根目录为起点,描述路径的一种写法,路径描述以/开头

相对路径:以当前目录为起点,描述路径的一种写法,路径描述无需以/开头

特殊路径符

•.  表示当前目录,比如 cd ./Desktop 表示切换到当前目录下的Desktop目录内,和cd Desktop效果一致

•..  表示上一级目录,比如:cd ..   即可切换到上一级目录,cd ../..  切换到上二级的目录

•~  表示HOME目录,比如:cd ~    即可切换到HOME目录或cd ~/Desktop,切换到HOME内的Desktop目录

mkdir命令--Make Directory(创建目录(文件夹))

格式

mkdir [-p] Linux路径

可选的选项

•-p选项可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录

如果想要一次性创建多个层级的目录,如下图

ed7c8d16ff5948e488ca0eaee68ed1f5.png

会报错,因为上级目录itcast和good并不存在,所以无法创建666目录

可以通过-p选项,将一整个链条都创建完成。

e2dcd3e06590486c87bfb8b27979cf63.png

参数

•参数必填,表示Linux路径,即要创建的文件夹的路径,相对路径或绝对路径均可

注意

创建文件夹需要修改权限,请确保操作均在HOME目录内,不要在HOME外操作

涉及到权限问题,HOME外无法成功

后续我们会讲解权限管控的知识

文件操作命令

touch命令(创建文件)

touch用来创建文件,mkdir用来创建文件夹

格式

touch Linux路径

•touch命令无选项,参数必填,表示要创建的文件路径,相对、绝对、特殊路径符均可以使用

Linux文件和文件夹如何分辨

ls命令下,颜色为蓝色的是文件夹,颜色为白色的为文件

c44a6a73d5374c9189fa3b1b16eaa21a.png

ls命令,选项为-l

前面标识d(directory)的为文件夹

表示为-的为文件

ec6952e69ae24dac93360bd5a5a3b4c5.png

cat命令(查看文件内容)

格式

cat Linux路径

•cat同样没有选项,只有必填参数,参数表示:被查看的文件路径,相对、绝对、特殊路径符都可以使用

93f609ee7e5341d1a391319b13254289.png

more命令(查看文件内容)

格式

more Linux路径

•同样没有选项,只有必填参数,参数表示:被查看的文件路径,相对、绝对、特殊路径符都可以使用

与cat命令的不同之处

more命令同样可以查看文件内容,同cat不同的是:

•cat是直接将内容全部显示出来

•more支持翻页,如果文件内容过多,可以一页页的展示

 

Linux系统内置有一个文件,路径为:/etc/services,可以使用more命令查看

more /etc/services

•在查看的过程中,通过空格翻页

•通过q退出查看

cp命令--copy(复制文件或文件夹)

作用

cp命令可以用于复制文件\文件夹

格式

cp [-r] Linux路径 Linux路径

可选的选项

•-r选项,可选,用于复制文件夹使用,表示递归

参数

•参数1,Linux路径,表示被复制的文件或文件夹

•参数2,Linux路径,表示要复制去的地方

60c87a27548d440cbced4650082ecce0.png

mv命令--move(移动文件或文件夹)

作用

用于移动文件\文件夹

格式

mv Linux路径 Linux路径

参数

•参数1,Linux路径,表示被移动的文件或文件夹

•参数2,Linux路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在

d07c4177ebb64fa6bc1161d1077b806f.png

2765099ba60a4c9c97966260943683ae.png

fc401d13030f41a99d6cb1069ed4243e.png

rm命令--remove(删除文件或文件夹)

作用

可用于删除文件、文件夹

格式

rm [-r -f] 参数1 参数2 …… 参数N

可选的选项

•同cp命令一样,-r选项用于删除文件夹

•-f表示force,强制删除(不会弹出提示确认信息)

•普通用户删除内容不会弹出提示,只有root管理员用户删除内容会有提示

•所以一般普通用户用不到-f选项

参数

•参数1、参数2、......、参数N 表示要删除的文件或文件夹路径,按照空格隔开

删除文件

7838d1aaf49a40eba757967ddac5a0d6.png

删除多个文件

1bb1daef39594b7496fc1529eab081b2.png删除文件夹,如下图,必须使用-r选项才可以

201c802f5fc645a6bb692b526537f606.png

演示强制删除,-f选项

可以通过 su - root,并输入密码(和普通用户默认一样)临时切换到root用户体验

通过输入exit命令,退回普通用户。(临时用root,用完记得退出,不要一直用)

dd59b77cb9d74d4d8440e8f6c795564e.png

支持通配符操作

rm命令支持通配符 *,用来做模糊匹配

•符号* 表示通配符,即匹配任意内容(包含空),示例:

•test*,表示匹配任何以test开头的内容

•*test,表示匹配任何以test结尾的内容

*test*,表示匹配任何包含test的内容

•删除所有以test开头的文件或文件夹

d2fa78499dfe4fb9b08ae9fabe385b30.png

注意

5e61bc7d40b1439eb46418b1878d6c95.png

查找命令

which命令(查找命令的程序文件的位置)

介绍

我们在前面学习的Linux命令,其实它们的本体就是一个个的二进制可执行程序。

和Windows系统中的.exe文件,是一个意思。

我们可以通过which命令,查看所使用的一系列命令的程序文件存放在哪里

格式

which 要查找的命令

e5ca64b911c0494792105bca614813d6.png

find命令(搜索指定的文件)

介绍

在图形化中,我们可以方便的通过系统提供的搜索功能,搜索指定的文件。

698e55580e114b049d81b26b617e8dfe.png

同样,在Linux系统中,我们可以通过find命令去搜索指定的文件。

按文件名搜索

格式

find 起始路径 -name "要查找文件名"

82cf26dd000c48079d11ca9fd89dd8bb.png

支持通配符操作

被查找文件名,支持使用通配符 * 来做模糊查询。

•符号* 表示通配符,即匹配任意内容(包含空),示例:

•test*,表示匹配任何以test开头的内容

•*test,表示匹配任何以test结尾的内容

•*test*,表示匹配任何包含test的内容

基于通配符的含义,可以结合find命令做文件的模糊查询。

•查找所有以test开头的文件:find / -name “test*”

0731521816dd4bf9acbb6eaa5d8d4fc2.png

•查找所有以test结尾的文件:find / -name “*test”

d0362f5403954d9e9ebe788bfe7e1a38.png

•查找所有包含test的文件:find / -name “*test*”

f821f3b937e8401f95c878951cb1dc55.png

按大小查找

格式

find 起始路径 -size +/- -n [kMG]

•+、- 表示大于和小于

•n表示大小数字

•kMG表示大小单位,k(小写字母)表示kb,M表示MB,G表示GB

示例:

•查找小于10KB的文件: find / -size -10k•查找大于100MB的文件:find / -size +100M•查找大于1GB的文件:find / -size +1G

grep,wc和管道符

grep命令(从文件中通过关键字过滤文件行)

格式

gerp [-n] 关键字 文件路径

可选的选项

•选项-n,可选,表示在结果中显示匹配的行的行号。

参数

•参数,关键字,必填,表示过滤的关键字,带有空格或其它特殊符号,建议使用” ”将关键字包围起来

•参数,文件路径,必填,表示要过滤内容的文件路径,可作为内容输入端口

例子

现在,通过touch命令在HOME目录创建itheima.txt,并通过图形化页面编辑并保存如下内容:

547d3291a9cf46d1b828ad662b5f3744.png•过滤itheima关键字5d2a70f21b534f1683bbe06d0e69e7e2.png•过滤itcast关键字

98bf4d9ed4174ee9a735cebc8e2d4d19.png•过滤code关键字,并显示行号

57194a0843d24c76af5b117e408f1109.png

wc命令(统计文件的行数、单词数量等)

格式

wc [-c -m -l -w] 文件路径

可选的选项

•选项,-c,统计bytes数量

•选项,-m,统计字符数量

•选项,-l,统计行数

•选项,-w,统计单词数量

参数

•参数,文件路径,被统计的文件,可作为内容输入端口

例子

ac99d7b3c79d4ec9b285062b72a30dba.png

管道符

格式

管道符:|

作用

将管道符左边命令的结果,作为右边命令的输入

例子

6bdf018627a94eca9c3b00d378c84e5e.png

如上图:

•cat itheima.txt的输出结果(文件内容)

•作为右边grep命令的输入(被过滤文件)

2b3f7f28b93847e887eff33e4849ccd4.png

echo,tail和重定向符

echo命令(在命令行内输出指定内容)

格式

echo 输出的内容

无需选项,只有一个参数,表示要输出的内容,复杂内容可以用””包围

例子

1d236b0a7e0e45ca83741c3bb94827b4.png

反引号(注意不是单引号)

键盘esc下面的

cac074e7903347a7abfc58bb163456dd.png

重定向符(将命令的结果追加或者覆盖写入到文件中)

格式

重定向符:>和>>

•>,将左侧命令的结果,覆盖写入到符号右侧指定的文件中

•>>,将左侧命令的结果,追加写入到符号右侧指定的文件中

例子

b8728193c5694288a5496e82a6cdbe2a.png

5b6060b8cf8f40518f8489c794936daf.png

tail命令(查看文件尾部内容,跟踪文件的最新更改)

格式

tail [-f -num] :Linux路径

可选的选项

•选项,-f,表示持续跟踪

•选项, -num,表示,查看尾部多少行,不填默认10行

参数

•参数,Linux路径,表示被跟踪的文件路径

例子

•查看/var/log/vmware-network.log文件的尾部10行:tail /var/log/vmware-network.log

901281d5954b4293931922d509de90b0.png•查看/var/log/vmware-network.log文件的尾部3行:tail -3 /var/log/vmware-network.log

f31128c48203449daa37b4506048d464.png

4eba32a46de74f2b8752875139b43fdc.png

f7e47fd57acc4311857c7ccdff944a03.png

vi\vim编辑器

介绍

vi\vim是visual interface的简称, 是Linux中最经典的文本编辑器

同图形化界面中的 文本编辑器一样,vi是命令行下对文本文件进行编辑的绝佳选择。

vim 是 vi 的加强版本,兼容 vi 的所有指令,不仅能编辑文本,而且还具有 shell 程序编辑的功能,可以不同颜色的字体来辨别语法的正确性,极大方便了程序的设计和编辑性。

vi/vim编辑器的三种工作模式

1fcbf36a268643a888550bdd61dcfa5e.png

命令格式

vi 文件路径

vim 文件路径

vim兼容全部的vi功能,后续全部使用vim命令

作用

•如果文件路径表示的文件不存在,那么此命令会用于编辑新文件

•如果文件路径表示的文件存在,那么此命令用于编辑已有文件

三种模式下的快捷键

命令模式

d44a03926ce44cb5b21dd135175f49f2.png

807f81d15c274fac80330fcb375f0747.png

702af298f6324fd4b97ec7eba494d4f2.png

底线命令模式

3b70c9c88dc44a15973f290e143aa1ba.png

编辑模式

编辑模式没有什么特殊的,进入编辑模式后,任何快捷键都没有作用,就是正常输入文本而已。

唯一大家需要记住的,就是:通过esc,可以退回到命令模式中即可。

常用的操作

底线模式:输入%d可以清空全部内容,再次在底线模式按下wq即可清空文本的内容

 

第三章 Linux用户和权限

Linux的root用户

介绍

无论是Windows、MacOS、Linux均采用多用户的管理模式进行权限管理。

•在Linux系统中,拥有最大权限的账户名为:root(超级管理员)

•而在前期,我们一直使用的账户是普通的用户:itheima

103d82552c0d4081befaf9583410032e.png

root用户拥有最大的系统操作权限,而普通用户在许多地方的权限是受限的。

例子

72023301812d4738b606d4636177d821.png

su和exit命令(切换用户命令)

su命令--Switch User

格式

su [-] [用户名]

可选的选项

- 符号是可选的,表示是否在切换用户后加载环境变量

可选的参数

•参数:用户名,表示要切换的用户,用户名也可以省略,省略表示切换到root

exit命令

•切换用户后,可以通过exit命令退回上一个用户,也可以使用快捷键:ctrl + d

•使用普通用户,切换到其它用户需要输入密码,如切换到root用户

•使用root用户切换到其它用户,无需密码,可以直接切换

sudo命令

介绍

在我们得知root密码的时候,可以通过su命令切换到root得到最大权限。

但是我们不建议长期使用root用户,避免带来系统损坏。

我们可以使用sudo命令,为普通的命令授权,临时以root身份执行。

格式

sudo 其他命令

为普通用户配置sudo认证

•在其它命令之前,带上sudo,即可为这一条命令临时赋予root授权

•但是并不是所有的用户,都有权利使用sudo,我们需要为普通用户配置sudo认证

d7562978f263425d850e0777a76eee57.png

认证步骤

1.•切换到root用户,执行visudo命令(或者执行 vi /exc/sudoers,必须在vi编辑器里面打开,vim里面不行),会自动通过vi编辑器打开:/etc/sudoers

2.•按下o进入输入模式,在文件的最后添加

用户名 ALL=(ALL) 按下table键 NOPASSWORD:ALL

用户名 ALL=(ALL)      NOPASSWORD:ALL

b93987f7195d40f5826f79965a86af85.png

其中最后的NOPASSWD:ALL 表示使用sudo命令,无需输入密码

3.•最后通过 wq 保存

bdd26fc05909447db81c113cad2f3cd8.png

例子

为root设置密码(Ubuntu系统默认不会为root设置密码,CentOS默认是设置密码为登录用户的)

sudo passwd root

用户和用户组管理

介绍

Linux系统中可以:

•配置多个用户

•配置多个用户组

•用户可以加入多个用户组中

a4fb0c33e4bc449a90d86eed6e8264ca.png

Linux中关于权限的管控级别有2个级别,分别是:

•针对用户的权限控制

•针对用户组的权限控制

比如,针对某文件,可以控制用户的权限,也可以控制用户组的权限

所以,我们需要学习在Linux中进行用户、用户组管理的基础命令,为后面学习权限控制打下基础。

用户组管理命令

所有命令都需要在root用户下执行

•创建用户组

groupadd 用户组名

•删除用户组

groupdel 用户组名

用户管理命令

•创建用户

useradd [-g -d] 用户名

•选项:-g指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要组已经存在,如已存在同名组,必须使用-g

•选项:-d指定用户HOME路径,不指定,HOME目录默认在:/home/用户名

例子

把用户test3加入到用户组itcast里面

204cbaeaeaec4d4791d313e685caf90b.png

•删除用户

userdel [-r] 用户名

•选项:-r,删除用户的HOME目录,不使用-r,删除用户时,HOME目录保留

•查看用户所属组

id [用户名]

•参数:用户名,被查看的用户,如果不提供则查看自身

•修改用户所属组

usermod -aG 用户组 用户名,将指定用户加入指定用户组

getent命令(查看当前系统中有哪些用户或者用户组)

查看当前系统中有哪些用户

格式

getent passwd

例子

233a5793d3b947f3a80a115c4adb0d99.png

查看当前系统中有哪些用户组

格式

getent group

例子

fc4d7cc06c844020a65b0381390e5274.png

查看权限控制信息

c105fefdd22d44fea14aed75e9c1c7b9.png

4eb37c0344bf45b99bdd6ea68532640c.png

d64463703f3e4da3bbd9cfd1d3adaa84.png

r:ls命令

w:mkdir,rm命令

x:cd命令

例子

5e6b2e2801594a799b677b320f53965c.png

chmod命令(修改文件、文件夹的权限信息)

注意,只有文件、文件夹的所属用户或root用户可以修改

是把权限修改为,不是添加某一个权限

如o=x,表示把其他用户的权限改为只有执行权限

格式

chmod [-R] 权限 文件或文件夹

•选项:-R,对文件夹内的全部内容应用同样的操作

83d6cafbb68c46a19059a10b3fb157bd.png

扩展(简单快捷的方式修改权限)

f2a800ad12c0485a8d381f5858964028.png

chown命令(修改文件、文件夹的所属用户和用户组)

普通用户无法修改所属为其它用户或组,所以此命令只适用于root用户执行

因为普通用户要把此文件塞给其他用户,还要经过其他用户的同意

格式

chown [-R] [用户][ :][用户组] 文件或文件夹

•选项,-R,同chmod,对文件夹内全部内容应用相同规则

•选项,用户,修改所属用户

•选项,用户组,修改所属用户组

•:用于分隔用户和用户组

例子

1e4fccf11d864994a8793ad88e246f6a.png

第四章 Linux实用操作

软件安装

CentOS系统安装软件

介绍

操作系统安装软件有许多种方式,一般分为:

•下载安装包自行安装
win 系统使用 exe 文件、 msi 文件等
mac 系统使用 dmg 文件、 pkg 文件等
•系统的应用商店内安装
win 系统有 Microsoft Store 商店
mac 系统有 AppStore 商店
 

Linux系统同样支持这两种方式,我们首先,先来学习使用:Linux命令行内的”应用商店”,yum命令安装软件

yum命令安装软件

格式

yum:RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题。

yum [-y] [install | remove | search] 软件名称

•选项:-y,自动确认,无需手动确认安装或卸载过程

•install:安装

•remove:卸载

•search:搜索

yum命令需要root权限哦,可以su切换到root,或使用sudo提权。

yum命令需要联网

例子

•yum search wget,通过yum命令,搜索是否有wget安装包

•yum [-y] install wget, 通过yum命令安装wget程序

•yum [-y] remove wget,通过yum命令卸载wget命令

遇到的问题

Linux之前学了一部分,最近又开始学习

然后又新开了一台虚拟机,就出现了不能下载的问题

[root@localhost ~]# yum search wget
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was
14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"

说的很明确无法检索镜像列表

一种是网络没连接成功,ping一下百度发现没有问题,说明网络没有问题(网络有问题就得重新下载VMWare了)

c0de3d1d811a4dc0bfe0bddad741d472.png

另一种就是这个源出问题了,我试了一下我之前开的那一台虚拟机是可以下载的,现在新开的这个不可以,就很疑惑,可能是人家公司不提供服务了

我换了阿里的源以后成功解决了

1.先备份一下之前的源文件(虽然基本可能不会再用了)

普通用户可能没有权限,就之前说的x权限,没有copy的权限,切换到root做

sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

2.下载阿里的镜像文件(在网络能正常用的情况下做)

 curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

3.下载好以后可以查看一下

cat /etc/yum.repos.d/CentOS-Base.repo

be18957313ff446b98ed9f28983eec58.png

可以看到已经是阿里的一些网址了

3648d43ac7f6419987aeb1e6e15f2be1.png

4.清理旧缓存生成新缓存

yum clean all
yum makecache

5.更新软件(这一步超级慢,不做也可以正常使用)

 sudo yum -y update

6.检查新源

yum repolist

2008e4b900904575836f9fc749eb4f2e.png

Ubuntu系统安装软件

介绍

前面学习的各类Linux命令,都是通用的。 但是软件安装,CentOS系统和Ubuntu是使用不同的包管理器。

CentOS使用yum管理器,Ubuntu使用apt管理器

通过前面学习的WSL环境,我们可以得到Ubuntu运行环境。

操作系统CentOSUbuntu
安装包文件类型rpmdeb
包管理器yumapt

apt命令安装软件

格式

apt [-y] [install | remove | search] 软件名称

用法和yum一致,同样需要root权限

•apt install wget,安装wget
•apt remove wget,移除wget
•apt search wget,搜索wget

例子

a25cd78fa44e436289f903ceb34aedcf.png

遇到的问题

在切换root的时候遇到问题了

8b095907446145b4817ecc3cbe47e024.png

这种情况一般有两种可能

一是密码输入错误了

二是没有为root设置密码

以为是密码错了,发现修改密码是成功(需要输入原密码),所以密码没有错误

3eb80cca00894434ba7430ae45ef999b.png

最后发现是Ubuntu系统默认不为root设置密码,所以一直报错

为root设置密码后成功!

28b9be0702864c569ef054cc5c0b760d.png

systemctl命令(控制软件的启动和关闭)

介绍

Linux系统很多软件(内置或第三方)均支持使用systemctl命令控制:启动、停止、开机自启

能够被systemctl管理的软件,一般也称之为:服务

格式

systemctl start | stop | status | enable | disable 服务名

•start 启动

•stop 关闭

•status 查看状态

•enable 开启开机自启

disable 关闭开机自启

例子

控制系统内置服务

系统内置的服务比较多,比如:

•NetworkManager,主网络服务

•network,副网络服务

•firewalld,防火墙服务

•sshd,ssh服务(FinalShell远程登录Linux使用的就是这个服务)

e07586bb5895421dab88a1a6df0b6b97.png

控制部分第三方软件(自动集成到systemctl的)

除了内置的服务以外,部分第三方软件安装后也可以以systemctl进行控制。

这两个安装后会自动注册为系统服务,所以也可以进行控制

•yum install -y ntp,安装ntp软件

可以通过ntpd服务名,配合systemctl进行控制

•yum install -y httpd,安装apache服务器软件

可以通过httpd服务名,配合systemctl进行控制

ed15dc0ab8d943e3af84ced8903a0c76.png

控制其他第三方软件(不会自动集成的)

软连接

介绍

在系统中创建软链接,可以将文件、文件夹链接到其它位置。

类似Windows系统中的《快捷方式》

ln命令创建软连接

格式

ln -s 参数1 参数2 

•-s选项,创建软连接

•参数1:被链接的文件或文件夹

参数2:要链接去的目的地

例子

实例:

•ln -s /etc/yum.conf  ~/yum.conf

•ln -s /etc/yum  ~/yum

ddfde29409754843bedd625f0a2778cd.png

日期和时区

date命令

格式

date [-d] [+格式化字符串]

•-d 按照给定的字符串显示日期,一般用于日期计算

•格式化字符串:通过特定的字符串标记,来控制显示的日期格式

%Y   年

%y   年份后两位数字 (00..99)

%m   月份 (01..12)

%d   日 (01..31)

%H   小时 (00..23)

%M   分钟 (00..59)

%S   秒 (00..60)

%s   自 1970-01-01 00:00:00 UTC 到现在的秒数

查看日期和时间

897ca33ded074968b42405c32b7a30ee.png
引号放在加号前面和后面都是可以的
0818bb46f67c49ec99a6c5a2c87e6060.png

进行日期加减

•-d选项,可以按照给定的字符串显示日期,一般用于日期计算

4e3373e6033f4219a1b988c5a614cdde.png

•其中支持的时间标记为:

year

month

day

hour小时

minute分钟

second

•-d选项可以和 格式化字符串配合一起使用哦

修改Linux时区

 

1.切换到root

2.删除系统自带的localtime文件

rm -f /etc/localtime

73f3e46fc7bc4fdebed6827c9bbe2af4.png

3.把时区信息的文件软链接为系统自带的中国所在的东八区的时区信息文件

试了一下北京的不行,还是UST

25f32103945f4dbb90d23a9f01eaed20.png

上海的成功了,变为CST

567cbc1164ce45d7833b47e25a43669c.png

ntp程序(自动校准系统时间)

需要切换到root做哦

1.安装ntp

yum -y install ntp

f95599fec5164988ab523b53a2b7192d.png

2.启动并设置开机自启

systemctl start ntpd
systemctl enable ntpd

2f8f87c44b4a42d7b81987aad6eef6e7.png

3.查看状态和开机自启是否启动成功

76fc42a376c9471eb59df9f9f29c8c80.png

4.当ntpd启动后会定期的帮助我们联网校准系统的时间

 

如果觉得ntp的自动校准时间较长,也可以使用阿里的在线校准网站手动校准

通过阿里云提供的服务网址配合ntpdate(安装ntp后会附带这个命令)命令自动校准

ntpdate -u ntp.aliyun.com

46d22248545348719dc657aa61a704d7.png

IP地址和主机名

IP地址

介绍

每一台联网的电脑都会有一个地址,用于和其它计算机进行通讯

IP地址主要有2个版本,V4版本和V6版本(V6很少用,课程暂不涉及)

IPv4版本的地址格式是:a.b.c.d,其中abcd表示0~255的数字,如192.168.88.101就是一个标准的IP地址

ifconfig命令(查看ip地址)

如无法使用ifconfig命令,可以安装:yum -y install net-tools

c326ff7a7d9f4fce882b216ba7eae579.png

除了标准的IP地址以外,还有几个特殊的IP地址需要我们了解:

•127.0.0.1,这个IP地址用于指代本机

90d33d8181c04e44a1e8f4424d74f849.png

•0.0.0.0,特殊IP地址

•可以用于指代本机

•可以在端口绑定中用来确定绑定关系 

•在一些IP地址限制中,表示所有IP的意思,如放行规则设置为0.0.0.0,表示允许任意IP访问

主机名

介绍

每一台电脑除了对外联络地址(IP地址)以外,也可以有一个名字,称之为主机名

无论是Windows或Linux系统,都可以给系统设置主机名

•Windows系统主机名

f98092b5c4204be99c6719c8dd90e15a.png

•Linux系统主机名

603ca9e512374b60ac635b178a02cff0.png

修改Linux主机名

•可以使用命令:hostname查看主机名

69d0c278863249a6a5805da21e630665.png

•可以使用命令:hostnamectl set-hostname 主机名,修改主机名(需root)

c1bc3aad4660421eb21a03742bfd538d.png

•重新登录FinalShell即可看到主机名已经正确显示

062b50fa98f24a1bbdc84afe37694f9f.png

域名解析

介绍

IP地址实在是难以记忆,有没有什么办法可以通过主机名或替代的字符地址去代替数字化的IP地址呢?

实际上,我们一直都是通过字符化的地址去访问服务器,很少指定IP地址

比如,我们在浏览器内打开:www.baidu.com,会打开百度的网址

其中,www.baidu.com,是百度的网址,我们称之为:域名

可以通过主机名找到对应计算机的IP地址,这就是主机名映射(域名解析)

先通过系统本地的记录去查找,如果找不到就联网去公开DNS服务器去查找

流程

62c28fd4ae374bfdaf9227956d79d175.png

 

配置主机名映射

1.搜索记事本右键以管理员身份打开

8c4ee59a6ae44f96a03f5c5a78371117.jpeg

2.找到这个文件C:\Windows\System32\drivers\etc\hosts进行编辑

c89b300d44594cff84f008f312261f3c.png

选择为文本文档时可能找不到,选择为所以文件就可以找到了

3253859e04664e87a185bf36fd69569e.png

7e44624d40f14e30a271ea23e456d508.png

3.添加域名和主机名的映射

10fc42c00f194f7d968efd467de8f4ef.png

4.检验成果

在FinalShell用主机名代替ip地址也可以连接成功了

c4adee14a5134128b0126ef414c85060.png

 

797f5ae2c66645cbacdd07cd12c429e9.png
535ce3e6bf1440cfb078594648823e10.png
 
 

在VMware Workstation中配置Linux系统的固定IP地址(用于Windows系统)

介绍

当前我们虚拟机的Linux操作系统,其IP地址是通过DHCP服务获取的。

DHCP:动态获取IP地址,即每次重启设备后都会获取一次,可能导致IP地址频繁变更

原因1:办公电脑IP地址变化无所谓,但是我们要远程连接到Linux系统,如果IP地址经常变化我们就要频繁修改适配很麻烦

原因2:在刚刚我们配置了虚拟机IP地址和主机名的映射,如果IP频繁更改,我们也需要频繁更新映射关系

综上所述,我们需要IP地址固定下来,不要变化了。

步骤

1.在VMware Workstation中配置IP地址网关和网段(IP地址的范围)

在VMware Workstation的编辑中选择虚拟网络编辑器

4bcffd2a8ad845f3bdc791a8ef3d1c69.png

选择VMnet8,使用管理员权限才能修改

c00f7300a34d4984a5afb4d9892bad84.png

设置网段和网关

3378e4f188814149a0cd7c14cbb54717.png

进入到NET设置

a3054be0c47047beb0816e584bdf9712.png

设置网关

85b439a6b843437d97be896891dd0eff.png

2.在Linux系统中手动修改配置文件,固定IP

进入到终端或者用FinalShell操作

307dae622ca740b48e473626476ff89a.png

切换到root

625d0c056bf44cecac89157cd90b7450.png

使用vim编辑器编辑这个文件/etc/sysconfig/network-scripts/ifcfg-ens33

1f37b8ced30046f7a1514260b8795463.png

3.重启网络服务,查看是否修改成功

db668189cc364f229a5edcc117188fa5.png

网络传输

下载和网络请求

ping命令(检查指定的网络服务器是否是可联通状态)

格式

ping [-c num] ip或主机名

•选项:-c,检查的次数,不使用-c选项,将无限次数持续检查

•参数:ip或主机名,被检查的服务器的ip地址或主机名地址

例子

检查baidu.com是否联通

1c88ac590ad742dab19778f53a1fe88c.png

wget命令(是非交互式的文件下载器,可以在命令行内下载网络文件)

格式

wget [-b] url 

•选项:-b,可选,后台下载,会将日志写入到当前工作目录的wget-log文件

参数:url,下载链接

例子

•下载apache-hadoop 3.3.0版本:wget http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz

•在后台下载:wget -b http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz

•通过tail命令可以监控后台下载进度:tail -f wget-log

e57c8ec06f604bb1bf09208c7fc3793c.png

注意:无论下载是否完成,都会生成要下载的文件,如果下载未完成,请及时清理未完成的不可用文件。

curl命令(发送http网络请求,可用于:下载文件、获取信息等)

格式

curl [-O] url

•选项:-O,用于下载文件,当url是下载链接时,可以使用此选项保存文件

•参数:url,要发起请求的网络地址

例子

•向cip.cc发起网络请求:curl cip.cc

•向python.itheima.com发起网络请求:curl python.itheima.com

•通过curl下载hadoop-3.3.0安装包:curl -O http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz

端口

介绍

端口,是设备与外界通讯交流的出入口。端口可以分为:物理端口和虚拟端口两类

•物理端口:又可称之为接口,是可见的端口,如USB接口,RJ45网口,HDMI端口等

•虚拟端口:是指计算机内部的端口,是不可见的,是用来操作系统和外部进行交互使用的

569e15cf726541a48fb1f30be46fd947.png

c6bf8c4a7b7e4fe19217fc3a1a257fcf.png

e1760b67d97d4c7b81ba8681fa5a7f46.png

c6f2490a92624753ab5da59d7bd26d20.png

查看端口占用情况(nmap命令)

安装

yum -y install nmap

格式

nmap 被查看ip的地址

例子

127.0.0.1代表本机

可以看到,本机(127.0.0.1)上有5个端口现在被程序占用了。

其中:

•22端口,一般是SSH服务使用,即FinalShell远程连接Linux所使用的端口
adce5c16520b457d98681e7aee58073b.png

查看指定端口占用情况(netstat命令)

安装

yum -y install net-tools

格式

netstat -anp | grep 端口号

例子

f682ffd7ec564039a9f56229301f9e61.png

总结

1. 什么是端口?

端口是指计算机和外部交互的出入口,可以分为物理端口和虚拟端口

•物理端口:USB、HDMI、DP、VGA、RJ45等

•虚拟端口:操作系统和外部交互的出入口

IP只能确定计算机,通过端口才能锁定要交互的程序

2. 端口的划分

•公认端口:1~1023,用于系统内置或常用知名软件绑定使用

•注册端口:1024~49151,用于松散绑定使用(用户自定义)

•动态端口:49152~65535,用于临时使用(多用于出口)

3. 查看端口占用

•nmap IP地址,查看指定IP的对外暴露端口

netstat -anp | grep 端口号,查看本机指定端口号的占用情况

进程管理

介绍(进程)

d7401c31105a40d19c3fddbe81cf6ac8.png

查看进程(ps命令)

格式

ps [-e -f]

 

选项:-e,显示出全部的进程

选项:-f,以完全格式化的形式展示信息(展示全部信息)

一般来说,固定用法就是: ps -ef 列出全部进程的全部信息

例子

6742a10f27fd4205b2abcdaf950137ce.png

配合管道符和grep命令使用

a71599dd2a4e4c85b82a08b623f44522.png

c3a4fc57e3564b48898fc4c4a092ba7b.png

关闭进程(kill命令)

介绍

在Windows系统中,可以通过任务管理器选择进程后,点击结束进程从而关闭它。

同样,在Linux中,可以通过kill命令关闭进程。

格式

kill [-9] 进程ID

选项:-9,表示强制关闭进程。不使用此选项会向进程发送信号要求其关闭,但是否关闭看进程自身的处理机制。

例子

第一个标签页里面开启tail

987c72369b3245768e14d5398713acfa.png

第二个标签页里面让它自己进行关闭

1f7424fec2904f68b96d02a8c876649b.png

显示是Terminated

7aab1875b2a240e99b3ecdf495a198e3.png

强制关闭

c7975d886dda49a8989aba67e108ae3a.png

主机状态

查看系统资源占用(top命令)

•可以通过top命令查看CPU、内存使用情况,类似Windows的任务管理器

默认每5秒刷新一次,语法:直接输入top即可,按q或ctrl + c退出

30aceefee5164c61a5c38713fe6e0d7e.png

1d79213e492749c2aeaf0359fe0da2d7.png

bf5f7ffb94c84a30a5d392d7d50d069e.png

2c52f0d5909746c898ebada7f76c2060.png

52d3bbd7e38d4d59866091acfa4f04a8.png

磁盘信息监控

•使用df命令,可以查看硬盘的使用情况

语法:df [-h]

选项:-h,以更加人性化的单位显示

b8802e1a1cac4fc3b74d083dff435c35.png•可以使用iostat查看CPU、磁盘的相关信息

语法:iostat [-x] [num1] [num2]

•选项:-x,显示更多信息

•num1:数字,刷新间隔,num2:数字,刷新几次

9e9cc855533f47dcb7a8aa9553131ab0.png

tps:该设备每秒的传输次数(Indicate the number of transfers per second that were issued to the device.)。"一次传输"意思是"一次I/O请求"。多个逻辑请求可能会被合并为"一次I/O请求"。"一次传输"请求的大小是未知的。

•使用iostat的-x选项,可以显示更多信息

862f11f325e141d1a3e6761fcbd8b457.png

rrqm/s:  每秒这个设备相关的读取请求有多少被Merge了(当系统调用需要读取数据的时候,VFS将请求发到各个FS,如果FS发现不同的读取请求读取的是相同Block的数据,FS会将这个请求合并Merge, 提高IO利用率, 避免重复调用);

wrqm/s:  每秒这个设备相关的写入请求有多少被Merge了。

rsec/s:  每秒读取的扇区数;sectors

wsec/:  每秒写入的扇区数。

rKB/s:  每秒发送到设备的读取请求数

wKB/s:  每秒发送到设备的写入请求数

avgrq-sz   平均请求扇区的大小

avgqu-sz   平均请求队列的长度。毫无疑问,队列长度越短越好。   

await:    每一个IO请求的处理的平均时间(单位是微秒毫秒)。

svctm      表示平均每次设备I/O操作的服务时间(以毫秒为单位)

%util:   磁盘利用率

网络状态监控

•可以使用sar命令查看网络的相关统计(sar命令非常复杂,这里仅简单用于统计网络)

语法:sar -n DEV num1 num2

选项:-n,查看网络,DEV表示查看网络接口

num1:刷新间隔(不填就查看一次结束),num2:查看次数(不填无限次数)

a12e26641aa448f2b20d1063b14001e9.png

如图,查看2次,隔3秒刷新一次,并最终汇总平均

总结

1. 使用top命令可以:

•类似Windows任务管理器

•查看CPU、内存、进程的信息

2. 使用df命令可以:

•查看磁盘使用率

3. 使用iostat可以:

•查看磁盘速率等信息

4. 使用sar -n DEV命令可以:

查看网络情况

环境变量

介绍

在讲解which命令的时候,我们知道使用的一系列命令其实本质上就是一个个的可执行程序。

比如,cd命令的本体就是:/usr/bin/cd 这个程序文件。

我们是否会有疑问,为何无论当前工作目录在哪里,都能执行:/usr/bin/cd这个程序呢?

 

这就是环境变量的作用啦。

环境变量是操作系统(Windows、Linux、Mac)在运行的时候,记录的一些关键性信息,用以辅助系统运行。

在Linux系统中执行:env命令即可查看当前系统中记录的环境变量

环境变量是一种KeyValue型结构,即名称和值,如下图:

 

图中记录了:

HOME /home/itheima ,用户的 HOME 路径
USER itheima ,当前的操作用户
PWD :当前工作路径
......

等等一系列信息,用于辅助系统在运行的时候

从环境变量中获取关键信息

36f3fd2202a74452802859f3c9a8832c.png

无论当前工作目录是什么,都能执行某个程序是怎么做到的?

借助环境变量中:PATH这个项目的值来做到的

2f7de280a47c40dca5b2671c61e7b3ca.png

PATH记录了系统执行任何命令的默认搜索路径,如上图记录了(路径之间以:隔开):

•/usr/local/sbin
•/usr/local/bin
/sbin
•/usr/sbin
•/usr/bin
/root/bin

当执行任何命令,都会按照顺序,从上述路径中搜索要执行的程序的本体

比如执行cd命令,就从第二个目录/usr/bin中搜索到了cd命令,并执行

$符号

d1fc3a6e1d4a47f39a7da04f3d947fce.png

自行设置环境变量

Linux环境变量可以用户自行设置,其中分为:

•临时设置(把FinalShell关闭再重新打开就找不到了)

语法:export 变量名=变量值

f584dce03ac34fb7b42f3879173b2c93.png

•永久生效

•针对当前用户生效,配置在当前用户的:  ~/.bashrc文件

becc7c4ab00a4b00b62c521e9fd5f47a.png

•针对所有用户生效,配置在系统的:  /etc/profile文件中•并通过语法:source 配置文件,进行立刻生效,或重新登录FinalShell生效

a90429d89bdb4c0bbadf840f3463b30b.png

按一下G,再按一下o即可在文件末尾编辑

6da156bead584c959fb5661a0af33a9c.png

自定义环境变量PATH

环境变量PATH这个项目里面记录了系统执行命令的搜索路径。

这些搜索路径我们也可以自行添加到PATH中去。

例子

•在当前HOME目录内创建文件夹,myenv,在文件夹内创建文件mkhaha

•通过vim编辑器,在mkhaha文件内填入:echo 哈哈哈哈哈

完成上述操作后,随意切换工作目录,执行mkhaha命令尝试一下,会发现无法执行

•修改PATH的值

 

给mkhaha添加内容

2c3a952fb9474d89a04882e6f6d1d6f1.png

ee574a9d1ca3471f8394991b0d4062da.png

dde5a576732c42e0bf5c3eec2766e3f3.png

临时修改PATH:export PATH=$PATH:~/myenv,再次执行mkhaha,无论在哪里都能执行了

d031b9cda21042028a379d6312440c91.png

或将export PATH=$PATH:/home/itheima/myenv,填入用户环境变量文件或系统环境变量文件中去

948de6ca81a74fc2bef71ce4b1ab6dcc.png

Linux文件的上传和下载

我们可以通过FinalShell工具,方便的和虚拟机进行数据交换。

在FinalShell软件的下方窗体中,提供了Linux的文件系统视图,可以方便的:

•浏览文件系统,找到合适的文件,右键点击下载,即可传输到本地电脑

•浏览文件系统,找到合适的目录,将本地电脑的文件拓展进入,即可方便的上传数据到Linux中

下载

选择要下载的文件,右键下载

d82a9ed37c8b4c3283b4c70246ef1d14.png

在桌面就会出现一个fdownload的文件夹,打开就可以找到刚刚下载的文件

43adbfc6272f441da3578c3507167420.png

但是root目录下的文件是看不到的,显示加载中

de7f7d6894eb4494b11bf163063dfe05.png

需要以root用户登录,才可以看到

04605179dd4942eca2abede3e1dab359.png

上传

直接选择对应的文件夹拖进去就可以了

34416a01323a4c89a024847c1ffefb63.png

rz(上传)和sz(下载)命令

安装

yum -y install lrzsz

02ad33f183d441f78184d2929595697e.png

sz下载

bf1905b0b40e402a9f07dc4e8491a4fa.png

有点乱码,但是不是这里要研究的东西

8aa91650c64b410db54c421741bfd84f.png

rz上传(传大文件很慢)

直接输入rz,就会弹出来一个文件框让用户选择要下载的文件

927801f14f574c28afb19207bac2faed.png

注意,rz、sz命令需要终端软件支持才可正常运行

FinalShell、SecureCRT、XShell等常用终端软件均支持此操作

压缩和解压

压缩格式

市面上有非常多的压缩格式

•zip格式:Linux、Windows、MacOS,常用
•7zip:Windows系统常用
•rar:Windows系统常用
•tar:Linux、MacOS常用
•gzip:Linux、MacOS常用

在Windows系统中常用的软件如:winrar、bandizip等软件,都支持各类常见的压缩格式,这里不多做讨论。

我们现在要学习,如何在Linux系统中操作:tar、gzip、zip这三种压缩格式

完成文件的压缩、解压操作。

使用tar命令压缩或解压tar或gzip文件

介绍

Linux和Mac系统常用有2种压缩格式,后缀名分别是:

•.tar,称之为tarball,归档文件,即简单的将文件组装到一个.tar的文件内,并没有太多文件体积的减少,仅仅是简单的封装

•.gz,也常见为.tar.gz,gzip格式压缩文件,即使用gzip压缩算法将文件压缩到一个文件内,可以极大的减少压缩后的体积

格式

tar [-c -v -x -f -z -C] 参数1 参数2...参数N

•-c,创建压缩文件,用于压缩模式

•-v,显示压缩、解压过程,用于查看进度

•-x,解压模式

•-f,要创建的文件,或要解压的文件,-f选项必须在所有选项中位置处于最后一个

•-z,gzip模式,不使用-z就是普通的tarball格式

•-C,选择解压的目的地,用于解压模式

常用组合

tar的常用压缩组合为:

•tar -cvf test.tar 1.txt 2.txt 3.txt

将1.txt 2.txt 3.txt 压缩到test.tar文件内

•tar -zcvf test.tar.gz 1.txt 2.txt 3.txt

将1.txt 2.txt 3.txt 压缩到test.tar.gz文件内,使用gzip模式

注意:

•-z选项如果使用的话,一般处于选项位第一个

-f选项,必须在选项位最后一个

常用的tar解压组合有

•tar -xvf test.tar

解压test.tar,将文件解压至当前目录

•tar -xvf test.tar -C /home/itheima

解压test.tar,将文件解压至指定目录(/home/itheima)

•tar -zxvf test.tar.gz -C /home/itheima

以Gzip模式解压test.tar.gz,将文件解压至指定目录(/home/itheima)

 

注意:

•-f选项,必须在选项组合体的最后一位
•-z选项,建议在开头位置
•-C选项单独使用,和解压所需的其它参数分开
 

使用zip、unzip命令压缩或解压zip文件

压缩格式

zip [-r] 压缩文件名 参数1 参数2 ... 参数N 

•-r,被压缩的包含文件夹的时候,需要使用-r选项,和rm、cp等命令的-r效果一致

例子

•zip test.zip a.txt b.txt c.txt

将a.txt b.txt c.txt 压缩到test.zip文件内

•zip -r test.zip test itheima a.txt

将test、itheima两个文件夹和a.txt文件,压缩到test.zip文件内

解压格式

uzip [-d] 参数

•-d,指定要解压去的位置,同tar的-C选项

•参数,被解压的zip压缩包文件

例子

解压的时候同名文件夹会被直接替换

•unzip test.zip,将test.zip解压到当前目录

•unzip test.zip -d /home/itheima,将test.zip解压到指定文件夹内(/home/itheima)

第五章 在Linux上部署各类软件

MYSQL

快捷键

ctrl+c(强制停止)

•Linux某些程序的运行,如果想要强制停止它,可以使用快捷键ctrl + c

如停止tail的持续跟踪等等

或者输入tail什么选项也不填程序会卡住,退出使用ctrl+c

e23a83a2ae224f228ba7d273346408e8.png

•命令输入错误,也可以通过快捷键ctrl + c,退出当前输入,重新输入

909b2a8688a5438db863c6c1676d1eff.png

ctrl+d(退出或者登出)

•可以通过快捷键:ctrl + d,退出账户的登录

49795e6d5a914ec093e841c27e629297.png•或者退出某些特定程序的专属页面(不能用于退出vi/vim)

9ebda08b18d849269efbc2334c49c445.png

历史命令搜索

•可以通过history命令,查看历史输入过的命令,选择历史命令进行复制和粘贴

粘贴以后是不用回车自动执行的

e16f4f6b87434aa383fd957e9e28c378.png

•可以通过:!命令前缀,自动执行上一次匹配前缀的命令

71e47177a0f54fc7b71ac3f837fbde81.png•可以通过快捷键:ctrl + r,输入内容去匹配历史命令

如果搜索到的内容是你需要的,那么:

•回车键可以直接执行

•键盘左右键,可以得到此命令(不执行)

5a08eeee39e44d238c39b3fef916e157.png

光标移动快捷键

•ctrl + a,跳到命令开头

•ctrl + e,跳到命令结尾

•ctrl + 键盘左键,向左跳一个单词

•ctrl + 键盘右键,向右跳一个单词

清屏

•通过快捷键ctrl + l,可以清空终端内容

•或通过命令clear得到同样效果

键盘的上键(找到上一次执行的命令)

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值