Linux基础——系统管理
11、Linux系统管理
11.1 Linux中的进程和服务
计算机中,一个正在执行的程序或者命令,被叫做“进程”(process)。
启动后一直存在、常驻内存的进程,一般被称为“服务”
11.2 service服务管理(centos 6版本 了解)
-
基本语法
service 服务名 start | stop | * restart |status
-
经验技巧
守护进程(daemon),linux有很多服务是带有一个.d的结尾。表示的就是当前的服务(进程)是一个守护进程。查看服务的方法:/etc/init.d/服务名,发现只有两个服务保留在service
ls /etc/init.d/
-
案例实操
-
查看网络服务的状态
service network status
-
停止网络服务
service network stop
右上角的网络图标消失了!
-
启动网络服务
service network start
又回来了!
-
重启网络服务
service network restart
-
11.3 chkconfig设置后台服务的自启配置(CentOS 6版本 了解)
-
基本语法
指令 描述 chkconfig 查看所有服务器自启配置 chkconfig 服务名 off 关掉指定服务的自动启动 chkconfig 服务名 on 开启自动服务的自动启动 chkconfig 服务名 --list 查看服务开机启动状态 
-
案例实操
-
开启/关闭network(网络)服务的自动启动
chkconfig network on chkconfig network off -
开启/关闭network服务指定级别的自动启动
chkconfig --level 指定级别 network on chkconfig --level 指定级别 network off
-
11.4systemctl(CentOS 7版本-需掌握)
-
基本语法
systemctl start | stop | restart | status 服务名
-
经验技巧
查看服务的方法:/usr/lib/systemd/system
ls /usr/lib/systemd/system -
实践案例
开启和关闭网络服务
systemctl start network systemctl stop network查看网络服务的状态
systemctl status network
11.5服务开机启动和防火墙的开启和关闭
防火墙服务的指令操作
1)查看防火墙状态
systemctl status firewalld
或者
firewall-cmd --state
# 这两行命令都行,只不过上面的那行命令比较详细
2)关闭防火墙
systemctl stop firewalld
3)开启防火墙
systemctl start firewalld
4)重启防火墙
systemctl restart firewalld
5)开启指定端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
# 返回success 表示添加成功
# -zone=public 表示作用域为公共的
# -add-port=443/tcp 添加tcp协议的端口端口号为443
# -permanent 永久生效,如果没有此参数,则只能维持当前服务生命周期内,重新启动后失效
6)查找指定端口
firewall-cmd --query-port=80/tcp
7)开启端口
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
8)关闭指定端口
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
systemctl restart firewalld.service
firewall-cmd --reload
9)查看端口被哪个进程占用
netstat -lnpt |grep 5672
# centos7默认没有 netstat 命令,需要安装 net-tools 工具:
# 安装 net-tools
yum install -y net-tools
10)查看已开启的端口
firewall-cmd --list-ports
开机启动时服务的启用和关闭
1)设置防火墙开机时为启动状态
systemctl enable firewalld.service
2)设置防火墙开机时为禁用(关闭)状态
systemctl disable firewalld.service
11.6 systemctl设置后台服务的自启配置和系统运行级别
1.后台服务自启配置
-
基本语法
指令 描述 systemctl list-unit-files 查看服务开机启动状态 systemctl disable service_name 关掉指定服务的自动启动 systemctl enable service_name 开启服务的自动启动 -
实操
开启/关闭iptables(防火墙)服务的自动启动
systemctl enable firewalld.service systemctl disable firewalld.service
2、系统运行级别
Linux有对应的配置图形化界面,在命令行终端,输入setup敲回车即可进入Linux的图形化界面进行配置服务开机自启等操作。
选择系统服务

服务名前面括号里面有*号的即为开机自启服务
是否自启服务:按下空格键可在自启/关闭之间来回切换
如果想要退出的话,按下tab键
注意观察的话可以看出来,这里面的服务有两个尖括号标签,也就是服务被分为了两类:
SysV initscritps:老版本的启动脚本,里面只包含了
netconsole和networksystemd services:Centos 7所有的服务都基于 systemd守护进程
扩展知识:
Linux是基于unix进行的设计和优化。unix对系统服务的管理影响延续到了Linux。unix中有一个非常重要、稳定的版本,他就叫system V(system 5)。在这个版本里面,系统第一个启动的进程是init。接下来init会调用init.d目录下所有的脚本来启动相对应服务的守护进程。
我们在这里说的init进程其实是整个系统在Linux内核初始化之后主动启动的第一个用户进程。之后Linux进程就会根据用户自己定义的系统运行级别来启动不同的服务进程。
这里就涉及到了一个概念:系统运行级别
1)linux运行级别【CentOS 6】,如下图

2)CentOS7的运行级别简化为:
multi-user.target 等价于原运行级别3(多用户有网,无图形界面)
graphical.target 等价于原运行级别5(多用户有网,有图形界面)
3)查看当前运行级别:
systemctl get-default
4)修改当前运行级别
systemctl set-default TARGET.target (这里TARGET取 multi-user 或者 graphical)
init 3 可以进入运行级别3
init 5 可以进入到运行级别5
11.7 关机重启命令
在 linux 领域内大多用在服务器上,很少遇到关机的操作。毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机。
1)基本语法
-
sync 将数据由内存同步到硬盘中
-
halt 停机,关闭系统,但不断电
-
poweroff 关机,断电
-
reboot 就是重启,等同于 shutdown-r now
-
shutdown [选项] 时间
表1
选项 功能 -H 相当于--halt,停机 -r -r=reboot 重启 表2
参数 功能 now 立即关机 时间 等待多久后关机(时间的单位是分钟)。
2)经验技巧
Linux 系统中为了提高磁盘的读写效率,对磁盘采取了 “预读迟写”操作方式。当用户 保存文件时,Linux 核心并不一定立即将保存数据写入物理磁盘中,而是将数据保存在缓 冲区中,等缓冲区满时再写入磁盘,这种方式可以极大的提高磁盘写入数据的效率。但是, 也带来了安全隐患,如果数据还未写入磁盘时,系统掉电或者其他严重问题出现,则将导 致数据丢失。使用 sync 指令可以立即将缓冲区的数据写入磁盘。
3)案例实操
-
将数据由内存同步到硬盘中
[root@hadoop100 桌面]#sync -
重启
[root@hadoop100 桌面]# reboot -
停机(不断电)
[root@hadoop100 桌面]#halt -
计算机将在 1 分钟后关机,并且会显示在登录用户的当前屏幕中
[root@hadoop100 桌面]#shutdown -h 1 ‘This server will shutdown after 1 mins’ -
立马关机(等同于 poweroff)
[root@hadoop100 桌面]# shutdown -h now -
系统立马重启(等同于 reboot)
[root@hadoop100 桌面]# shutdown -r now

浙公网安备 33010602011771号