Linux 学习(CentOS 7)

CentOS 7 学习

在这里插入图片描述

Linux系统内核作者:

在这里插入图片描述

Linux内核版本

内核(kernel)是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序,它提供了一个在裸设备与应用程序间的抽象层。

Linux内核版本又分为稳定版和开发版,两种版本是相互关联,相互循环:

稳定版:具有工业级强度,可以广泛地应用和部署。新的稳定版相对于较旧的只是修正一些bug或加入一些新的驱动程序。

开发版:由于要试验各种解决方案,所以变化很快。

内核源码网址:http://www.kernel.org 所有来自全世界的对Linux源码的修改最终都会汇总到这个网站,由Linus领导的开源社区对其进行甄别和修改最终决定是否进入到Linux主线内核源码中。

查看Linux内核版本

# 命令1
uname -a

# 命令2
cat /proc/version

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 那样需要花钱购买支持服务!

CentOS 7 安装后的配置

服务指令:

​ Centos6 : service 服务名称 动作

​ Centos7: systemctl 动作 服务名

基础配置

切换至目录 cd /etc/sysconfig/network-scripts/ 下,

使用vi编辑工具进行修改编辑网络配置文件

(Tab键可以补全文件夹名字,Tab一下没有的话是因为目录下该文件夹前缀的文件夹很多,可以Tab两下,会显示出所有该文件夹前缀的文件夹)

在修改文件前 先需要确定网卡文件,命令为: ip addr

在这里插入图片描述

ens33使我们需要修改的文件(ens33是网卡的文件名称)

使用ls命令查看在目录下的文件
在这里插入图片描述

进入vi编辑工具,vi编辑工具有命令模式和插入模式,点击i键进入插入模式才能修改

所以ifcfg-ens33使我们需要修改的文件,键入 vi ifcfg-ens33进入文件进入命令模式.

宿主机网络与虚拟网络的网关设置

在这里插入图片描述

​ 自己设置的虚拟机静态IP地址不能和网关地址冲突、不能和其他虚拟机以及Windows系统的ip地址冲突

插入完后按Esc退出insert模式,按:wq保存修改并退出.

vim /etc/resolv.conf

网络配置修改完成后需要重新启动网络服务:

systemctl restart network.service
或者service network restart

CentOS 7 关闭防火墙:

#查看防火墙状态
systemctl status firewalld.service

#active(running)说明防火墙已经被打开了。
#Active: inactive (dead) :说明防火墙关闭。

#关闭防火墙
systemctl stop firewalld.service
#永久关闭防火墙:
systemctl disable firewalld.service

Windows关闭防火墙:控制面板

Win 系统与 linux系统的防火墙都要关闭

虚拟机ping百度,虚拟机ping Windows,Windows ping虚拟机

ctrl+c可以停止Linux的ping操作

CentOS切换yum源在线

# 安装wget
yum install -y wget

# 备份配置文件
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

# 下载国内yum源文件(华为yum源)
wget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo

#(阿里yum源):
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

# 清理缓存
yum clean all

# 重新生成缓存
yum makecache

# 查看yum源信息
yum repolist

# 修改内容后更新yum源
yum -y update

优化Vim显示

yum -y install vim
vim /etc/vimrc

打开文件后、按i进入编辑模式,将以下代码添加到合适位置:

set nu                  " 设置显示行号
set showmode            " 设置在命令行界面最下面显示当前模式等
set ruler               " 在右下角显示光标所在的行数等信息
set autoindent          " 设置每次单击Enter键后,光标移动到下一行时与上一行的起始字符对齐
syntax on               " 设置语法检测,当编辑C或者Shell脚本时,关键字会用特>殊颜色显示

vim编辑器实用基本操作

1. 查找单个字符:在命令模式下,按下“/”键,然后输入要查找的字符,按下回车键即可。

2. 查找单词:在命令模式下,按下“/”键,然后输入要查找的单词,按下回车键即可。

3. 查找下一个匹配项:在命令模式下,按下“n”键即可查找下一个匹配项。

4. 查找上一个匹配项:在命令模式下,按下“N”键即可查找上一个匹配项。

5. 查找并替换:在命令模式下,输入“:%s/要替换的字符/替换后的字符/g”即可进行查找并替换操作。

6. 查找并替换确认:在命令模式下,输入“:%s/要替换的字符/替换后的字符/gc”即可进行查找并替换确认操作。

7. 查找当前行:在命令模式下,按下“shift + 8”键即可查找当前行。

8. 查找指定行:在命令模式下,输入“:行号”即可查找指定行。

9. 查找指定范围:在命令模式下,输入“:起始行号,结束行号”即可查找指定范围。

10. 查找当前文件:在命令模式下,输入“:%s/要查找的字符/g”即可查找当前文件中的所有匹配项。

# 插入命令
i 在光标前插入
I 在光标当前行开始插入
a 在光标后插入
A 在光标当前行末尾插入
o 在光标当前行的下一行插入新行
O 在光标当前行的上一行插入新行

# 定位命令
:set nu   显示行号
:set nonu 取消行号
gg        到文本的第一行
G         到文本的最后一行
:n        到文本的第n行

# 删除命令
x       删除光标所在处字符
nx      删除光标所在处后的n个字符
dd      删除光标所在行。ndd删除n行
dG      删除光标所在行到末尾行的所有内容
D       删除光标所在处到行尾的内容
:n1,n2d 删除指定范围的行

# 替换和取消命令
u        undo,取消上一步操作
Ctrl +r  redo,返回到undo之前
r        替换光标所在处的字符
R        从光标所在处开始替换,按Esc键结束

# 查找指定字符
/name  name处输入要查找的字符
n      向下查找

# 常用快捷键
Shift + zz   保存退出,与“:wq”作用相同
v            进入字符可视模式
V 或 Shift+v 进入行可视模式
Ctrl+ v      进入块可视模式

安装gcc工具

yum -y install gcc
yum -y install gcc-c++

安装unzip解压工具

yum -y install unzip

与WEB时间同步(同步腾讯云NTP服务器)

阿里云NTP服务器:ntp1.aliyun.com、ntp2.aliyun.com、ntp3.aliyun.com、ntp4.aliyun.com、ntp5.aliyun.com、ntp6.aliyun.com、ntp7.aliyun.com
腾讯云NTP服务器:ntpupdate.tencentyun.com
国家授时中心服务器:210.72.145.44
清华大学NTP服务器:s1b.time.edu.cn、s1e.time.edu.cn、s2a.time.edu.cn、s2b.time.edu.cn
# 安装ntp服务
yum install -y ntp
yum install -y ntpdate

# 设置时区
timedatectl set-timezone Asia/Shanghai

# 同步腾讯云NTP服务器时间
ntpdate ntp1.aliyun.com

# 时间验证
date

# 查看时区列表
timedatectl list-timezones

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

普通用户的家目录($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常用命令操作

# 查看该目录下所有文件或目录
ls

# 详细查看该目录下所有文件或目录
ll

# 定位目前所在目录结构
pwd

# 清屏
clear 或 Ctrl + l

# 从一个程序跳出来
Ctrl+C 或 Ctrl+Z

# 查看系统的进程
ps

文件操作:
vi 文件名  打开并浏览文件(没有的话先创建文件再进入)
点i键进入insert模式,可以编辑文件;点击Esc键退出insert模式,输入:wq保存并退出文件,输入:q只退出。

touch 文件名  只创建文件不打开文件(如果有文件的话无效)
echo "写入的文本" >  文件名  不打开文件直接插入

rm 文件名 删除文件   -rf递归参数
    -r  同时删除该目录下的所有文件
-f  强制删除文件或自录
rm -rf *.log 删除后缀为.log的所有文件
rm -rf 文件夹名/ 文件夹名/ ...  递归删除文件夹以及文件夹下的所有文件
rmdir删除空目录

cat 文件名   -->  显示文本文件内容
cat 文件名1  文件名2  -->  查看文件里的内容

more 分页显示文本文件内容(每次显示内容的一部分,点击空格显示下一部分)
less 分页显示文本文件内容(每次显示内容的一部分,点击空格显示下一部分)

head 查看文本中开头部分的内容
   head -n 5 a.log查看a.log文件的前5行

tail  查看文本中结尾部分的内容
   tail -f b.log 循环读取(生产环境中最常用,可以实时查看文件的日志信息等)

wc统计文本的行数、字数、字符数
-m 统计文本字符数
-w 统计文本字数
-l  统计文本行数

find 在文件系统中查找指定的文件
find /etc/ -name "aaa"

grep 在指定的文本文件中查找指定的字符串
grep -n“love”books (-n:输出的同时打印行号)

In 建立链接文件
-s 对源文件建立符号连接,而非硬连接

chmod 777 abc.log
chmod +x abc.log 为abc.log增添可执行权限(单权限增加)

tar -z

top显示当前系统中耗费资源最多的进程

ps -ef显示瞬间的进程状态
-e /-A 显示所有进程,环境变量
-f全格式
-a 显示所有用户的所有进程(包括其它用户)
-u 按用户名和启动时间的顺序来显示进程
-x 显示无控制终端的进程

kill杀死一个进程
kill -9 pid

df显示文件系统磁盘空间的使用情况

du 显示指定的文件(目录)已使用的磁盘空间的总
  -h文件大小以K,M,G为单位显示
  -s只显示各档案大小的总合
  
free 显示当前内存和交换空间的使用情况

netstat 显示网络状态信息
  -a 显示所有连接和监听端口
  -t(tcp)仅显示tcp相关选项
  -u(udp)仅显示udp相关选项
  -n 拒绝显示别名,能显示数字的全部转化成数字。
  -p显示建立相关链接的程序名
ifconfig 网卡网络配置详解

ping测试网络的连通性

切换目录:

cd         -->  切换目录
cd ../     -->  返回上一级目录
cd ../../  -->  返回上两级目录

创建文件目录:

mkdir 文件夹名/  -->  创建文件夹

复制文件 :

#将 /etc/fuse.conf 这个文件复制到 /tmp/下 
cp   /etc/fuse.conf    /tmp/               
 
#将 /etc/fuse.conf 这个文件复制到 /tmp/下,并更名为fuse2.conf
cp   /etc/fuse.conf    /tmp/fuse2.conf  

移动文件:

mv 文件名 移动到的路径+文件名

剪切文件:

#如果有 xyz/ 这个目录,则会将 abcd/ 这个目录本身包括里面的内容一同剪切到 xyz/ 下
#如果没有 xyz/ 这个目录,则相当于重命名,即将 abcd/ 改名为 xyz/
mv abcd/ xyz/
 
#将 abc.log 剪切,然后重命名为 123.log , 如果是在同一个目录下 , 就相当于重命名
mv  abc.log  123.log 

文件重命名:

mv 文件名 修改后的文件名
cp 文件名 修改后的文件名

删除文件/目录:

rm -rf  /var
将会删除 /var 目录以及其下所有文件、文件夹

rmdir 只能删除空文件夹

删除文件命令:
rm -f /var/log/httpd/access.log

将会强制删除/var/log/httpd/access.log这个文件

查看目录下的文件:


备份压缩命令

gzip 压缩(解压)文件或目录,压缩文件后缀为 gz
  命令格式: gzip [选项] 压缩(解压缩)的文件名
    -d 将压缩文件解压
    -l 显示压缩文件的大小,未压缩文件的大小,压缩比
    -v 显示文件名和压缩比
    -num 用指定的数字num调整压缩的速度,-1 或 --fast 表示最快压缩方法(低压缩比)
    -9 或 --best表示最慢压缩方法(高压缩比)。系统缺省值为6


bzip2 压缩(解压)文件或目录,压缩文件后缀为 bz2
  命令格式: bzip2 [-cdz] 文档名
    -c 将压缩的过程产生的数据输出到屏幕上
    -d 解压缩的参数
    -z 压缩的参数
    -num 用指定的数字 num 调整压缩的速度,-1 或 --fast 表示最快压缩方法(低压缩比),
    -9 或 --best 表示最慢压缩方法(高压缩比)。系统缺省值为6

tar 文件、目录打(解) 包
  tar -zxvf xxx.tar
  -c 建立一个压缩文件的参数指令
  -x 解开一个压缩文件的参数指令
  -z 是否需要用 gzip 压缩解压
  -i 是否需要用 bzip2 压缩解压
  -v 压缩解压的过程中显示文件
  -f 使用文档名,在 f 之后要立即接文档名
压缩文件: tar -czvf f.tar.gz family/
解压文件: tar -zxvf f.tar.gz
解压到制定目录: tar -zvxf f.tar.gz -C dom/

关机重启命令:

shutdown系统关机
  -r 关机后立即重启
  -h 关机后不重新启动
  
halt 关机后关闭电源(千万不要用)

reboot 重新启动

文件属性(了解)

Linux 文件基本属性

​ Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定.

每个文件的属性由左边第一部分的 10 个字符来确定
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7代表一个文件拥有读写执行权限

给一个文件赋读写执行权限:

chmod 777 文件名

文件操作

创建文件:

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行。

Linux端口命令

# 启动防火墙
systemctl start firewalld
# 关闭防火墙
systemctl stop firewalld.service
# 检查防火墙状态
systemctl status firewalld.service
# 设置开机启用防火墙
systemctl enable firewalld.service
# 设置开机禁用防火墙
systemctl disable firewalld.service

# 重启防火墙
systemctl restart firewalld

firewall-cmd --zone=public --add-port=8080/tcp --permanent # 开放8080端口
firewall-cmd --zone=public --remove-port=5672/tcp --permanent #关闭5672端口
firewall-cmd --reload # 配置立即生效

# 查看防火墙所有开放的端口
firewall-cmd --zone=public --list-ports
firewall-cmd –list-ports

# 查看防火墙状态
firewall-cmd --state

# 查看监听的端口
netstat -lnpt

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/118989.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

EPLAN-P8软件技术分享文章

EPLAN公司成立于1984年德国。EPLAN最初的产品是基于DOS平台,然后经历了Windows3.1、Windows95、Windows98、Windows2000、Windows Vista等、Windows7、Windows8等平台发展历史。EPLAN是以电气设计为基础的跨专业的设计平台,包括电气设计、流体设计、仪表…

ubuntu20.04 安装cudnn

中文地址是.cn:cuDNN 历史版本 | NVIDIA 开发者 英文地址是.com:cuDNN 历史版本 | NVIDIA 开发者 1、下载cudnn:cudnn-local-repo-ubuntu2004-8.8.1.3_1.0-1_amd64.deb 解压并安装:sudo dpkg -i cudnn-local-repo-ubuntu2004-8.8…

【JMeter】定时器分类以及场景介绍

1. 定时器分类 固定定时器 作用:请求之间设置等待时间应用场景:查询商品列表后,去查看列表商品详情页。针对商品列表数据量比较大的,响应时间会比较长,就需要设置等待时间然后去查看商详 2.定时器的作用域&#xff1…

Qt QTableView排序

1.简介 在开发过程中,我们需要通过点击表头来对QTableView或QTreeView等一系列高级视图进行排序操作,以下是进行排序的步骤。 步骤: 首先创建了一个QStandardItemModel对象或者继承QAbstractTableModel类作为数据模型,并设置了…

6、Python控制流:if语句、for循环、while循环、循环控制语句

文章目录 Python控制流:if语句、for循环、while循环、循环控制语句if语句示例:for循环示例:while循环示例:循环控制语句示例:最佳实践Python控制流:if语句、for循环、while循环、循环控制语句 控制流是编程中的基础概念,它允许我们根据不同的条件执行不同的代码块,或者…

【软件工程】程序流程图之绘图工具和教程推荐

2023年11月6日,周一晚上 目录 绘图工具推荐教程推荐 绘图工具推荐 我推荐使用开源免费的draw.io要绘制程序流程图 draw.io网页版地址:Flowchart Maker & Online Diagram Software draw.io桌面版下载地址:GitHub - jgraph/drawio-desk…

Nodejs的安装以及配置(node-v12.16.1-x64.msi)

Nodejs的安装以及配置 1、安装 node-v12.16.1-x64.msi点击安装,注意以下步骤 本文设置nodejs的安装的路径:D:\soft\nodejs 继续点击next,选中Add to PATH ,旁边的英文告诉我们会把 环境变量 给我们配置好 当然也可以只选择 Nod…

[Kettle] Excel输入

Excel文件采用表格的形式,数据显示直观,操作方便 Excel文件采用工作表存储数据,一个文件有多张不同名称的工作表,分别存放相同字段或不同字段的数据 数据源 物理成绩(Kettle数据集2).xls https://download.csdn.net/download/H…

JQ完成模拟QQ好友分组案例(介绍JQ实现原理)

当我们写这个案例之前&#xff0c;需要引入好JQ文件&#xff0c;以防没有效果 这个案例的需求请看以下效果图 不能重复点击&#xff0c;只有删除掉之后才可以继续点击 效果图&#xff1a; 代码介绍&#xff1a; <!DOCTYPE html> <html lang"en"><h…

leetcode:2926. 平衡子序列的最大和 【树状数组维护最大前缀和】

题目链接 lc2926 题目描述 题目思路 定义b[i] nums[i] - i 目标是从b中找到一个非降子序列使得元素和最大 # b[i] nums[i] - i # 找到b的一个非降子序列使得元素和最大 # f[i]: 子序列最后一个数下标是i&#xff0c;对应的最大子序列 # f[i] max (max f[j], 0) nums[i] …

Qt利用VCPKG和CMake和OpenCV和Tesseract实现中英文OCR

文章目录 1. 开发平台2. 下载文件2.1 下载安装 OpenCV 库2.2 下载安装 Tesseract-OCR库2.3 下载训练好的语言包 3. CMakeLists.txt 内容4. Main.cpp4.1 中英文混合OCR 5. 在Qt Creator 中设置 CMake vcpkg5.1 在初始化配置文件里修改5.2 在构建配置里修改 说明&#xff1a;在Q…

FineReport----报表模板入门

FineReport----报表模板入门教程1 FineReport就一款类Excel操作界面的报表工具&#xff0c;通过拖拖拽拽简单实现报表制作&#xff0c;实现数据展示、数据查询、数据录入功能&#xff0c;并且支持图形多样化展示。 一、入门小例子 1. 打开设计器 启动FineReport设计器&…

[NLP] Llama2模型运行在Mac机器

本文将介绍如何使用llama.cpp在MacBook Pro本地部署运行量化版本的Llama2模型推理&#xff0c;并基于LangChain在本地构建一个简单的文档Q&A应用。本文实验环境为Apple M1 芯片 8GB内存。 Llama2和llama.cpp Llama2是Meta AI开发的Llama大语言模型的迭代版本&#xff0c;…

【蓝桥杯软件赛 零基础备赛20周】第2周——常考知识点+判题

文章目录 0. 第1周答疑1. 常考知识点2. 蓝桥杯怎么判题2.1 判题系统如何判题2.2 测试数据和得分的关系2.3 自己做测试数据 3. 备赛计划4. 本周刷题 0. 第1周答疑 问题1&#xff1a;蓝桥杯怎么报名&#xff0c;什么时候报名&#xff1f; 答&#xff1a;集体报名或个人报名。大…

Appium 移动端自动化测试,触摸(TouchAction) 与多点触控(MultiAction)

一、触摸 TouchAction 在所有的 Appium 客户端库里&#xff0c;TouchAction 触摸对象被创建并被赋予一连串的事件。 规范里可用的事件有&#xff1a; * 短按(press) * 释放(release) * 移动到(moveTo) * 点击(tap) * 等待(wait) * 长按(longPress) * 取消(cancel) * 执行(per…

记录腾讯云重置密码之后ssh就连不上的踩坑

腾讯云轻量级服务器SSH连不上 解决方案在最后&#xff0c;点我跳转 问题背景&#xff1a; 首先ssh ubuntu用户我是能用xshell带上密钥正常连接的 其次我重置了root密码&#xff0c;自己改了一个root密码&#xff0c;因为我要用root账号使用ftp传输文件 然后重置密码之后&…

设计模式—结构型模式之桥接模式

设计模式—结构型模式之桥接模式 将抽象与实现解耦&#xff0c;使两者都可以独立变化。 在现实生活中&#xff0c;某些类具有两个或多个维度的变化&#xff0c;如图形既可按形状分&#xff0c;又可按颜色分。如何设计类似于 Photoshop 这样的软件&#xff0c;能画不同形状和不…

Chrome插件精选 — 广告拦截插件

Chrome实现同一功能的插件往往有多款产品&#xff0c;逐一去安装试用耗时又费力&#xff0c;在此为某一类型插件挑选出比较好用的一款或几款&#xff0c;尽量满足界面精致、功能齐全、设置选项丰富的使用要求&#xff0c;便于节省一个个去尝试的时间和精力。 1. Adblock Plus 广…

Qt应用开发--国产工业开发板T113-i的部署教程

Qt在工业上的使用场景包括工业自动化、嵌入式系统、汽车行业、航空航天、医疗设备、制造业和物联网应用。Qt被用来开发工业设备的用户界面、控制系统、嵌入式应用和其他工业应用&#xff0c;因其跨平台性和丰富的功能而备受青睐。 Qt能够为工业领域带来什么好处&#xff1a; - …

最受欢迎的程序员副业排行榜TOP6

程序员接单的情况并不少见&#xff0c;因为程序员职业工种的特殊性&#xff0c;能够比较快的衔接上新项目和新技术&#xff0c;所以接私活做副业成了许多程序员的不二之选。 程序员的副业是指程序员在业余时间里从事与编程相关的兼职工作&#xff0c;或者是与技术相关的创业项…