Linux之systemctl命令基本使用

1. systemctl 管理指令

  1. 基本语法: systemctl [start | stop | restart | status] 服务名
  2. systemctl 指令管理的服务在 /usr/lib/systemd/system 查看
    在这里插入图片描述

2. systemctl 设置服务的自启动状态

  1. systemctl list-unit-files [ | grep 服务名] (查看服务开机启动状态, grep 可以进行过滤)
    在这里插入图片描述
  2. systemctl enable 服务名 (设置服务开机启动),对 3 (无界面)和 5 (GUI)运行级别都生效
  3. systemctl disable 服务名 (关闭服务开机启动),对 3 (无界面)和 5 (GUI)运行级别都生效
  4. systemctl is-enabled 服务名 (查询某个服务是否是自启动的)
    在这里插入图片描述
    在这里插入图片描述

3. 应用案例:

  • 查看当前防火墙的状况,关闭防火墙和重启防火墙。=> firewalld.service(服务名)
    可以写一半再查看完整的服务名,一般也可以简写:firewalld.service = firewall
    在这里插入图片描述
  • 说明防火墙是一个自启的状态,Linux系统启动的时候防火墙也会自启。
    在这里插入图片描述
  • 查看防火墙的状态,现在是运行中:
systemctl status firewalld

在这里插入图片描述

  • 关闭防火墙:
systemctl stop firewalld

在这里插入图片描述

  • 开启防火墙:
systemctl start firewalld

在这里插入图片描述

4. 细节讨论:

  1. 关闭或者启用防火墙后,立即生效。[telnet 测试 某个端口即可]
    在这里插入图片描述
  • 案例演示:查看 111 端口的状态
    在这里插入图片描述

在这里插入图片描述

  • 访问不到,说明防火墙没放行这个端口
    在这里插入图片描述
  • 当把防火墙关闭的时,就能连接上111端口了,其他端口都是开启的状态
    在这里插入图片描述
  1. 这种方式(systemctl start/stop firewalld)开启或关闭某个服务只是临时生效,当重启系统后,还是回归以前对服务的设置。
  2. 如果希望设置某个服务自启动或关闭永久生效,要使用 systemctl [enable|disable] 服务名
  • 先用 systemctl is-enabled 服务名 (查询某个服务是否是自启动的) 命令查看这个服务是不是自启动的状态
    在这里插入图片描述
  • 使用 systemctl stop firewalld 关闭防火墙,发现还是处于自启动状态。
    在这里插入图片描述
  • 使用 systemctl disable firewalld时,下次重启系统时防火墙还是处于关闭的状态
    在这里插入图片描述
  • 重新打开自启动防火墙:
    在这里插入图片描述
原文地址:https://www.cnblogs.com/xdr630/p/15254647.html