文章目录
Linux系统-学习
1、自由开源
Linux操作系统完全免费且可用作开源软件,通过开源方式,您可以轻松查看用于创建Linux内核的可用代码,还可以修改代码以修复任何错误等。它提供有许多编程接口,您甚至可以开发自己的程序并将其添加到Linux操作系统中,基本上,Linux可让您完全控制机器,只要你做够厉害,你完全可以按照自己的方式构建和自定义服务器。这些是在windows上无法实现的。
2、稳定性
Linux系统以其最终的稳定性而闻名。在windows上,我们进程看到系统崩溃或者卡死,但是在linux上,这种情况发生的几率极小,并且linux系统还可以同时处理多个任务,在Windows配置中,更改配置通常需要重新启动。但是在linux中则不需要重启,配置的更改都可在系统运行时完成,且不会影响到不相关的服务,同样,windows服务器经常进行碎片整理,但是在linux上完全不需要这样做。
3、安全
在安全方面,Linux显然比Windows更安全,因为Linux主要基于最初从多用户操作系统开发的UNIX操作系统。只有管理员或root用户具有管理权限,其次Linux的病毒和恶意软件的攻击频率很低,很多病毒都是针对于windows,而针对linux的病毒比起windows少太多太多,比如此前的永恒之蓝病毒并未对linux造成影响。其次,玩linux的用户群基本上都是计算机方面的人员,加上linux社区庞大,一般发现漏洞,很快会被并提交到linux开源社区。
4、成本低
Linux是免费的,如果您想在其中一台服务器上安装Windows,则需要支付激活费用。这意味着你需要多花一笔钱。
Unix
1965年之前,电脑只有军事或者学院的研究机构碰的起,当时大型主机至多能提供30台终端(30个键盘、显示器)的连接。
1965年左后由贝尔实验室、麻省理工学院 以及 通用电气共同发起了Multics项目,想让大型主机支持300台终端.1969年前后这个项目进度缓慢,资金短缺,贝尔实验室退出了研究,1969年从这个项目中退出的Ken Thompson当时在实验室无聊时,为了让一台空闲的电脑上能够运行“星际旅行”游行,在8月份左右趁着其妻子探亲的时间,用了1个月的时间编写出了 Unix操作系统的原型
1970年,美国贝尔实验室的 Ken Thompson,以 BCPL语言 为基础,设计出很简单且很接近硬件的 B语言(取BCPL的首字母),并且他用B语言写了第一个UNIX操作系统。
因为B语言的跨平台性较差,为了能够在其他的电脑上也能够运行这个非常棒的Unix操作系统,Dennis Ritchie和Ken Thompson 从B语言的基础上准备研究一个更好的语言
1972年,美国贝尔实验室的 Dennis Ritchie在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言
1973年初,C语言的主体完成。Thompson和Ritchie迫不及待地开始用它完全重写了现在大名鼎鼎的Unix操作系统
Minix
因为AT&T(通用电气)的政策改变,在Version 7 Unix推出之后,发布新的使用条款,将UNIX源代码私有化,在大学中不再能使用UNIX源代码。Andrew S. Tanenbaum(塔能鲍姆)教授为了能在课堂上教授学生操作系统运作的实务细节,决定在不使用任何AT&T的源代码前提下,自行开发与UNIX兼容的操作系统,以避免版权上的争议。他以小型UNIX(mini-UNIX)之意,将它称为MINIX。
Linux
因为Minix只是教学使用,因此功能并不强,因此Torvalds利用GNU的bash当做开发环境,gcc当做编译工具,编写了Linux内核-v0.02,但是一开始Linux并不能兼容Unix,即Unix上跑的应用程序不能在Linux上跑,即应用程序与内核之间的接口不一致,因为Unix是遵循POSIX规范的,因此Torvalds修改了Linux,并遵循POSIX(Portable Operating System Interface,他规范了应用程序与内核的接口规范); 一开始Linux只适用于386,后来经过全世界的网友的帮助,最终能够兼容多种硬件
区别
Linux和UNIX的最大的区别是,前者是开发源代码的自由软件,而后者是对源代码实行知识产权保护的传统商业软件。这应该是他们最大的不同,这种不同体现在用户对前者有很高的自主权,而对后者却只能去被动的适应;这种不同还表现在前者的开发是处在一个完全开放的环境之中,而后者的开发完全是处在一个黑箱之中,只有相关的开发人员才能够接触的产品的原型.
1) UNIX系统大多是与硬件配套的,而Linux则可运行在多种硬件平台上.
2) UNIX是商业软件,而Linux是自由软件,免费、公开源代码的.
Linux系统内核作者:
Linux内核版本
内核(kernel)是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序,它提供了一个在裸设备与应用程序间的抽象层。
Linux内核版本又分为稳定版和开发版,两种版本是相互关联,相互循环:
稳定版:具有工业级强度,可以广泛地应用和部署。新的稳定版相对于较旧的只是修正一些bug或加入一些新的驱动程序。
开发版:由于要试验各种解决方案,所以变化很快。
内核源码网址:http://www.kernel.org 所有来自全世界的对Linux源码的修改最终都会汇总到这个网站,由Linus领导的开源社区对其进行甄别和修改最终决定是否进入到Linux主线内核源码中。
Linux发行版本
Linux发行版 (也被叫做 GNU/Linux 发行版) 通常包含了包括桌面环境、办公套件、媒体播放器、数据库等应用软件。
目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。
Centos-Linux
主流:目前的Linux操作系统主要应用于生产环境,主流企业级Linux系统仍旧是RedHat或者CentOS
免费:RedHat 和CentOS差别不大,基于Red Hat Linux 提供的可自由使用源代码的企业CentOS是一个级Linux发行版本
更新方便:CentOS独有的yum命令支持在线升级,可以即时更新系统,不像RedHat 那样需要花钱购买支持服务!
1.安装后的配置
服务指令:
Centos6 : service 服务名称 动作
Centos7: systemctl 动作 服务名
1.1基础配置
切换至目录cd /etc/sysconfig/network-scripts/下,使用vi编辑工具进行修改编辑网络配置文件
在修改文件前 先需要确定网卡文件,命令为: ip addr
ens33使我们需要修改的文件
使用ls命令查看在目录下的文件
所以ifcfg-ens33使我们需要修改的文件,键入 vi ifcfg-ens33进入文件.
宿主机网络与虚拟网络的网关设置
网络配置修改完成后需要重新启动网络服务:
service network restart 命令
附录:如果你觉得自学能力一般可以暂时忽略,等以后需要时再按照.
配置完成后 ping内外网查看是否可行,如果配置完成想省事就可以通过Docker
CentOS7安装Docker资料参考地址:
https://www.cnblogs.com/yufeng218/p/8370670.html
Win 系统与 linux系统的防火墙都要关闭
附录:如果你想切换YUM源在线参考,可以忽略
https://blog.csdn.net/qq_21389711/article/details/122668834
2.Linux系统目录:
/
根目录。
包含了几乎所的文件目录。相当于中央系统。进入的最简单方法是:cd /。
/boot
引导程序,内核等存放的目录。
这个目录,包括了在引导过程中所必需的文件,引导程序的相关文件(例如grub,lilo以及相应的配置文件以及Linux操作系统内核相关文件(例如vmlinuz等一般都存放在这里。在最开始的启动阶段,通过引导程序将内核加载到内存,完成内核的启动(这个时候,虚拟文件系统还不存在,加载的内核虽然是从硬盘读取的,但是没经过Linux的虚拟文件系统,这是比较底层的东西来实现的。然后内核自己创建好虚拟文件系统,并且从虚拟文件系统的其他子目录中(例如/sbin 和 /etc加载需要在开机启动的其他程序或者服务或者特定的动作(部分可以由用户自己在相应的目录中修改相应的文件来配制。如果我们的机器中包含多个操作系统,那么可以通过修改这个目录中的某个配置文件(例如grub.conf来调整启动的默认操作系统,系统启动的择菜单,以及启动延迟等参数。
/sbin
超级用户可以使用的命令的存放目录。
存放大多涉及系统管理的命令(例如引导系统的init程序,是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令(但是时普通用户也可能会用到。这个目录和/usr/sbin; /usr/X11R6/sbin或/usr/local/sbin等目录是相似的,我们要记住,凡是目录sbin中包含的都是root权限才能执行的,这样就行了。后面会具体区分。
/bin
普通用户可以使用的命令的存放目录。
系统所需要的那些命令位于此目录,比如ls、cp、mkdir等命令;类似的目录还/usr/bin,/usr/local/bin等等。这个目录中的文件都是可执行的、普通用户都可以使用的命令。作为基础系统所需要的最基础的命令就是放在这里。
/lib
根目录下的所程序的共享库目录。
此目录下包含系统引导和在根用户执行命令时候所必需用到的共享库。做个不太好但是比较形象的比喻,点类似于Windows上面的system32目录。理说,这里存放的文件应该是/bin目录下程序所需要的库文件的存放地,也不排除一些例外的情况。类似的目录还/usr/lib,/usr/local/lib等等
/dev
设备文件目录。
在Linux中设备都是以文件形式出现,这里的设备可以是硬盘,键盘,鼠标,网卡,终端,等设备,通过访问这些文件可以访问到相应的设备。设备文件可以使用mknod命令来创建,具体参见相应的命令;而为了将对这些设备文件的访问转化为对设备的访问,需要向相应的设备提供设备驱动模块(一般将设备驱动编译之后,生成的结果是一个*.ko类型的二进制文件,在内核启动之后,再通过insmod等命令加载相应的设备驱动之后,我们就可以通过设备文件来访问设备了。一般来说,想要Linux系统支持某个设备,只要个东西:相应的硬件设备,支持硬件的驱动模块,以及相应的设备文件。
/home
普通用户的家目录(
H
O
M
E
目
录
。
在
L
i
n
u
x
机
器
上
,
用
户
主
目
录
通
常
直
接
或
间
接
地
置
在
此
目
录
下
。
其
结
构
通
常
由
本
地
机
的
管
理
员
来
决
定
。
通
常
而
言
,
系
统
的
每
个
用
户
都
自
己
的
家
目
录
,
目
录
以
用
户
名
作
为
名
字
存
放
在
/
h
o
m
e
下
面
(
例
如
q
u
i
e
t
h
e
a
r
t
用
户
,
其
家
目
录
的
名
字
为
/
h
o
m
e
/
q
u
i
e
t
h
e
a
r
t
。
该
目
录
中
保
存
了
绝
大
多
数
的
用
户
文
件
(
用
户
自
己
的
配
置
文
件
,
定
制
文
件
,
文
档
,
数
据
等
)
,
r
o
o
t
用
户
除
外
(
参
见
后
面
的
/
r
o
o
t
目
录
。
由
于
这
个
目
录
包
含
了
用
户
实
际
的
数
据
,
通
常
系
统
管
理
员
为
这
个
目
录
单
独
挂
载
一
个
独
立
的
磁
盘
分
区
,
这
样
这
个
目
录
的
文
件
系
统
格
式
就
可
能
和
其
他
目
录
不
一
样
了
(
尽
管
表
面
上
看
,
这
个
目
录
还
是
属
于
根
目
录
的
一
棵
子
树
上
)
,
有
利
于
数
据
的
维
护
。
/
r
o
o
t
用
户
r
o
o
t
的
HOME目录。 在Linux机器上,用户主目录通常直接或间接地置在此目录下。其结构通常由本地机的管理员来决定。通常而言,系统的每个用户都自己的家目录,目录以用户名作为名字存放在/home下面(例如quietheart用户,其家目录的名字为/home/quietheart。该目录中保存了绝大多数的用户文件(用户自己的配置文件,定制文件,文档,数据等),root用户除外(参见后面的/root目录。由于这个目录包含了用户实际的数据,通常系统管理员为这个目录单独挂载一个独立的磁盘分区,这样这个目录的文件系统格式就可能和其他目录不一样了(尽管表面上看,这个目录还是属于根目录的一棵子树上),有利于数据的维护。 /root 用户root的
HOME目录。在Linux机器上,用户主目录通常直接或间接地置在此目录下。其结构通常由本地机的管理员来决定。通常而言,系统的每个用户都自己的家目录,目录以用户名作为名字存放在/home下面(例如quietheart用户,其家目录的名字为/home/quietheart。该目录中保存了绝大多数的用户文件(用户自己的配置文件,定制文件,文档,数据等),root用户除外(参见后面的/root目录。由于这个目录包含了用户实际的数据,通常系统管理员为这个目录单独挂载一个独立的磁盘分区,这样这个目录的文件系统格式就可能和其他目录不一样了(尽管表面上看,这个目录还是属于根目录的一棵子树上),有利于数据的维护。/root用户root的HOME目录
系统管理员(就是root用户或超级用户)的主目录比较特殊,不存放在/home中,而是直接放在/root目录下了。
/etc
全局的配置文件存放目录。
系统和程序一般都可以通过修改相应的配置文件,来进行配置。例如,要配置系统开机的时候启动那些程序,配置某个程序启动的时候显示什么样的风格等等。通常这些配置文件都集中存放在/etc目录中,所以想要配置什么东西的话,可以在/etc下面寻找我们可能需要修改的文件。一些大型套件,如X11,在 /etc 下它们自己的子目录。系统配置文件可以放在这里或在 /usr/etc。 不过所程序总是在 /etc 目录下查找所需的配置文件,你也可以将这些文件链接到目录 /usr/etc。另外,还一个需要注意的常见现象就是,当某个程序在某个用户下运行的时候,可能会在该用户的家目录中生成一个配置文件(一般这个文件最开始就是/etc下相应配置文件的拷贝,存放相应于“当前用户”的配置,这样当前用户可以通过配置这个家目录的配置文件,来改变程序的行为,并且这个行为只是该用户特的。原因就是:一般来说一个程序启动,如果需要读取一些配置文件的话,它会首先读取当前用户家目录的配置文件,如果存在就使用;如果不存在它就到/etc下读取全局的配置文件进而启动程序。就是这个配置文件不自动生成,我们手动在自己的家目录中创建一个文件的话,也有许多程序会首先读取到这个家目录的文件并且以它的配置作为启动的选项(例如我们可以在家目录中创建vim程序的配置文件.vimrc,来配置自己的vim程序。
/usr
这个目录中包含了命令库文件和在通常操作中不会修改的文件。
这个目录对于系统来说也是一个非常重要的目录,其地位类似Windows上面的”Program Files”目录(请原谅我可能这样做比较不太恰当_。安装程序的时候,默认就是安装在此文件内部某个子文件夹内。输入命令后系统默认执行/usr/bin下的程序(当然,前提是这个目录的路径已经被添加到了系统的环境变量中。此目录通常也会挂载一个独立的磁盘分区,它应保存共享只读类文件,这样它可以被运行Linux的不同主机挂载。
/usr/lib
目标库文件,包括动态连接库加上一些通常不是直接调用的可执行文件的存放位置。
这个目录功能类似/lib目录,理说,这里存放的文件应该是/bin目录下程序所需要的库文件的存放地,也不排除一些例外的情况。
/usr/bin
一般使用者使用并且不是系统自检等所必需可执行文件的目录。
此目录相当于根文件系统下的对应目录(/bin,非启动系统,非修复系统以及非本地安装的程序一般都放在此目录下。
/usr/sbin
管理员使用的非系统必须的可执行文件存放目录。
此目录相当于根文件系统下的对应目录(/sbin,保存系统管理程序的二进制文件,并且这些文件不是系统启动或文件系统挂载 /usr 目录或修复系统所必需的。
/usr/share
存放共享文件的目录。
在此目录下不同的子目录中保存了同一个操作系统在不同构架下工作时特定应用程序的共享数据(例如程序文档信息)。使用者可以找到通常放在 /usr/doc 或 /usr/lib 或 /usr/man 目录下的这些类似数据。
/usr/include
C程序语言编译使用的头文件。
linux下开发和编译应用程序所需要的头文件一般都存放在这里,通过头文件来使用某些库函数。默认来说这个路径被添加到了环境变量中,这样编译开发程序的时候编译器会自动搜索这个路径,从中找到你的程序中可能包含的头文件。
/usr/local
安装本地程序的一般默认路径。
当我们下载一个程序源代码,编译并且安装的时候,如果不特别指定安装的程序路径,那么默认会将程序相关的文件安装到这个目录的对应目录下。例如,安装的程序可执行文件被安装(安装实质就是复制到了/usr/local/bin下面,此程序(可执行文件所需要依赖的库文件被安装到了/usr/local/lib目录下,被安装的软件如果是某个开发库(例如Qt,Gtk等那么相应的头文件可能就被安装到了/usr/local/include中等等。也就是说,这个目录存放的内容,一般都是我们后来自己安装的软件的默认路径,如果择了这个默认路径作为软件的安装路径,被安装的软件的所文件都限制在这个目录中,其中的子目录就相应于根目录的子目录。
/proc
特殊文件目录。
这个目录采用一种特殊的文件系统格式(proc格式,内核支持这种格式。其中包含了全部虚拟文件。它们并不保存在磁盘中,也不占据磁盘空间(尽管命令ls -c会显示它们的大小)。当您查看它们时,您实际上看到的是内存里的信息,这些文件助于我们了解系统内部信息。
/opt
可择的文件目录。
这个目录表示的是可择的意思,些自定义软件包或者第方工具,就可以安装在这里。比如在Fedora Core 5.0中,OpenOffice就是安装在这里。些我们自己编译的软件包,就可以安装在这个目录中;通过源码包安装的软件,可以把它们的安装路径设置成/opt这样来安装。这个目录的作用一点类似/usr/local。
/mnt
临时挂载目录。
这个目录一般是用于存放挂载储存设备的挂载目录的,比如磁盘,光驱,网络文件系统等,当我们需要挂载某个磁盘设备的时候,可以把磁盘设备挂载到这个目录上去,这样我们可以直接通过访问这个目录来访问那个磁盘了。一般来说,我们最好在/mnt目录下面多建立几个子目录,挂载的时候挂载到这些子目录上面,因为通常我们可能不仅仅是挂载一个设备吧?
/media
挂载的媒体设备目录。
挂载的媒体设备目录,一般外部设备挂载到这里,例如cdrom等。比如我们插入一个U盘,我们一般会发现,Linux自动在这个目录下建立一个disk目录,然后把U盘挂载到这个disk目录上,通过访问这个disk来访问U盘。
Linux简单命令操作
切换目录
创建文件目录
复制文件
剪切文件
文件重命名
删除文件/目录
查看目录下的文件
其他命令和使用都是随用随百度即可
3.文件属性(了解)
3.1 Linux 文件基本属性
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定.
每个文件的属性由左边第一部分的 10 个字符来确定
文件操作
创建文件:
touch filename
echo “内容” > file
查看文件:
cat filename
多个文件连接输出
cat file1 file2
将文件内容追加到文件末尾
cat file >> file2
从标准输入中读取内容并写入文件
cat > file
带行号的显示内容
cat -n file
实时查看文件:
Linux 实时显示追加文件内容的指令是 tail -f,它可以实时显示一个文件的最新内容,适用于查看正在不断追加内容的日志文件。tail -f 命令可以根据需要显示指定文件的末尾内容,并继续监视该文件以获取任何新的行,当文件内容不断增加时,会自动刷新输出。例如,使用 tail -f access.log 命令可以实时查看 Apache 服务器的访问日志文件。在终端上运行此命令时,终端会一直处于阻塞状态,直到您中断此命令或关闭终端为止
tail -f file
可以使用Linux命令行工具tail来实现显示文件最后n行的功能。tail命令的基本语法如下
tail -n
其中,表示要显示的行数,表示要显示的文件名。如果省略-n参数,默认显示最后10行。
4.安装开发软件
JDK
yum install vim
以下命令复制粘贴 先不要尝试自己输入
cd /etc
vim profile linux全局环境变量配置文件
上传jdk解压 进入profile编辑以下内容
在文件内容的末尾添加以下内容:
export JAVA_HOME=/usr/local/jdk/jdk
export JRE_HOME=
J
A
V
A
H
O
M
E
/
j
r
e
e
x
p
o
r
t
C
L
A
S
S
P
A
T
H
=
.
:
{JAVA_HOME}/jre export CLASSPATH=.:
JAVAHOME/jreexportCLASSPATH=.:{JAVA_HOME}/lib:
J
R
E
H
O
M
E
/
l
i
b
e
x
p
o
r
t
P
A
T
H
=
{JRE_HOME}/lib export PATH=
JREHOME/libexportPATH={JAVA_HOME}/bin:
P
A
T
H
然
后
保
存
退
出
。
注
意
更
新
生
效
这
个
文
件
J
d
k
11
:
J
A
V
A
H
O
M
E
=
/
u
s
r
/
l
o
c
a
l
/
j
d
k
11
C
L
A
S
S
P
A
T
H
=
.
:
PATH 然后保存退出。注意更新生效这个文件 Jdk11: JAVA_HOME=/usr/local/jdk11 CLASSPATH=.:
PATH然后保存退出。注意更新生效这个文件Jdk11:JAVAHOME=/usr/local/jdk11CLASSPATH=.:JAVA_HOME/lib/tools.jar:
J
A
V
A
H
O
M
E
/
l
i
b
/
d
t
.
j
a
r
P
A
T
H
=
JAVA_HOME/lib/dt.jar PATH=
JAVAHOME/lib/dt.jarPATH=JAVA_HOME/bin:
H
O
M
E
/
b
i
n
:
HOME/bin:
HOME/bin:HOME/.local/bin:$PATH
Tomcat
上传tomcat压缩包解压后需要注意权限即可
MySQL
安装:
安装mysql需要联网从网上下载安装 版本选择mysql5.7
5.7版本的mysql驱动可以向上/向下都可以兼容使用
yum -y install wget 下载软件
1.下载mysql包安装源
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
2.安装mysql源
yum localinstall mysql57-community-release-el7-8.noarch.rpm
3.检查Mysql源是否安装成功
yum repolist enabled | grep “mysql.-community.”
如果出现上图的红色内容代表安装成功
更新获取新的密钥
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
4.安装mysql
yum install mysql-community-server
安装完成后启动mysql服务
service mysqld start
安装时系统会创建一个root密码 需要获取到root密码
grep ‘temporary password’ /var/log/mysqld.log
密码: Mysql5.7#
5.显示密码后登陆mysql客户端
Mysql -u root -p 执行后输入密码 不显示一定不能写错!!!
6.进入mysql客户端后修改密码
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘MySQL5.7#’;
出于安全机制密码要包含大小特殊字符不能少于8位
mysql环境变量查询当前mysql密码策略相关信息
show variables like ‘%password%’;
t’@‘localhost’ IDENTIFIED BY ‘MySQL5.7#’;
7.允许mysql被远程登录访问设置
GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘MySQL5.7#’ WITH GRANT OPTION;
8.设置MySQL字符编码格式
进入/etc目录 vi编辑my.cnf文件my.ini
在[mysqld]下加入以下内容
character_set_server=utf8
init_connect=‘SET NAMES utf8’
lower_case_table_names=1
windows系统是大小写不敏感 Linux是严格区分大小写的
SELECT * FROM USERS;
Select * from users;
加入完成后保存退出 重启mysql服务
9.重启完成后进入mysql 通过下面命令查看编码设置
MySQL5.7
mysql文件存放位置:
配置文件: /etc/my.cnf
日志文件: /var/log/var/log/mysqld.log
服务启动脚本: /usr/lib/systemd/system/mysqld.service
socket文件: /var/run/mysqld/mysqld.pid
Linux端口
1、开放端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent # 开放3306端口
firewall-cmd --zone=public --remove-port=5672/tcp --permanent #关闭5672端口
firewall-cmd --reload # 配置立即生效
2、查看防火墙所有开放的端口
firewall-cmd --zone=public --list-ports
3、关闭防火墙
如果要开放的端口太多,嫌麻烦,可以关闭防火墙,安全性自行评估
systemctl stop firewalld.service #centos7新命令格式
service 服务 动作 centos旧版本命令 新版本兼容
4、查看防火墙状态
firewall-cmd --state
5、查看监听的端口
netstat -lnpt