linux学习五
一.系统服务管理
1.概念
服务(service) 本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程
序的请求,比如(mysql , sshd 防火墙等),因此我们又称为守护进程,是Linux中非常重要的
知识点。
2.指令
service 服务名 [start | stop | restart | reload | status]
在CentOS7.0后 不再使用service ,而是 systemctl
3.案例
1) 查看当前防火墙的状况,关闭防火墙和重启防火墙。
service iptables status
service iptables start
service iptables stop
注:centeros后面的版本指令:
systemctl start 服务名称
systemctl stop 服务名称
systemctl status 服务名称
systemctl restart 服务名称
systemctl status firewalld
systemctl stop firewalld
systemctl start firewalld
systemctl restart firewalld
可以通过测试来判断:
windows命令:telnet ip 端口
4.查看所有服务
方式1:使用setup -> 系统服务 就可以看到。
方式2: /etc/init.d/服务名称
5.服务的运行级别
服务的运行级别(runlevel): 查看或者修改默认级别: vi /etc/inittab
查看或者修改默认级别: vi /etc/inittab
Linux系统有7种运行级别(runlevel):常用的是级别3和5
• 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
• 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
• 运行级别2:多用户状态(没有NFS),不支持网络
• 运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
• 运行级别4:系统未使用,保留
• 运行级别5:X11控制台,登陆后进入图形GUI模式
• 运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
开机的流程说明:
开机--> BIOS--> boot--> init进程1--> 运行级别---> 运行级对应的服务
6.chkconfig指令
介绍 通过chkconfig 命令可以给每个服务的各个运行级别设置自启动/关 • 基本语法 1) 查看服务 chkconfig --list|grep xxx 2) chkconfig 服务名 --list 3) chkconfig --level 5 服务名 on/off

注意:用指令设置完成之后,需要重启机器!
还有就是如果chkconfig在7以后很多都不能用了,要使用systemctl这个指令了
7.top指令
top与ps命令很相似。它们都用来显示正在执行的进程。 Top与ps最大的不同之处,在于top
在执行一段时间可以更新正在运行的的进程
top [选项]
选项 | 功能 |
-d 秒数 | 指定top命令每隔几秒更新。 默认是3秒在top命令的交互模式当中可以执行的 命令: |
-i | 使top不显示任何闲置或者僵死进程。 |
-p | 通过指定监控进程ID来仅仅监控某个进程的状态。 |
交互操作说明:
案例1.监视特定用户
top:输入此命令,按回车键,查看执行的进程。
u:然后输入“u”回车,再输入用户名,即可
案例2: 终止指定的进程。
top:输入此命令,按回车键,查看执行的进程。
k:然后输入“k”回车,再输入要结束的进程ID号
案例3:指定系统状态更新的时间(每隔10秒自动更新):
操作 | 功能 |
P | 以CPU使用率排序, 默认就是此项 |
M | 以内存的使用率排序 |
N | 以PID排序 |
q | 退出top |
8.netstat指令(查看系统中开放的端口)
• 基本语法 netstat [选项] • 选项说明 -an 按一定顺序排列输出 -p 显示哪个进程在调用
netstat -tunlp • 应用案例 请查看服务名为 sshd 的服务的信息。
netstat -anp | grep sshd
9.selinux
SELinux是Linux系统上一个常见的安全软件
1.查看selinux的状态
getenforce
[root@qishi ~]# getenforce Enforcing #这是强制开启状态
2.临时关闭selinux(重启失效)
setenforce 0
3.永久关闭selinux
编辑selinux配置文件 vim /etc/selinux/config 将SELINUX=enforcing改为SELINUX=disabled 保存退出
10.防火墙
iptables -L # 查看系统防火墙规则 iptables -F # 清空所有防火墙规则 systemctl stop firewalld # 停止防火墙 systemctl status firewalld # 查看防火墙运行状态 systemctl start firewalld # 启动 systemctl disable firewalld # 永久关闭防火墙
11.DNS(Domain Name System,域名系统)
解析原理:
1 我在本地访问www.baidu.com 2 首先会从本地DNS缓存中去查找,如果没有 3 就会去本地hosts文件中去查找,如果没有 4 去公网的DNS服务器查看是否有此域名解析记录,如果还没有 5 说明此域名没有在公网注册解析
hosts文件:
/etc/hosts
8.8.8.8 #谷歌的DNS
114.114.114.114 #114的DNS
119.29.29.29 # 腾讯的DNS
223.5.5.5 # 马云的DNS
223.6.6.6 # 马云的DNS
电信的DNS
202.96.134.133
202.96.134.134
202.96.128.86
12.
域名解析)用来将域名解析为IP
nslookup
nslookup www.baidu.com
二.包管理
1.rpm介绍
介绍:
一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成
具有.RPM扩展名的文件。 RPM是RedHat Package Manager(RedHat软件包管理工
具)的缩写,类似windows的setup.exe,这一文件格式名称虽然打上了RedHat的
标志,但理念是通用的。
Linux的分发版本都有采用(suse,redhat, centos 等等),可以算是公认的行业标
准了
2.rpm使用
rpm包的简单查询指令: 查询已安装的rpm列表 rpm –qa|grep xx (查询所有的,过滤出我们要的)
rpm包名基本格式:
一个rpm包名: firefox-45.0.1-1.el6.centos.x86_64.rpm
名称:firefox
版本号: 45.0.1-1
适用操作系统: el6.centos.x86_64
表示centos6.x的64位系统
如果是i686、 i386表示32位系统, noarch表示通用。。
rpm包的其它查询指令:
rpm -qa :查询所安装的所有rpm软件包
rpm -qa | more
rpm -qa | grep X [rpm -qa | grep firefox ]
rpm -q 软件包名 :查询软件包是否安装
rpm -q firefox
rpm -qi 软件包名 :查询软件包信息
rpm -qi file
rpm -ql 软件包名 :查询软件包中的文件
rpm -ql firefox
rpm -qf 文件全路径名 查询文件所属的软件包 (反向查询)
rpm -qf /etc/passwd
rpm -qf /root/install.log
卸载rpm包:
• 基本语法
rpm -e RPM包的名称
• 应用案例
1) 删除firefox 软件包
• 细节讨论
1) 如果其它软件包依赖于您要卸载的软件包,卸载时则会产生错误信息。
如: $ rpm -e foo
removing these packages would break dependencies:foo is needed by bar-1.0-1
2) 如果我们就是要删除 foo这个rpm 包,可以增加参数 --nodeps ,就可以强制删除,但是一
般不推荐这样做, 因为依赖于该软件包的程序可能无法运行
如: $ rpm -e --nodeps foo
安装rpm包:
• 基本语法
rpm -ivh RPM包全路径名
• 参数说明
i=install 安装
v=verbose 提示
h=hash 进度条
3.yum使用(推荐使用)
rpm安装遇到依赖包会一直询问是否安装依赖包,所以更推荐用yum来安装软件
yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
Yum 是一个Shell前端软件包管理器。基于RPM包管理,能够从指定
的服务器自动下载RPM包并且安装,可以自动处理依赖性关系, 并
且一次安装所有依赖的软件包。
yum的基本指令
• 查询yum服务器是否有需要安装的软件
yum list|grep xx软件列表
• 安装指定的yum包
yum install xxx 下载安装
yum(选项)(参数)
-h:显示帮助信息;
-y:对所有的提问都回答“yes”;
-c:指定配置文件;
-q:安静模式;
-v:详细模式;
-d:设置调试等级(0-10);
-e:设置错误等级(0-10);
-R:设置yum处理一个命令的最大等待时间;
-C:完全从缓存中运行,而不去下载或者更新任何头文件。
常用命令:
yum list
yum install 软件名
yum update 软件名
yum remove 软件名
yum info 软件名
yum clean all 清除所有仓库缓存
阿里云配置
#1. 备份原有的.repo源文件 cd /etc/yum.repos.d mkdir repobak mv * repobak #2. 下载阿里云的源文件和第三方扩展源文件 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo#3.清空yum缓存和创建新的缓存 yum clean all yum makecache #4.安装软件扩展源(依赖) yum install -y epel-release #5. 使用yum工具下载安装nginx yum install nginx
注意: 只要是使用yum安装的软件,都可以使用systemctl进行管理 #6. 启动nginx systemctl start ngxinx #7.浏览器访问ngix http://192.168.226.128

三.linux运行级别
1.指定运行级别
运行级别说明: 0:关机 1:单用户(可以找回丢失的密码)相当于windows的安全模式 2:多用户没有网络服务 3:多用户有网络服务 4:系统未使用保留给客户 5:图形界面 6:系统重启 常用的级别是3和5,要修改默认运行级别可修噶文件 /ect/iniittab文件下的id:5 initdefault这一行中的数字
2.基本语法
把运行级别从当前切换到指定的运行级别: init 0/1/2/3/4/5/6 例:init 0 关机 init 3多用户有网络级别 忘记root密码该如何: 思路:用单用户模式(不需要密码就可以登录)修改密码,重启,再进入正常模式用新密码进行登录 步骤:开机-->在开机因到时候输入enter键--->新的图形界面输入 e-->来到一个新的图形界面--->移动到第二行(编辑内核模式) 输入 e---> 在这行最后输入 1回车键 --->再输入b进入单用户模式,进入到单用户模式就可以使用passwd命令修改root密码
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器