Ubuntu Linux操作系统——项目5 系统高级配置与管理

19 篇文章 0 订阅

目录​​​​​​​

【学习目标】

5.1 项目陈述

5.2 必备知识

5.2.1 Linux进程概述

1.Linux进程类型

2.查看进程

5.2.2 Linux进程管理

1.启动进程

2.进程挂起及恢复

3.进程结束

4.进程优先级管理

5.2.3 systemd管理Linux系统

1.systemd与系统初始化

2.systemd单元

3.systemd单元文件

4.依赖关系

5.systemd事务

6.systemctl命令

5.2.4 systemd管理单元

1.单元的活动状态

2.查看单元

3.查看单元的状态

4.管理单元依赖关系

5.列出单元文件

5.2.5 systemd管理Linux服务

1.服务管理

2.配置服务启动状态

5.3 项目实施

5.3.1 网络配置命令管理

1.查看主机IP地址相关信息

2.配置主机IP地址相关信息

3.hostnamectl命令配置并查看主机名

4.route命令管理路由

5.ping命令检测网络连通性

6.netstat命令查看网络信息

7.nslookup命令DNS解析

8.traceroute命令跟踪路由

9.ip命令网络配置

5.3.2 系统监控管理

1.磁盘监控

2.内存监控

3.CPU监控

5.3.3 系统日志管理

1.配置系统日志

2.配置和使用systemd日志


【学习目标】

• 掌握Linux进程管理方法。

• 理解systemd管理系统和服务。

• 掌握systmed管理Linux服务的方法。

• 掌握网络常用管理命令的使用方法。

• 掌握系统监控的方法。

• 掌握配置和使用系统日志的方法。

5.1 项目陈述

作为Linux操作系统的网络管理员,随时掌握Linux操作系统的运行状态,监控管理Linux操作系统是网络管理员必须熟练掌握的,这些是后续实际进行服务器配置的基础。

本章主要讲解Linux系统进程管理、系统和服务管理、任务调度管理、网络常用管理命令、日志管理以及进行系统监控的方法。

5.2 必备知识

5.2.1 Linux进程概述

进程:Linux系统上所有运行的任务都可以称之为一个进程,每个用户任务、每个应用程序或服务也都可以称之为进程,Ubuntu也不例外。

对于管理员来说,没有必要关心进程的内部机制,而是要关心进程的控制管理。

管理员应经常查看系统运行的进程服务,对于异常和不需要的进程,应及时将其结束,让系统更加稳定地运行。

1.Linux进程类型

从操作系统管理角度来看,进程是操作系统对调度管理的描述信息,这个描述信息不是单独存放,而是存放在进程控制块的数据结构中,这个数据结构是一种结构体,由操作系统创建和管理。

操作系统对进程的控制就是通过对这个结构体内成员的控制来达到控制操作系统的目的。

进程由程序产生,是动态的,是一个运行着的、要占用系统运行资源的程序,程序本身是一种包含可执行代码的静态文件。

多个进程可以并发调用同一个程序,一个程序可以启动多个进程。

start-all.sh    #一键启动所有大数据相关进程
start-dfs.sh    #启动和HDFS相关的进程

每一个进程还可以有多个子程序。

为了区分不同的程序,系统给每一个进程都分配了一个唯一的进程标识符。PID (进程号随机分配)

进程状态反映进程执行过程的变化,这些状态随着进程的执行和外界条件的变化而转化。

Linux是一个多进程的操作系统,每一个进程都是独立的,都有自己的权限及任务。

初始化进程是系统第一个进程。后续所有进程都是初始化进程的子进程。ID = 1

进程的3种类型:

(1)交互进程。 在shell下通过执行程序产生的进程,可在前台或者后台运行。

(2)批处理进程。这是一个进程序列

(3)守护进程。 又称监控进程,一般在后台运行,等待用户或者其他应用程序调用,并且没有控制终端的进程,通常可以随着操作系统的启动而运行,也可以将其称为服务。守护进程是服务的具体实现。

Linux守护进程按照功能可以分为系统守护进程和网络守护进程。

前者又称系统服务,是指那些为系统本身或者系统用户提供的一类服务,主要用于当前系统,如提供作业调度服务的Cron服务;后者又称网络服务,是指提供给客户端调用的一类服务,主要用于实现远程网络服务,如Web服务、文件服务等。

Ubuntu操作系统启动时会自动启动很多守护进程(系统服务),向本地用户或网络用户提供系统功能接口,直接面向应用程序和用户。但是不必要的,或者本身有漏洞的服务,会给操作系统本身带来安全隐患。

2.查看进程

进程控制块(PCB)用于标识和管理进程,一个进程主要有以下参数:

(1)PID。进程号;用于唯一标识的进程号

(2)PPID。父进程号;创建某进程的上一进程的进程号

(3)USER。启动某个进程的用户ID和所属组ID

(4)STAT。进程状态;进程可能处于运行、等待、停止、睡眠、僵死等

(5)PRIORITY。 进程的优先级

(6)资源占用。包括CPU、磁盘、内存等的占用情况

每个正在运行的程序都是系统中的一个进程,要对进程进行调配和管理,就需要知道进程当前的运行情况,可以通过查看进程来实现。

(1) ps命令

基本的进程查看命令,可确定有哪些进程正在运行、进程的状态、进程是否结束、进程是否僵死、哪些进程占用了过多的资源等。

ps 命令常用于监控后台进程的工作情况,因为后台进程是不与屏幕键盘这些标准输入输出设备进行通信的。

ps命令格式如下:

ps [选项] <进程名> <pid>

 ps,命令及各选项功能说明

选项功能说明
-a显示现行终端机下的所有程序,包括其他用户的程序
-A显示所有程序
-c列出程序时,显示每个程序真正的指令名称,而不包含路径、参数或常驻服务的标示
此参数的效果和指定“A”参数相同
e列出程序时,显示每个程序所使用的环境变量
f用ASCII 字符显示树状结构,表示程序间的相互关系
-H显示树状结构,表示程序间的相互关系
-N显示所有的程序,除了执行ps 指令终端机下的程序之外
s采用程序信号的格式显示程序状况
S列出程序时,包括已中断的子程序资料
-t<终端机编号>指定终端机编号,并列出属于该终端机的程序的状况
u以用户为主的格式来显示程序状况
x显示所有程序,不以终端机来区分
-l长格式显示详细 PID 的信息

经常使用aux选项的组合:-a显示所有进程 -u 以用户名为主显示 -x显示所有进程

#查看进程
ps aux

通常情况下,系统中运行的进程有很多,可使用管理操作符和 more 或 less 命令进行查看,执行命令如下。

ps aux | more
ps aux | less

(2) top命令

常用来监控Linux的系统状况,是常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况。

ps静态显示进程信息,top命令动态显示进程信息,可以每隔一段时间刷新当前状态,还提供一组交互命令用于进程的监控。

top命令格式如下:

top [选项]

top命令各选项及其功能详见课本176 表5-2

在top命令执行过程中,可以使用一些交互命令。

  • 按"Space"键将立即刷新显示;

  • 按"Ctrl+L"组合键表示擦除并重写;

  • 按"Ctrl+C"组合键则表示退出显示。

例如,使用top命令动态显示进程信息,每3s显示一次,执行命令如下。

top -d 3    #动态显示进程信息,每3秒刷新一次

5.2.2 Linux进程管理

当程序运行的时候,每个进程会被动态得分配系统资源、内存、安全属性和与之相关的状态。可以有多个进程关联到同一个程序,并同时执行不会互相干扰,操作系统会有效地管理和追踪所有运行着的进程。

1.启动进程
  • 手动启动:用户在shell命令行下输入要执行的程序来启动一个程序

    • 前台启动:默认

    • 后台启动:在执行的命令后跟随一个“&"符号(后台启动shell可继续运行和执行其他程序)

  • 调度启动:事先设定好程序要运行的时间,当到了预定时间,系统自动启动程序。

2.进程挂起及恢复

通常将正在执行的一个或多个相关进程称为一个作业。

一个作业可以包含一个或多个进程。

作业控制指的是控制正在运行的进程的行为。

可以将进程挂起并在需要时恢复进程的运行,被挂起的进程恢复后将从中止处开始继续运行。

”Ctrl+Z“ 组合键可挂起当前的前台作业,将进程转到后台,此时进程默认是停止运行的。

恢复进程:(jobs查看)

  • 使用fg命令将挂起的作业放到前台执行;fg -N

  • 使用bg命令将挂起的作业放到后台执行。bg N

3.进程结束
  • 前台进程:”Ctrl+C“ 组合键中断

  • 后台进程:借助kill命令

原理:kill命令会向操作系统内核发送一个信号(多是终止信号)和目标进程的ID,然后系统内核根据收到的信号类型,对指定进程进行相应的操作。

遇到进程占用的 CPU 时间过多,或者进程已经挂起的情况时,就需要结束进程的运行。 当发现一些不安全的异常进程时,也需要强行终止该进程的运行。

从字面来看, kill就是用来杀死进程的命令,但事实上,这或多或少带有一定的误导性。 从本质上讲, kill命令只是用来向进程发送一个信号,至于这个信号是什么,则是用户指定的。

kill命令执行原理:

ill命令会向操作系统内核发送一个信号(多是终止信号)和目标进程的ID,然后系统内核根据收到的信号类型,对指定进程进行相应的操作。

命令格式:

kill [选项] 进程号(PID)
#或者
kill [信号] 进程号

kill命令选项及功能说明

选项功能说明
-s指定发送的信号
-a当处理当前进程时,不限制命令名和进程号的对应关系
-p模拟发送信号
-l指定信号的名称列表
-u指定用户

-u:指定用户; -a:处理当前进程,不限制命令名和进程号的对应关系

信号编号信号名功能说明
0EXIT程序退出时收到该信息
1HUP启动被终止的程序,可以让该进程重新读取自己的配置文件,类似于重新启动
2INT表示结束进程,但并不是强制性的,常用的"Ctri+C"组合键发出的就是一个 kill-2 的信号
3QUIT退出
9KILL杀死进程,即强制结束进程
11SEGV段错误
15TERM正常结束进程,是kill命令的默认信号

可以使用ps命令获得进程的进程号。 为了查看指定的进程号,可使用管道符号和grep命令相结合的方式来实现。

例如,若要查看 job进程对应的进程号,则执行命令如下。

ps -e |grep job #查看job进程对应的进程号
​
#安装nginx服务器,并启动nginx服务进程,同时查看进程号,将其强制结束
apt install nginx   #安装nginx服务器

#启动nginx服务器
service nginx start
#查看nginx进程号
ps -e | grep nginx
kill 8145	#结束nginx进程服务的第一种方式
ps -e | grep nginx
 
#启动nginx服务器
service nginx start
ps -e | grep nginx
kill -9 8450	#结束nginx进程服务的第二种方式
ps -e | grep nginx
 
#启动nginx服务器
service nginx start
ps -e | grep nginx
kill -KILL 8533	#结束nginx进程服务的第三种方式
ps -e | grep nginx
4.进程优先级管理

每个进程都有优先级参数用于表示CPU占用的等级,优先级高的进程更容易获取CPU的控制权,进而更早的执行。

进程优先级可以用nice命令表示,以指定的优先级运行指令,会影响相应进程的调度。

如果不指定命令,则程序会显示当前的优先级。

优先级值的范围是从-20(最大优先级)到19(最小优先级),系统进程默认优先级为0。

nice命令格式如下:

nice [选项] [命令[参数]. . .]

其中, "命令”表示进程名, "参数”是该命令所带的参数。

nice命令各选项及其功能说明如表所示。

选项功能说明
-n, --adjustment=N在优先级数值上加上数字N(默认为10)
--help显示此帮助信息并退出
--version显示版本信息并退出

5.2.3 systemd管理Linux系统

systemd是为改进传统系统启动方式而推出的Linux系统管理工具,现已成为大多数Linux发行版的标准配置。它的功能非常强大,除了系统启动管理和服务管理之外,还可以用于其他系统管理任务。

1.systemd与系统初始化

Linux操作系统过程中,当内核启动完成并装载根文件系统后,就开始用户空间的系统初始化工作。

Linux有三种初始化方式:sysVinit、UpStart和systemd方式。

初始化进程始终是第一个进程,其PID始终为1,是系统所有进程的父进程。

systemd系统初始化使用systemd取代初始化进程,作为系统第一个进程。

根据linux惯例,字母d 是守护进程, systemd是一个用户管理系统的守护进程,因而不能写作systemD、SystemD 或Systemd。(严格区分大小写)

systemd使用单元文件替换之前的初始化脚本。

单元文件有多种类型,不限于服务,还包括挂载点、文件路径等。单元文件主要存放在/lib/systemd/system和/etc/systemd/system目录下。

systemd使用启动目标(Target)替代运行级别。

启动目标类似于运行级别,又比运行级别更为灵活,它本身也是一个目标类型的单元,可以更为灵活的为特定的启动目标组织要启动的单元,如启动服务,装载挂载点等。

systemd是Linux操作系统中最新的系统初始化方式,主要的设计目标是克服sysVinit固有的缺点,尽可能地快速启动服务,减少系统资源占用,为此实现了并行启动的模式。并行启动最大的难点是要解决服务之间的依赖性, systemd使用类似缓冲池的办法加以解决。

systemd进一步提高并行启动能力,极大缩短系统启动时间。

与sysVinit兼容,支持并行化任务,按需启动守护进程,基于事务性依赖关系精密控制各种服务,非常有助于标准化Linux管理。

提供超时机制,所有的服务有5min的超时限制,以防系统被卡。

2.systemd单元

初始化时需要启动后台服务,完成一系列配置工作,其中每一个步骤或每一项任务都被systemd抽象为一个单元、一个服务、一个挂载点、一个文件路径都可以被视为单元。

表systemd 单元类型及其功能说明

单元类型配置文件扩展名功能说明
service(服务).service定义系统服务,这是最常用的一类,与早期Linux版本/etc/inut.d目录下的服务脚本的作用相同
device(设备).device定义内核识别的设备,每一个使用udev规则标记的设备都会在systemd 中作为一个设备单元出现
mount(挂载).mount定义文件系统挂载点
automount(自动挂载).automount用于文件系统自动挂载设备
socket (套接字).socket定义系统和互联网中的一个套接字,标识进程间通信用到的socket 文件
swap (交换空间).swap标识用于交换空间的设备
path (路径).path定义文件系统中的文件或目录
timer(定时器).timer用来定时触发用户定义的操作,以取代 atd.crond 等传统的定时器服务
target(目标).target用于对其他单元进行逻辑分组,主要用于模拟实现运行级别概念
snapshot (快照).snapshot快照是一组配置单元,用于保存系统当前的运行状态
3.systemd单元文件

systemd 对服务、设备、套接字和挂载点等进行控制管理,都是由单元文件实现的。

例如,一个新的服务程序要在系统中使用,就需要为其编写一个单元文件以便 systemd 能够管理它,在配置文件中定义该服务启动的命令行语法,以及与其他服务的依赖关系等。

配置文件主要保存目录 (按优先级由低到高列出)

(1)lib/systemd/system	#每个服务最主要的启动脚本

(2)/run/systemd/system	#系统执行过程中所产生的服务脚本

(3)/etc/systemd/system	#由管理员建立的脚本
4.依赖关系

虽然systemd能够在大限度地并发执行很多有依赖关系的工作,但如果一些任务存在先后依赖关系,仍无法并发执行。

systemd的单元之间可以彼此定义依赖关系。

在单元文件中使用关键字来描述单元之间的依赖关系。 如单元A依赖B,可以在单元B的定义中用require A来表示。 这样systemd就会保证先启动 A 再启动 B。

5.systemd事务

systemd能够保证事务完整性。

如单元A、B、C之间存在循环依赖,则systemd将无法启动任意一个服务。

为此, systemd将单元之间的依赖关系分为两种:强依赖(required )和弱依赖(wants)。

systemd将去除wants关键字指定的弱依赖以打破循环。 若无法修复,则systemd会报错。

systemd能够自动检测和修复这类配置错误,极大地减轻了管理员的排错负担。

6.systemctl命令

最主要命令,负责控制systemd系统和服务管理器。

systemctl主要负责控制systemd系统和服务管理器。在ubuntu 、centos等一系列发行版中可用。可以方便的管理需要启动的服务等。可以实现开机自启动、出错重启和定时重启等等功能。

img

命令语法格式如下:

systemctl [选项...] 命令 [单元文件...]

ا不带任何选项和参数运行 systemctl 命令,将列出系统已启动(装载)的所有单元,包括服务、设备、套接字、目标等。

使用不带参数的systemctl status命令,将显示系统当前状态,执行命令如下。

systemctl status

显示完成后按“Q”键退出。

systemcti命令的部分选项提供长格式和短格式,如--all和-a,表示列出所有装载的单元(包括未运行的)。 显示单元属性时,该选项会显示所有的属性。

#语法
systemctl COMMAND name.service
#启动
systemctl start name.service
#停止
systemctl stop name.service
#重启
systemctl restart name.service
#查看状态
systemctl status name.service
#禁止自动和手动启动
systemctl mask name.service
#取消禁止
systemctl unmask name.service
#查看某服务当前激活与否的状态:
systemctl is-active name.service
#查看所有已经激活的服务:
systemctl list-units --type|-t service
#查看所有服务:
systemctl list-units --type service --all
#设定某服务开机自启,相当于chkconfig name on
systemctl enable name.service
#设定某服务开机禁止启动:相当于chkconfig name off
systemctl disable name.service
#查看所有服务的开机自启状态,相当于chkconfig --list
systemctl list-unit-files --type service
#用来列出该服务在哪些运行级别下启用和禁用:chkconfig –list name
ls /etc/systemd/system/*.wants/name.service
#查看服务是否开机自启:
systemctl is-enabled name.service
#列出失败的服务
systemctl --failed --type=service
#开机并立即启动或停止
systemctl enable --now postfix
systemctl disable  --now postfix
#查看服务的依赖关系:
systemctl list-dependencies name.service
#杀掉进程:
systemctl kill unitname
#重新加载配置文件
systemctl daemon-reload
#关机
systemctl halt、systemctl poweroff
#重启:
systemctl reboot
#挂起:
systemctl suspend
#休眠:
systemctl hibernate
#休眠并挂起:
systemctl hybrid-sleep

5.2.4 systemd管理单元

单元管理是systemd最基本、最通用的功能。单元管理的对象可以是所有单元、某种类型的单元、符合条件的部分单元或某一具体单元。单元文件管理也是单元管理的一部分,要注意区分两者之间的不同。

1.单元的活动状态

在执行单元管理操作之前,有必要了解单元的活动状态。

活动状态用于指明单元是否正在运行。

systemd 对此有两类表示形式,一类是高级表示形式,共有以下3个状态。

  • (1) active(活动状态):表示正在运行的

  • (2) inactive(不活动状态):表示没有运行

  • (3) failed(失败状态):表示运行不成功的

另一类是低级表示形式,其值依赖于单元类型,常用的状态列举如下。

  • (1) running:表示一次或多次持续地运行。

  • (2) exited:表示成功完成一次性配置,仅运行一次就正常结束,目前该进程已经没有在运行。

  • (3) waiting:表示正运行中,不过还需要等待其他事件才能继续进行处理。

  • (4) dead:表示没有运行。

  • (5) failed:表示运行不成功。

  • (6) mounted:表示成功挂载文件系统。

  • (7)plugged:表示已接入设备。

高级表示形式是对低级表示形式的归纳,前者是主活动状态,后者是子活动状态。

2.查看单元

可以使用systemctl命令进行单元相关信息查看。

(1) 使用 systemctl list-units 命令列出所有已装载的单元,执行命令如下。

systemctl list-units	#列出所有单元

systemctl list-units --all --state=inactive #列出所有不活动单元

(2)列出包括失败的所有单元

systemctl list-units --all	#列出包括失败的所有单元

(3)加上选项--failed,列出所有运行失败的单元

systemctl list-units --failed	#列出所有运行失败的单元

(4)加上选项--state,列出特定类型的单元

systemctl list-units --all --state=not-found
systemctl list-units --all --state=active #列出所有活动单元
systemctl list-units --all --state=dead

(5)加上选项--type,列出特定类型的单元

systemctl list-units --all --type=device

使用短格式-t,空格之后加参数,不用等号,如列出服务类型

systemctl list-units --all -t service

(6)显示某单元的所有底层参数

systemctl show dev-rfkill.device

3.查看单元的状态

systemctl 提供 status 命令用于查看特定单元的状态

systemctl status dev-rfkill.device

查看单元是否正在运行,处于活动状态

systemctl is-active dev-rfkill.deviceactive
systemctl is-failed dev-rfkill.deviceactive

4.管理单元依赖关系

单元之间存在依赖关系,如 A 依赖于 B,这就意味着启动 A 的时候,也需要启动 B,使用 systemctl list-dependencies 命令列出指定单元的所有依赖关系

systemctl list-units --all
systemctl list-dependencies systemd-tmpfiles-clean.timer

5.列出单元文件

列出单元文件列出系统所有已安装的单元文件,也就是列出所有可用的单元

 systemctl list-unit-files

5.2.5 systemd管理Linux服务

现在的Ubuntu版本使用systemctl命令管理和控制服务,Linux服务作为一种特定类型的单元,配置管理操作被大大简化。传统的service命令依然可以使用,这主要是出于兼容的目的,因此尽量避免使用。

1.服务管理

systemctl主要依靠service类型的单元文件实现服务管理。用户在任何路径下均可通过该命令实现服务状态的转换,如启动、重启、停止服务等。

systemctl 命令格式如下

 systemctl [选项...] 命令 [服务.service...]

使用systemctl命令时服务名的扩展名可以写全,也可以忽略不写。

systemctl 和传统的服务管理命令的对应关系及功能说明如表所示

传统的服务管理命令service 命令功能说明
service 服务名 startsystemctl start 服务名. service启动服务
service 服务名 stopsystemctl stop 服务名. service停止服务
service 服务名 restartsystemctl restart 服务名. service重启服务
service 服务名 statussystemctl status 服务名. service查看服务运行状态
service 服务名 reloadsystemctl reload 服务名. service重载服务的配置文件而不是重启服务
service 服务名 condrestartsystemctl tryrestart 服务名.service条件式重启服务
systemctl reload-or-restart 服务 名.service重载或重启服务
2.配置服务启动状态

Ubuntu经常需要设置或调整某些服务在特定运行时是否启动,可以通过配置服务的启动状态来实现。

(1)查看所有可用的服务,执行命令如下。

systemctl list-unit-files --type-service

(2)查看某服务是否能够开机自启动,执行命令如下。

systemctl is-enable 服务名.service

(3)设置某服务开机自动启动,执行命令如下。

systemctl enable 服务名.service

(4)禁止某服务开机自动启动,执行命令如下。

systemctl disable 服务名.service

(5) 注销某服务,执行命令如下。

systemctl mask 服务名.service

(6)取消注销某服务,执行命令如下。

systemctl unmask 服务名.service

(7)开启某服务,执行命令如下。

systemctl start 服务名.service

(8)停止某服务,执行命令如下。

systemctl stop 服务名.service

5.3 项目实施

5.3.1 网络配置命令管理

Linux主机要想与网络中的其他主机进行通信,必须进行正确的网络配置,网络配置通常包括主机名、IP地址、子网掩码、默认网关、DNS服务器等的配置。

1.查看主机IP地址相关信息

网络主机必须正确配置IP地址、网关、DNS等,网卡IP地址等相关信息配置是否正确决定了主机之间能否相互通信。

使用 ifconfig 命令或 ip addr命令查看网络接口地址信息,执行命令如下

ifconfig	#查看网络接口地址信息,在CentOS系统中可用
ip addr	#linux系统的通用命令,在任何版本的Linux操作系统都可以用

2.配置主机IP地址相关信息

(1)ifconfig命令配置主机IP地址

ifconfig 命令是一个可以用来查看、配置、启用或禁用网络接口的命令。ifconfig 命令可以临时性地配置网卡的IP地址、子网掩码、网关等,使用 ifconfig 命令配置的网络相关信息,在主机重启后就不再存在。

ifconfig 命令格式如下。

ifconfig [网络设备] [选项]


(1)#使用ifconfig命令显示ens33的网卡信息
ifconfig ens33

(2)#关闭和启动网卡,需要在CentOS7系统中演示
ifconfig ens33 down
ifconfig ens33 up

(3)#配置网络接口相关信息,添加IPv6地址,进行相关测试
ifconfig ens33 add 2000::1/64	#添加ipv6地址
ping -6 2000::1	#测试网络连通性

reboot	#重启操作系统
ping -6 2000::1	#测试网络连通性

(4)配置网络接口相关信息
ifconfig ens33 192.168.100.101 netmask 255.255.255.0 broadcast 192.168.100.255	#添加IPv4地址
ifconfig ens33 arp	#启动arp功能
ifconfig ens33 -arp	#关闭arp功能

arp命令用于管理和查看内核ipv4网络ARP缓存。它可用于向缓存表中添加和删除记录。ARP是地址解析协议(Address Resolution Protocol)的缩写,用于找出给定ipv4地址的mac地址。

(2)直接修改IP配置文件

注意:在Ubuntu20.04版本中,没有/etc/network/interfaces文件,而是使用/etc/netplan/01-network-manager-all.yaml文件配置网络 (文件找不到,跳过)

# Let NetworkManager manage all devices on this system
network: #网络
  version: 2 #版本
  renderer: NetworkManager #渲染器
  ethernets: #以太网
    enp0s3: #以太网
      addresses: [192.168.100.101/24]
      dhcp4: no
      dhcp6: no
      gateway4: 192.168.100.1 #网关
      nameservers: #域名服务器
        addresses: [8.8.8.8,114.114.114.114]

注意:一律使用空格,严格注意缩进

修改NetworkManager/NetworkManager.conf 文件内容

[main]
plugins=ifupdown,keyfile

[ifupdown]
managed=true #修改为true

[device]
wifi.scan-rand-mac-address=no

配置完成后重启主机,使配置生效

3.hostnamectl命令配置并查看主机名
hostnamectl [选项] [主机名]

apt-get install manpages-zh	#下载man帮助的中文包
	#修改配置文件

hostnamectl set-hostname zhy 	#修改主机名

cat /etc/hostname	#通过文件查看主机名

安装中文man手册

  1. 第一步 打开终端 输入命令"sudo apt-get install manpages-zh"安装man中文手册

  2. 输入命令"dpkg -L manpages-zh | less"查看安装路径(默认安装路径为/usr/share/man/zh_CN)

sudo apt-get install manpages-zh
dpkg -L manpages-zh | less

q退出

  1. 第二步 打开 ~/.bashrc, 在~/.bashrc中设置中文man别名 在最后一行添加“/usr/share/man/zh_CN’”(“cman”为中文手册别名)

#打开配置文件
sudo vim ~/.bashrc	
#最后一行添加如下信息
alias cman='man -M /usr/share/man/zh_CN'
#刷新配置文件
source ~/.bashrc

  1. 第三步 重启终端,检测安装

man  2 open  #查看英文手册
cman 2 open  #查看中文手册

cman hostnamectl	#查看hostnamectl命令的中文手册

4.route命令管理路由

用来显示并设置Linux的内核中的网络路由表,主要设置静态路由,实现两个不同子网的通信,需要一台连接两个网络的路由器或者同时位于两个网络的网关。

apt install net-tools	#安装相关依赖软件

route	#显示当前路由信息

route add default gw 192.168.100.2	 #配置网关信息
route add -net 192.168.200.0 netmask 255.255.255.0 dev ens33	#增加一条路由
route

route add -net 192.168.200.0 netmask 255.255.255.0 reject#屏蔽一条路由

route del -net 192.168.200.0 netmask 255.255.255.0 reject	#删除一条屏蔽路由

5.ping命令检测网络连通性

ping 命令是 Linux 操作系统中使用非常频繁的命令,用来测试主机之间网络的连通性。

使用的是互联网控制报文协议(ICMP),发送ICMP回送请求,目标主机必须返回ICMP回送应答消息给源主机。如果源主机收到回送应答消息,表示主机可达,否则,不可达。

命令格式如下:

ping [选项] [目标网络]

使用ping命令检测网络连通性

(1)在 Linux 操作系统中使用不带选项的 ping命令后,系统会一直不断地发送检测包,直到按"Ctrl+C"组合键终止,执行命令如下。

ping www.baidu.com

(2)指定回应次数和时间间隔。设置回应次数为4次,时间间隔为1s,执行命令如下。

ping -c 4 -i 1 www.baidu.com	#指定回应次数和间隔,回应4次,间隔为1秒

6.netstat命令查看网络信息

netstat 命令是一个综合的网络状态查看命令,可以从显示的 Linux 操作系统的网络状态信息中得知整个Linux操作系统的网络情况,包括网络连接、路由表、接口状态、网络链路和组播成员等。

其命令格式如下。

netstat [选项]

对应详细参数见 P191

netstat -i	#显示网络界面信息表单
netstat -an | more	#-a:显示所有,-n:直接使用IP地址,而不通过域名服务器
netstat -at	#显示TCP的连接状况
netstat -g	#显示组播成员
7.nslookup命令DNS解析

常用的域名查询命令,用于查询DNS信息。

两种工作模式:

  • 交互模式

    • 用户可以向DNS服务器查询各类主机、域名信息,或者输出域名中的主机列表

  • 非交互模式

    • 用户可以针对一个主机或者域名获取特定的名称或所需信息

使用nslookup命令进行域名的查询

(1)在交互模式下

nslookup
>www.163.com
>exit	#退出

(2)在非交互模式下

nslookup www.baidu.com

8.traceroute命令跟踪路由

用于追踪网络数据包的路由途径,通过这个命令可以知道源计算机到达互联网另一端的主机 的路径。

(1)查看本地到网易(www.163.com)的路由访问情况

apt install traceroute	#安装相关服务
traceroute -q 4 www.163.com	
traceroute -m 5 www.163.com	#将跳数设置为5条
traceroute -n www.163.com	#显示ip地址,不显示主机名

记录按序号从1开始,每个记录是一跳,一跳表示一个网关,每行有4个时间,单位是ms。如果显示的是 * 因为防火墙拦截了返回信息,所以得不到相关信息。

9.ip命令网络配置

用来显示或者操作路由、网络设备、策略路由和隧道。

ip addr show	#查看网络地址配置情况
ip link	#查看链路配置情况
ip route	#查看路由表信息
ip link show ens33
ip -s link ls ens33
ip neigh show

5.3.2 系统监控管理

系统监控是系统管理员的主要工作之一,Linux操作系统提供了各种监控工具以帮助用户完成系统监控工作,本节将对这些工具进行简单介绍。

1.磁盘监控
apt install sysstat	#下载磁盘监控
iostat -c	#只显示CPU利用率
iostat -d	#只显示磁盘利用率
iostat -x	#显示磁盘整体状况

2.内存监控

实时动态的监控操作系统的虚拟内存、进程、磁盘、CPU的活动状况

vmstat -a	#查看内存、磁盘使用情况
vmstat 3 5	#每3s显示一次系统内存统计信息,总共显示5次

3.CPU监控

主要有三个指标:运行队列、CPU使用率、上下文切换

mpstat -P ALL 3	#查看CPU的运行状况,每3秒更新一次

5.3.3 系统日志管理

日志是一个必不可少的安全手段和维护系统的有效工具。日志文件可以用于实现系统审计、监测追踪、事件分析,有助于故障排除。新版本的Ubuntu系统既支持传统的系统日志服务,又支持新型的systemd日志,这是一种改进的日志管理服务。Linux最常用的一个日志记录工具是syslog,其日志不仅可以保存在本地,还可以通过网络发送到另一台计算机上。rsyslog是syslog的多线程增强版,也是Ubuntu默认的日志系统。Rsyslog负责备份和删除旧日志,以及更新日志文件。

1.配置系统日志
cat /etc/rsyslog.conf 	#存放日志信息的文件
cat /etc/rsyslog.d/50-default.conf 

2.配置和使用systemd日志

由守护进程实现。可以收集来自内核、启动过程早期阶段的日志。

journalctl -n 5	#显示最近5条日志条目

journalctl -p err	#按类型查看日志 选项p指定过滤级别的

journalctl -k	#按内核查看日志 选项k查看内核日志

journalctl --since today	#按时间范围查看日志

journalctl --disk-usage	#查看当前日志在磁盘中的大小

  • 0
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值