当前位置: 首页 > news >正文

Linux 系统管理基础教程

一、引言

在 Linux 系统中,系统管理是一项至关重要的任务,它涉及到进程和服务的管理、系统运行级别的控制以及关机重启等操作。本文将详细介绍 Linux 系统管理的基础知识,帮助读者更好地理解和掌握 Linux 系统的管理技巧。

二、Linux 中的进程和服务

2.1 进程

在计算机中,一个正在执行的程序或命令被叫做 “进程”(process)。进程是系统进行资源分配和调度的基本单位。

2.2 服务

启动之后一直存在、常驻内存的进程,一般被称作 “服务”(service)。服务通常在系统启动时自动启动,并在后台持续运行,为系统提供各种功能。

三、systemctl 服务管理

3.1 CentOS 7 的服务管理特点

CentOS 7 使用 Systemd 管理守护进程。采用 systemd 管理的服务独立运行在内存中,服务响应速度快,但占用更多内存。独立服务的服务启动脚本都在目录 /usr/lib/systemd/system 里。Systend 具有以下新特性:

  • 系统引导时实现服务的并行启动;
  • 按需激活进程;
  • 系统实现快照;
  • 基于依赖关系定义服务的控制逻辑。

3.2 systemctl 参数说明

3.2.1 基本语法
systemctl start | stop | restart | status | reload 服务名

systemctl 指令管理的服务在 /usr/lib/systemd/system ,查看服务的方法:pwd /usr/lib/systemd/system

3.2.2 参数列表
参数参数说明
start立刻启动后面接的 unit
stop立刻关闭后面接的 unit
restart立刻关闭后启动后面接的 unit,亦即执行 stop 再 start 的意思
reload不关闭后面接的 unit 的情况下,重载配置文件,让设定生效
enable设定下次开机时,后面接的 unit 会被启动
disable设定下次开机时,后面接的 unit 不会被启动
status目前后面接的这个 unit 的状态,会列出是否正在执行、是否开机启动等信息。
is-active目前有没有正在运行中
is-enable开机时有没有预设要启用这个 unit
kill向运行 unit 的进程发送信号
show列出 unit 的配置。
mask注销 unit,注销后你就无法启动这个 unit 了
unmask取消对 unit 的注销
list-units依据 unit 列出目前有启动的 unit。若加上 –all 才会列出没启动的。(等价于无参数)
list-unit-files列出所有已安装 unit 以及他们的开机启动状态(enabled、disabled、static、mask)。
–type=TYPE就是 unit type,主要有 service,socket,target 等
get-default取得目前的 target
set-default设定后面接的 target 成为默认的操作模式
isolate切换到后面接的模式
3.2.3 unit file 结构

文件通常由三部分组成:

  • Unit:定义与 Unit 类型无关的通用选项;用于提供 unit 的描述信息,unit 行为及依赖关系等。
  • Service:与特定类型相关的专用选项;此处为 Service 类型。
  • Install:定义由 "systemctl enable" 及 "systemctl disable" 命令在实现服务启用或禁用时用到的一些选项。
3.2.4 常用选项
  • Unit 段的常用选项

    • Description:描述信息,意义性描述;
    • After:定义 unit 的启动次序;表示当前 unit 应晚于哪些 unit 启动;其功能与 Before 相反;
    • Requies:依赖到其它的 units;强依赖,被依赖的 units 无法激活时,当前的 unit 即无法激活;
    • Wants:依赖到其它的 units;弱依赖;
    • Confilcts:定义 units 的冲突关系;
  • Service 段的常用选项

    • Type:用于定义影响 ExecStart 及相关参数的功能的 unit 进程类型;类型有:simple、forking、oneshot、dbus、notify、idle。
    • EnvironmentFile:环境配置文件;
    • ExecStart:指明启动 unit 要运行的命令或脚本;ExecStart, ExecStartPost
    • ExecStop:指明停止 unit 要运行的命令或脚本;
    • Restart:重启相关配置
  • Install 段的常用配置

    • Alias:别名
    • RequiredBy:被哪些 unit 所依赖;
    • WantBy:被哪些 unit 所依赖;

3.3 systemctl 使用示例

3.3.1 查看开机启动列表
systemctl list-unit-files [ | grep 服务名] (查看服务开机启动状态, grep 可以进行过滤)
systemctl list-unit-files
systemctl list-unit-files | grep firewalld
3.3.2 设置开机启动
# 设置开机启动并现在启动
systemctl enable --now firewalld
# 查看服务启动状态
systemctl status firewalld
3.3.3 取消开机启动
# 取消开机启动并现在就停止服务
systemctl disable --now firewalld
# 查看服务状态是否停止
systemctl status firewalld
# 查看启动列表
systemctl list-unit-files |grep firewalld
3.3.4 开启服务
systemctl start firewall
3.3.5 关闭服务
systemctl stop firewall
3.3.6 重启服务
systemctl restart 服务名
3.3.7 重新加载配置
systemctl reload 服务名
3.3.8 输出服务运行的状态
systemctl status 服务名
systemctl status firewalld
3.3.9 检查 service 是否在启动状态
systemctl is-active 服务名
systemctl is-active NetworkManager
3.3.10 检测 unit 单元是否为自动启动
systemctl is-enabled 服务名
systemctl is-enabled firewalld
3.3.11 注销一个服务
systemctl mask firewalld
3.3.12 取消注销服务
systemctl unmask firewalld
3.3.13 显示单元的手册页
systemctl help
3.3.14 重新加载配置文件
systemctl daemon-reload
3.3.15 查看 systemd 资源使用率
systemd-cgtop
3.3.16 杀死服务
systemctl kill xinetd
systemctl is-failed xinetd

四、系统运行级别

4.1 Linux 运行级别 CentOS 6

CentOS 6 有多种运行级别,每个运行级别对应不同的系统状态。

4.2 CentOS 7 的运行级别

CentOS 7 的运行级别简化为:

  • multi-user.target:等价于原运行级别 3(多用户有网,无图形界面)
  • graphical.target:等价于原运行级别 5(多用户有网,有图形界面)

4.3 查看当前运行级别

systemctl get-default

4.4 修改当前运行级别

systemctl set-default graphical.target

五、关机重启命令

5.1 关机重启命令汇总

命令功能用户权限详细说明
halt关机root 用户halt:只关闭系统,电源还在运行;halt -p:关闭系统,关闭电源(先执行 halt,再执行 poweroff)
poweroff关机root 用户poweroff 会发送一个关闭电源的信号给 acpi
reboot重启root 用户
shutdown-h:关机
-r:重启
-c:取消 shutdown 操作
root 用户shutdown 实际上是调用 init 0, init 0 会 cleanup 一些工作然后调用 halt 或者 poweroff
shutdown -r now:一分钟后重启
shutdown -r 05:30:最近的 5:30 重启
shutdown -r +10:十分钟后重启
initinit 0:关机
init 6:重启
root 用户init:切换系统的运行级别
systemctlsystemctl halt [-i]:关机 systemctl poweroff [-i]:关机 systemctl reboot [-i]:重启普通用户 超级用户普通用户需要加 -i root 用户不需要加 -i

5.2 shutdown 命令

5.2.1 基本格式
shutdown [选项] [时间] [警告信息]
5.2.2 选项说明
  • -h:关机
  • -r:重启
  • -c:取消 shutdown 执行的关机或者重启命令
  • -k:不关机,发出警告
5.2.3 时间说明
  • shutdown:一分钟后关机(默认)
  • shutdown now:立刻关机
  • shutdown 10:10 分钟后关机
  • shutdown 05:00:5 点关机
5.2.4 示例
shutdown -r now:系统立马重启(等同于 reboot)
shutdown -r 05:30:最近的 5:30 重启
shutdown -r 10:十分钟后重启
shutdown -h now:立马关机(等同于 poweroff)
shutdown -h 05:30:最近的 5:30 关机
shutdown -h +10:十分钟后关机
shutdown -c:取消上面的关机重启操作
shutdown -k +10 “I will shutdown in 10 minutes”:10 分钟后并不会真的关机,但是会把警告信息发给所有的用户。

5.3 sync 命令

sync 是 linux 同步数据命令,将数据由内存同步到硬盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件。

5.3.1 使用示例
sync 
5.3.2 使用场景
  • 在关机或者开机之前最好多执行这个几次,以确保数据写入硬盘。
  • 挂载时,需要很长时间的操作动作(比如,cp 大文件,检测文件),在这个动作之后接 sync。
  • 卸载 U 盘或其他存储设备,需要很长时间,使用 sync。
http://www.lryc.cn/news/587874.html

相关文章:

  • 图像分割论文中的评价指标
  • 从零实现一个基于 mem0的具有长期记忆的Text2SQL代理
  • R 语言科研绘图第 64 期 --- 哑铃图
  • 当前(2024-07-14)视频插帧(VFI)方向的 SOTA 基本被三篇顶会工作占据,按“精度-速度-感知质量”三条线总结如下,供你快速定位最新范式
  • 设计模式》》门面模式 适配器模式 区别
  • js与vue基础学习
  • Linux 基础命令详解:从入门到实践(1)
  • 基于Hadoop的竞赛网站日志数据分析与可视化(上)
  • STM32介绍和GPIO
  • Spring Boot启动原理:从main方法到内嵌Tomcat的全过程
  • Datawhale AI夏令营-基于带货视频评论的用户洞察挑战赛
  • [Python] -实用技巧4-Python中浅拷贝与深拷贝的区别详解
  • 工业软件加密锁复制:一场技术与安全的博弈
  • 借助DeepSeek编写输出漂亮表格的chdb客户端
  • 终端安全最佳实践
  • IIS错误:Service Unavailable HTTP Error 503. The service is unavailable.
  • SpringAi笔记
  • OpenCV 视频处理与摄像头操作详解
  • MySQL Innodb Cluster配置
  • 【CV综合实战】基于深度学习的工业压力表智能检测与读数系统【3】使用OpenCV读取分割后的压力表读数
  • DiffDet4SAR——首次将扩散模型用于SAR图像目标检测,来自2024 GRSL(ESI高被引1%论文)
  • vue-v-model进阶-ref-nextTick
  • 网络安全核心定律
  • 5G 到 6G通信技术的革新在哪里?
  • libimagequant windows 编译
  • 基于Python的就业数据获取与分析预测系统的设计与实现
  • Boost.Asio 异步写:为什么多次 async_write_some 会导致乱序,以及如何解决
  • 机器学习中的朴素贝叶斯(Naive Bayes)模型
  • 微软发布BioEmu模型
  • Web3:Foundry使用指南