Linux服务管理之系统管理员需要掌握的命令
systemd的主要命令行工具是systemctl。大多数Linux系统管理员应该都已经非常熟悉系统服务和init系统管理,比如service,chkconfig和telinit命令的使用。systemd也完成同样的管理任务,只是命令工具systemctl的语法有所不同而已。
1. sysvinit和systemd的命令对比列表
下表帮助系统管理员了解systemd中可以取代原先sysvinit工作流程的命令。注意:service和chkconfig这两个命令在systemd环境下依然可用。这里以sshd服务为例:
sysvinit命令 |
systemd命令 |
备注 |
service sshd start |
systemctl start sshd.service |
用来启动一个服务(并不会重启现有的服务) |
service sshd stop |
systemctl stop sshd.service |
用来停止一个服务(并不会重启现有的服务) |
service sshd restart |
systemctl restart sshd.service |
用来停止并启动一个服务 |
service sshd reload |
systemctl reload sshd.service |
当支持时,重新装载配置文件而不中断等待操作 |
service sshd condrestart |
systemctl condrestart sshd.service |
如果服务正在运行,那么重启它 |
service sshd status |
systemctl status sshd.service |
汇报服务是否正在运行 |
ls /etc/rc.d/init.d/ |
systemctl list-unit-files --type=service ls /lib/systemd/system/*.service /etc/systemd/system/*.service |
用来列出可以启动或停止的服务列表 |
chkconfig sshd on |
systemctl enable sshd.service |
在下次启动时或满足其他触发条件时设置服务为启动 |
chkconfig sshd off |
systemctl disable sshd.service |
在下次启动时或满足其他触发条件时设置服务为禁用 |
chkconfig sshd |
systemctl is-enabled sshd.service |
用来检查一个服务在当前环境下被配置为启用还是禁用 |
chkconfig --list |
systemctl list-unit-files --type=service(推荐) ls /etc/systemd/system/*.service |
输出在各个运行级别下服务的启用和禁用情况 |
chkconfig sshd --list |
ls /etc/systemd/system/*.wants/sshd.service |
用来列出该服务在哪些运行级别下启用和禁用 |
chkconfig sshd --add |
systemctl daemon-reload |
当创建新服务文件或者变更设置时使用 |
注意:以上列出的所有/sbin/service 和 /sbin/chkconfig 在systemd环境下依然可以工作,并且在必要的情况下将会被翻译成原生的等效命令。唯一的例外是 chkconfig --list。
sysvinit 和 systemd 改变运行级别命令对比表:
sysvinit命令 |
systemd命令 |
备注 |
telinit 3 |
systemctl isolate multi-user.target 或者 systemctl isolate runlevel3.target OR telinit 3 |
改变至多用户运行级别 |
sed s/^id:.*:initdefault:/id:3:initdefault:/ |
ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target |
设置在下一次启动时使用多用户运行级别 |
sysvinit 和 systemd 电源管理命令对比表:
sysvinit命令 |
systemd命令 |
操作 |
reboot |
systemctl reboot |
重启机器 |
halt -p |
systemctl poweroff |
关机 |
echo standby > /sys/power/statc |
systemctl suspend |
待机 |
echo platform > /sys/power/dist; echo dist > /sys/power/state 或者 echo shutdown > /sys/power/disk;echo dist > /sys/power/state |
systemctl hibernate |
休眠 |
systemctl hybrid-sleep |
混合休眠模式(同时休眠到硬盘并待机) |
关机命令不是每个登录用户在任何情况下都可以执行的,一般只有管理员才可以关机。
2. systemctl命令实例
2.1 systemctl的基本用法
systemctl——列出所有已加载的单元及其状态(单元是任务/服务的术语)。
systemctl list-units——列出所有单元。
systemctl start [NAME...]——启动(激活)一个或多个单元。
systemctl stop [NAME...]——停止(停用)一个或多个单元。
systemctl disable [NAME...]——禁用一个或多个单元文件。
systemctl list-unit-files——显示所有已安装的单元文件及其状态。
systemctl --failed——显示启动过程中哪些单元出现故障。
systemctl --type=xxx——类型过滤器;类型可能是:服务,挂载点,设备,套接字和启动目标。
systemctl enable debug-shell.service——启动TTY 9上的shell,用于调试。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。