Linux学习笔记12 systemd的其他命令

前文已经介绍了systemd在系统初始化中起到的作用和服务的管理和配置。这里补充一下systemd的其他工具和系统进程的管理

前文

Linux学习笔记10 系统启动初始化,服务和进程管理(上)-CSDN博客

Linux学习笔记11 系统启动初始化,服务和进程管理(下)-CSDN博客

systemd的其他命令

systemd-analyse

可以用来分析系统启动时的性能。

复制代码
systemd-analyze [option] [command]

-option有以下选项:

--user

--system

分别是指定命令在什么级别查询systemd实例。

子命令

和systemctl一样,存在子命令。

time命令:输出系统启动时间。

blame:按照占时间长短输出所有正在运行的单元。用来优化系统,缩短启动时间。

critical-chain:输出启动链。

plot:输出服务启动时间和启动用时。

dot:输出单元依赖图

dump:输出详细的可读服务状态。

复制代码
 systemd-analyze plot >a.svg

 systemd-analyze blame

示例

复制代码
systemd-analyze dot | dot -Tsvg >mysvg.svg

hostnamectl

读取,修改主机名:

复制代码
sudo hostnamectl 
sudo hostnamectl set-hostname dreamer

localectl

复制代码
(base) dreamer@dreamerVB:~$ localectl
   System Locale: LANG=zh_CN.UTF-8
                  LANGUAGE=zh_CN:zh
       VC Keymap: n/a
      X11 Layout: cn
       X11 Model: pc105

timedatectl

复制代码
(base) dreamer@dreamerVB:~$ timedatectl
                      Local time: 日 2024-12-01 20:54:53 CST
                  Universal time: 日 2024-12-01 12:54:53 UTC
                        RTC time: 日 2024-12-01 12:54:51
                       Time zone: Asia/Shanghai (CST, +0800)
       System clock synchronized: no
systemd-timesyncd.service active: yes
                 RTC in local TZ: no

loginctl

复制代码
(base) dreamer@dreamerVB:~$ loginctl
   SESSION        UID USER             SEAT             TTY             
         1       1000 dreamer          seat0            tty1            

1 sessions listed.

关于系统的运行级别和状态在systemd中的解释

前文说过,systemd不存在运行级别,只有所谓的目标。

区别:

在运行级别中,系统按照指定的运行级别去启动对应服务。

在启用目标时,系统按照指定的目标对应的依赖去运行对应的服务。

系统的默认运行状态:

运行级别/etc/inittab中设置

默认目标在/lib/systemd/system/default.target中设置

注意:

想像切换运行级别一样,切换目标并不是启动某一个目标就行,而是要使用子命令isolate。

复制代码
sudo systemctl isolate rescue.target
#sudo systemctl start rescue.target 
#使用start试图切换这是错误的

因为start只是启动目标,并不会影响其他目标。

默认目标的话一般是图形化界面。如果是server版本可能是多用户命令行。

关于日志

systemd具有日志管理的模块。

journalctl命令

同样的,它也有很多选项。

复制代码
-h, --help:显示帮助信息。
-V, --version:显示版本信息。
-b, --boot:仅显示当前引导的日志。
-u, --unit=UNIT:仅显示指定单元的日志。
-p, --priority=LEVEL:根据日志级别过滤输出,比如 emerg, alert, crit, err, warning, notice, info, debug。
-t, --identifier=STRING:仅显示带有指定字符串的消息。
-f, --follow:跟踪日志输出,类似于 tail -f。
-n, --lines[=INTEGER]:显示最后几行日志,默认为 10 行。
-r, --reverse:以相反的顺序显示日志。
--since=DATE:显示指定日期之后的日志。
--until=DATE:显示指定日期之前的日志。
-c, --cursor=CURSOR:从指定的游标位置开始显示日志。
-e, --pager-end:启动分页器并直接跳到日志的末尾。
--no-pager:不启动分页器。
-a, --all:显示所有日志,包括已经通过 journalctl --vacuum 删除的日志。
--vacuum-size=SIZE:清理日志文件以保持指定的磁盘空间。
--vacuum-time=TIME:清理早于指定时间的日志。

-k 或 --dmesg: 这个选项用于显示内核消息。它等同于 journalctl /dev/kmsg,会列出与 dmesg 命令相同的内核日志信息。
-S 或 --since=DATE: 这个选项用于指定开始显示日志的时间点。DATE 可以是多种格式,包括绝对时间(例如 "2023-01-01 00:00:00")或者相对时间(例如 "2023-01-01" 或者 "2 hours ago")。
-U 或 --until=DATE: 这个选项与 -S 相反,用于指定停止显示日志的时间点。与 -S 一样,DATE 可以是绝对时间或相对时间。

示例:

复制代码
journalctl -S yesterday -U now
相关推荐
九硕智慧建筑一体化厂家10 分钟前
直流照明|无尘风淋室照明,高均匀无频闪,适配洁净车间高频合规工况
大数据·人工智能·笔记·智慧城市
LATASA16 分钟前
【 从0到1构建 Agent Harness学习笔记】
网络·笔记·学习
weixin_4316004430 分钟前
做 Agent 会用到的 Node API(3):异步与流
前端·学习·ai·agent·ai编程
FakeOccupational32 分钟前
【电路笔记 仿真】SPICE仿真器软件 LTspice:绘制简单电路(新建图页+添加组件)并仿真+模型导入+SUBCKT (子电路)绘制与使用+特殊器件绘制
笔记
lingran__1 小时前
Linux 基础常用指令万字详解(上)|文件目录命令,结合底层原理剖析
linux·运维·服务器·后端·centos·linux基础指令
70asunflower1 小时前
Triton 从 0 到 1 完整学习教程
学习·triton
天国梦1 小时前
2026年英语教学数字化工具深度测评:天学网、腾讯英语君、翼课网横向对比
人工智能·学习
是上好佳佳佳呀2 小时前
【深度学习|Day01】PyTorch 深度学习笔记(上):框架认知与张量基础
pytorch·笔记·深度学习
Dlrb12112 小时前
Linux驱动---sys文件系统自动添加设备节点、添加调试节点以及MISC设备驱动的解释
linux·imx6ull·misc·设备节点·sys文件系统
刘某的Cloud2 小时前
Galera Cluster mariadb 生产环境常见问题排查与运维指南
linux·运维·数据库·mariadb·集群高可用