商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 系统应用 > Linux 服务管理

Linux 服务管理

  发布于2026-08-19 阅读(0)

扫一扫,手机访问

介绍

欢迎参加本次关于 Linux 服务管理的实践实验。Linux 中的服务是处理关键系统功能(如网络连接、日志记录、打印等)的后台进程。高效管理这些服务是 Linux 管理员必备的技能。

在本次实验中,你将学习如何使用 CODE0 命令,它是 CODE1 套件的一部分,而 CODE_2 是大多数现代 Linux 发行版的标准初始化系统和服务管理器。你将练习检查服务状态、通过启动和停止服务来控制它们,以及在系统启动时配置服务行为。

在本次实验结束时,你将掌握 Linux 服务管理的基础知识,从而能够在 Linux 环境中有效控制系统服务。

理解并检查系统服务状态

在这一步中,你将学习如何使用 CODE_0 命令检查系统服务的状态。了解服务状态是有效管理服务的第一步。

什么是系统服务?

系统服务(或守护进程)是在后台运行以执行各种系统任务的程序。它们通常在系统启动时启动,并持续运行直到系统关闭。例如,Web 服务器、数据库服务器、SSH 服务器和打印服务等。

检查服务状态

让我们从检查 SSH 服务(sshd)的状态开始,该服务通常用于远程访问 Linux 系统:

  1. 在 LabEx 虚拟机环境中打开一个终端。你应该已经位于默认目录 CODE_0
  1. 运行以下命令来检查 SSH 服务的状态:

```bash
systemctl status sshd
```

你应该会看到类似以下的输出:

```
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2023-10-25 08:15:00 UTC; 1h 30min ago
Docs: man:sshd(8)
man:sshd_config(5)
Process: 1234 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
Main PID: 1235 (sshd)
Tasks: 1 (limit: 4915)
Memory: 5.6M
CPU: 500ms
CGroup: /system.slice/ssh.service
└─1235 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups
```

这个输出呈现了关于该服务的关键信息:
- Loaded:表明服务的加载状态,以及是否被设置为在系统启动时自动启动
- Active:展示服务当前是否处于运行中
- Process/Main PID:显示服务的进程标识符
- Memory/CPU:呈现资源的使用状况
- Logs:列出与该服务相关的近期日志条目

  1. 如果你需要检查其他服务的状态,可以将 CODE_0 替换为该服务的名称。例如,要检查 Apache Web 服务器(如果已安装)的状态:

```bash
systemctl status apache2
```

列出所有服务

你可以使用以下命令列出系统上的所有服务:

  1. 列出所有活动的服务:

```bash
systemctl list-units --type=service --state=active
```

此命令将显示系统上当前所有活动的服务。

  1. 列出所有服务,无论其状态如何:

```bash
systemctl list-units --type=service --all
```

创建服务列表文件

现在,让我们创建一个文件来存储系统上所有正在运行的服务的列表:

  1. 在当前目录中创建一个名为 CODE_0 的文件,运行以下命令:

```bash
systemctl list-units --type=service --state=running > ~/project/services_list.txt
```

此命令执行 CODE0 并将其输出重定向到项目目录中名为 CODE1 的文件。

  1. 验证文件是否已创建并包含数据:

```bash
cat ~/project/services_list.txt
```

你应该会看到系统上所有正在运行的服务的列表。

在这一步中,你学习了如何检查服务的状态以及如何创建系统上所有正在运行的服务的列表。这些信息对于了解哪些服务处于活动状态以及它们的配置方式非常有价值。

控制系统服务:启动、停止和重启

在这一步中,你将学习如何启动、停止和重启系统服务。这些操作对于服务维护、故障排除和应用配置更改至关重要。

启动和停止服务

让我们练习控制 SSH 服务:

  1. 首先,检查 SSH 服务的当前状态:

```bash
systemctl status sshd
```

注意该服务当前是处于活动状态还是非活动状态。

  1. 现在,停止 SSH 服务:

```bash
sudo systemctl stop sshd
```

此命令会立即停止该服务。如果操作成功,此命令不会有输出。

  1. 验证服务是否已停止:

```bash
systemctl status sshd
```

输出现在应该显示该服务为“inactive (dead)”:

```
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Wed 2023-10-25 10:15:00 UTC; 5s ago
```

  1. 再次启动该服务:

```bash
sudo systemctl start sshd
```

  1. 验证服务是否已启动:

```bash
systemctl status sshd
```

输出应该显示该服务再次处于“active (running)”状态。

重启服务

重启服务是一项常见操作,尤其是在更改其配置之后:

  1. 要重启 SSH 服务:

```bash
sudo systemctl restart sshd
```

此命令会先停止服务,然后再启动它。

  1. 要验证重启情况,检查服务状态:

```bash
systemctl status sshd
```

查看“Active”行,了解服务最后一次启动的时间。

创建服务控制命令参考文件

让我们创建一个包含你所学命令的参考文件:

  1. 在你的项目目录中创建一个名为 CODE_0 的文件:

```bash
echo "Service Control Commands:" > ~/project/servicecontrol.txt
echo "Start a service: sudo systemctl start name>" >> ~/project/servicecontrol.txt
echo "Stop a service: sudo systemctl stop name>" >> ~/project/servicecontrol.txt
echo "Restart a service: sudo systemctl restart name>" >> ~/project/service_control.txt
```

  1. 验证文件内容:

```bash
cat ~/project/service_control.txt
```

在这一步中,你学习了如何通过启动、停止和重启服务来控制它们。这些操作是 Linux 系统中服务管理和维护的基础。

管理服务启动行为:启用和禁用

在这一步中,你将学习如何配置服务在系统启动时是否自动启动。这对于确保系统重启后所需服务无需手动干预即可使用非常重要。

理解服务启动配置

服务可以配置为在系统启动时自动启动(启用),也可以配置为需要手动启动(禁用)。此配置与服务的当前运行状态无关。

检查服务是否已启用

  1. 要检查 SSH 服务是否配置为在系统启动时启动:

```bash
systemctl is-enabled sshd
```

输出将是“enabled”(在系统启动时启动)或“disabled”(在系统启动时不启动)。

禁用服务

当你禁用一个服务时,你是在配置它在系统启动时不自动启动:

  1. 禁用 SSH 服务:

```bash
sudo systemctl disable sshd
```

你应该会看到一条消息,表明符号链接已被移除:

```
Removed /etc/systemd/system/multi-user.target.wants/ssh.service.
```

  1. 验证该服务现在是否已被禁用:

```bash
systemctl is-enabled sshd
```

输出应该是“disabled”。

  1. 请注意,禁用服务并不会停止当前正在运行的服务。检查当前状态:

```bash
systemctl status sshd
```

即使该服务现在已被禁用,下次系统启动时不会自动启动,但它可能仍然处于活动状态。

启用服务

当你启用一个服务时,你是在配置它在系统启动时自动启动:

  1. 重新启用 SSH 服务:

```bash
sudo systemctl enable sshd
```

你应该会看到一条消息,表明符号链接已被创建:

```
Created symlink /etc/systemd/system/multi-user.target.wants/ssh.service → /lib/systemd/system/ssh.service.
```

  1. 验证该服务现在是否已启用:

```bash
systemctl is-enabled sshd
```

输出应该是“enabled”。

组合命令

你还可以在一个命令中组合启用/禁用和启动/停止操作:

  1. 要在一个命令中禁用并停止一个服务:

```bash
sudo systemctl disable --now sshd
```

  1. 要在一个命令中启用并启动一个服务:

```bash
sudo systemctl enable --now sshd
```

创建服务启动配置参考文件

让我们创建一个包含你所学命令的参考文件:

  1. 在你的项目目录中创建一个名为 CODE_0 的文件:

```bash
echo "Service Boot Configuration Commands:" >> ~/project/service_boot.txt
echo "Check if a service is enabled: systemctl is-enabled " >> ~/project/service_boot.txt
echo "Enable a service to start at boot: sudo systemctl enable " >> ~/project/service_boot.txt
echo "Disable a service from starting at boot: sudo systemctl disable " >> ~/project/service_boot.txt
echo "Enable and immediately start a service: sudo systemctl enable --now " >> ~/project/service_boot.txt
echo "Disable and immediately stop a service: sudo systemctl disable --now " >> ~/project/service_boot.txt
```

  1. 验证文件内容:

```bash
cat ~/project/service_boot.txt
```

在这一步中,你学习了如何通过启用和禁用服务来管理服务的启动行为。这对于配置哪些服务在系统启动时自动启动至关重要,可确保必要的服务可用,同时避免不必要的服务消耗资源。

总结

在本次实验中,你学习了使用 CODE_0 命令进行 Linux 服务管理的基础知识。你练习了每个 Linux 管理员都应该掌握的基本技能:

  1. 检查服务状态:你学习了如何查看服务的当前状态,这对于监控和故障排除至关重要。
  2. 控制服务:你练习了启动、停止和重启服务,这些都是进行维护和配置更改所需的基本操作。
  3. 管理启动行为:你学习了如何在系统启动时启用和禁用服务,从而可以控制哪些服务在重启后自动运行。

这些技能为在 Linux 环境中进行有效的服务管理奠定了基础。随着你继续使用 Linux 系统,你会发现这些命令对于维护系统稳定性和性能至关重要。

请记住,正确的服务管理对于系统安全、资源优化以及确保必要功能在需要时可用至关重要。你在本次实验中获得的知识将为更高级的 Linux 管理任务打下基础。

本文转载于:https://labex.io/zh/tutorials/linux-linux-service-managing-271377 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。
  • 在线 Fedora 演练场与环境 正版软件
    在线 Fedora 演练场与环境
    介绍 LabEx在线Fedora终端可是个好东西,它构建了一个全方位的在线Fedora终端与沙盒环境。在这里,用户无需在本地进行任何复杂配置,就能享受到完整的Fedora使用体验。这个平台功能多样,无论是Fedora新手,还是系统管理员和开发人员,都能在这里找到适合自己的探索与实验空间,尽情地钻研各
    27分钟前 0
  • 在线 CentOS 演练场与实验环境 正版软件
    在线 CentOS 演练场与实验环境
    介绍 LabEx在线CentOS终端,为您呈现一个全方位的在线CentOS终端及沙盒环境。在这里,您无需在本地进行繁琐的安装与配置,就能畅享完整的CentOS使用体验。这个平台功能强大,无论是CentOS的初学者,还是经验丰富的系统管理员与开发者,都能在这里找到满足自己需求的空间,它是探索和实验各类
    27分钟前 0
  • 在线 Alpine 演练场与环境 正版软件
    在线 Alpine 演练场与环境
    介绍 LabEx在线Alpine终端,为您提供一个全能的在线Alpine终端与沙盒环境。在这里,您无需在本地进行任何繁琐配置,就能畅享完整的Alpine Linux体验。这个轻量级平台功能多样,不仅能满足普通用户的日常需求,还适用于系统管理员和开发人员,是您探索和实验各种Alpine及容器技术的理想
    28分钟前 0
  • 在线 Arch 演练场与环境 正版软件
    在线 Arch 演练场与环境
    介绍 LabEx在线Arch Linux终端,为您打造全面的在线Arch Linux终端与沙盒环境,无需本地配置,即可畅享完整的Arch Linux体验。这一多功能平台,无论是Linux爱好者、系统管理员还是开发者,都能从中受益,它是借助CODE_0探索和试验前沿Arch Linux技术的理想之选。
    29分钟前 0
  • Linux 网络连接 正版软件
    Linux 网络连接
    介绍 欢迎来到超自然学院的数字领域,在这里魔法与技术的界限变得模糊。作为学院备受尊敬的数字艺术图书管理员,你负责保护那些已为 21 世纪数字化的古老神秘文本。然而,数字化程度越高,责任越大——这些文本的安全依赖于一个维护良好且安全的网络。 在这个实验中,你将深入网络连接的超自然领域。你将学习如何使用
    1小时前 14:02 0