目录

1:什么是龙蜥系统?

2:Linux的发展史:

命令:

shell命令:

基本关系:

基本命令格式:[命令 参数 内容选项]

命令行基础:

基础命令:

查看:

切换:

开关机:

帮助:

创建文件夹和目录:

剪切和复制:

删除:

echo命令:

wc命令:

head命令:

tail命令:

uniq命令:

链接文件和别名:

通配符:

软硬链接:

设置别名:

vim编辑器:

用户信息:

用户管理:

用户密码管理:

组账户管理:

基本权限管理:

修改权限:chmod

隐藏权限(限制root用户):

lsattr:查看隐藏权限

chatter:修改隐藏权限

ACL访问控制:

getfacl:查看访问控制

创建访问控制:

删除访问控制:

umask默认值:

umsk:

umask值对应权限:

目录结构信息:

Setuid附加权限(user组):

可执行文件设置setuid权限

Setgid附加权限(group):只针对目录

可执行文件设置setgid权限

Sticky附加权限(other):只针对目录

目录设置Sticky位

Sticky权限:

文件查找:

locate搜索:

按文件名查找:

文件过滤:

grep命令格式:

精准匹配过滤:

awk命令:

sed命令:

tar归档与压缩:

tar命令格式:

压缩格式:

zip归档与压缩:

zip:

bzip2:

gzip2:

重定向:

输出重定向:

输入重定向:

文件处理:

cat:

more:

sort:

paste:

临时配置信息:

ifconfig:

修改主机名:

临时修改:

 永久修改:

解析DNS服务器:

nslookup:解析命令

dns的配置文件:

本机的域名解析:

nmcil:连接管理:

临时配置地址信息:

手动图形化界面配置网络:

更改ipv4地址:

网卡配置文件:

更改ipv6信息:

测试网络连通性:

使用vim更改配置文件:

网络诊断:

netsatat:查看网络状态

ss:

路由表:

添加一个新的路由:

删除一个已有的路由:

添加默认路由:

查看网络连通性:

trace命令:

下载页面html代码:

wget:

 wget下载源码:

网页源代码访问:

rpm管理软件:

debian与centos:

软件安装部署:

下载包:

卸载:

rpm命令大全: 

源码编译安装:

Nginx:

dnf配置及使用:

dnf repolist:

dnf命令大全:

编译步骤:

systemctl管理:

systemctl介绍:

init pid 1 和 systemd:

运行级别:

ssh访问控制(远程管理):

编辑ssh配置文件:

远程自己:

命令格式:

配置免密:

将锁传给远程电脑:

文件互传:

时间服务:

date:

timedate:

hwclock --show:

查看是否安装时间服务器:

时间配置文件

cron计划任务:

编辑计划任务:

系统信息:

查看系统版本:

cpu信息:

登录信息:

内存信息:

清空缓存:

 进程管理:

kill -l:

jobs:

fg:

日志管理:

日志优先级:

磁盘分区管理:

lsblk:

fdisk:

mkfs:

mount:

lvm逻辑卷:

流程:

创造物理卷:

创造卷组:

逻辑卷:

交换分区:

交换分区格式化:

打开分区:

关闭分区:

RAID磁盘阵列:

系统启动流程:

流程:

关键命令和配置文件:

破解密码:

防火墙:

SELinux:

命令格式和使用方法:

firewall-cmd:

firewall-cmd命令及其功能:


1:什么是龙蜥系统?

龙蜥系统是一个由Linux内核、GNU工具和其他自由软件组成的操作系统,也被称为GNU/Linux系统。这个名字是由GNU项目的创始人Richard Stallman提出的,目的是强调GNU项目和Linux内核的合作。在龙蜥系统中,GNU提供了大部分的用户空间工具和应用程序,而Linux内核则提供了操作系统的核心功能和驱动程序支持。

龙蜥系统被广泛应用于服务器、个人电脑、移动设备等各种领域,并且成为了开源软件运动的一个重要代表。许多Linux发行版(如Ubuntu、Fedora、Debian等)都是基于龙蜥系统构建的,为用户提供了丰富的功能和灵活的定制选项。

龙蜥系统是一个强大、稳定且灵活的操作系统,得到了全球范围内开发者和用户的支持和认可。

2:Linux的发展史:

1991年:Linus Torvalds在赫尔辛基大学发布了Linux内核的第一个版本,这标志着Linux的诞生。

1990sLinux逐渐在全球范围内得到认可和使用,吸引了大量的开发者参与其中,形成了一个庞大的开源社区。

2000sLinux在服务器领域得到广泛应用,成为了许多企业和组织的首选操作系统。

2010s:随着移动互联网和物联网的兴起,Linux在嵌入式系统和移动设备上也得到了广泛应用,如Android操作系统就是基于Linux内核开发的。

Linux已经成为了世界上最流行的操作系统之一,不仅在服务器、嵌入式系统和移动设备上得到广泛应用,也在个人电脑和超级计算机等领域发挥着重要作用。

命令:

shell命令:

shell 既是编程语言又是解释器

基本关系:

user输入命令--->shell翻译---->kernel

kernel返回命令--->shell翻译--->user

基本命令格式:[命令 参数 内容选项]

cat /etc/shells:查看解释器

echo $:查看当前使用的解释器

su - root:切换root用户

def -y install csh:下载c语言解释器

cat /etc/shells:查看shells文件

sh:进入sh解释器

exit:退出

type:查看命令类型   type echo

命令行基础:

ctr+alt+F1:返回图形化介面

^C:换行

hostname:查看主机名

cat /etc/hostname:查看主机名文件

ifconfig:用于查看和配置网络接口的命令。
    ens33:网卡的名称,每个网络接口都有一个唯一的标识符。
    inet:表示IPv4地址。
    netmask:表示子网掩码,用于确定网络中主机的范围。
    inet6:表示IPv6地址。
    ether:表示网卡的MAC地址。
    RX:表示网络接收包的效率。
    TX:表示网络发送包的效率。

ping  127.0.0.1: (127.0.0.1:网络回环地址,用于主机内部的网络通信测试。)

基础命令:

查看:

pwd:查看当前目录

ls:查看当前目录下的内容

ls --help:查看ls里的所有选项

ls:列出当前目录下的文件和子目录

ls -l:以长格式显示文件和子目录的详细信息,包括权限、所有者、大小、修改时间等

ls -a:显示所有文件,包括以.开头的隐藏文件

ls -h:以人类可读的格式显示文件大小

ls -t:按照修改时间排序文件和子目录

ls -r:反向排序文件和子目录

ls -R:递归列出所有子目录及其内容

ls -i:显示每个文件的inode号码
ls -ld test:查看test的详细信息


cat filename:查看filename文件内容'
cat file1 file2 > newfile:连接文件,将file1和file2的内容连接起来,并将结果输出到newfile中

cat > newfile:创建文件在终端中输入文本,按Ctrl+D结束输入,然后将输入的文本保存到newfile中

cat -n filename:显示文件内容并显示行号

cat filename | head -n 10:显示特定行数,可以使用命令显示文件的前10行

cat filename | tail -n 10命令显示文件的最后10行

切换:

cd:切换目录

cd /etc:切换到etc目录

cd .:当前

cd ..:返回上一级目录

cd ~:返回用户根目录

cd -:返回上一次访问的目录

开关机:

reboot:重启

poweroff:关机

shutdown:关机

shutdown -h now:立即关机

帮助:

man:帮助

which:查询命令文件位置

whereis:查询是否有man帮助命令

命令 --help:查看help帮助

创建文件夹和目录:

mkdir  test:新建目录

mkdir -p a/b/c/d/e : 同时创建多个目录

touch a.txt b.txt  :创建两个文件夹

剪切和复制:

mv a /root/:将a目录剪切到root目录下

mv *.txt /root/:将所有txt文件剪切到root目录下

cp -r a b:将a文件夹复制到b文件夹

cp a.txt b.txt

删除:

rm : 删除

rm filename:删除指定文件--->例如,rm file.txt会删除名为file.txt的文件

rm -r directory:递归删除指定的目录及其所有内容,删除目录时需要使用-r选项来确保删除整个目录树

rm -f filename:强制删除文件,系统不进行询问

rm *.txt删除当前目录下所有以.txt结尾的文件

rmdir directory:删除空目录。如果目录不为空,需要使用rm -r directory来删除非空目录

echo命令:

echo命令用于在终端输出指定的文本内容。基本语法如下:

echo [option] [string]
  • option:可选参数,用于控制echo命令的输出格式。

  • string:要输出的文本内容。

示例

echo "Hello, World!"

wc命令:

wc命令用于统计文件中的字数、行数和字符数。基本语法如下:

wc [option] [file]
  • option:可选参数,用于指定输出格式或限制统计的内容。

  • file:要统计的文件名。

常用选项包括:

  • -l:统计行数。

  • -w:统计单词数。

  • -c:统计字符数。

示例

wc -l myfile.txt

head命令:

head命令用于显示文件的开头部分,默认显示文件的前10行。基本语法如下:

head [option] [file]

常用选项包括:

  • -n N:显示文件的前N行内容。

示例

head -n 5 myfile.txt

tail命令:

tail命令用于显示文件的结尾部分,默认显示文件的最后10行。基本语法如下:

tail [option] [file]

常用选项包括:

  • -n N:显示文件的最后N行内容。

  • -f:实时追踪文件内容的变化。

示例

tail -n 3 myfile.txt

tail -f myfile.txt命令会持续输出myfile.txt文件的内容,并且实时显示文件内容的变化,非常适合用于监视日志文件等场景

uniq命令:

uniq命令用于过滤重复的行,并且要求输入是经过排序的。基本语法如下:

uniq [option] [file]

常用选项包括:

  • -d:仅显示重复的行。

  • -c:统计每行重复出现的次数。

  • -i:忽略大小写。

示例

sort myfile.txt | uniq

myfile.txt文件进行排序,并过滤重复的行。

链接文件和别名:

通配符:

touch file{1..100}.txt :创建100个file文件

mv file??.txt /tmp :将file10-99所有文件移动到tmp目录下

通配符:

​	*.txt :所有

​	{1..100}:1-100

    *:匹配零个或多个字符。例如,*.txt会匹配所有以.txt结尾的文件名

    ?:匹配任意单个字符。例如,file?.txt会匹配类似file1.txt、fileA.txt这样的文件名

    [...]:匹配方括号内指定范围内的任意单个字符。例如,file[123].txt会匹配file1.txt、file2.txt、file3.txt
    
    {...}:匹配花括号内的任意一个模式。例如,{file1,file2}.txt会匹配file1.txt和file2.txt

软硬链接:

touch test.txt

ln -s test.txt s.txt :创建软连接

ln test.txt h.txt :创建硬链接

软连接与硬链接的区别:

软链接是基于原文件的,删除原文件后,软链接失效,不能访问

软链接只有一个指向的功能,没有存储功能

删除原文件后,硬链接依然可以是被访问的,硬链接在磁盘中是有存储的位置的

设置别名:

alias:设置别名

alias ll='ls -l' : 将'ls -l'的效用赋给ll    (临时性的)

vim .bashrc : 修改后别名永久生效

vim编辑器:

打开/保存/退出:

    打开文件:vim filename

    保存文件:在Normal模式下输入:w或:write

    退出Vim:Normal模式下输入:q或:quit

    保存并退出
    :wq 保存后退出

​	:q! 不保存退出

​	:x​ 保存退出

​	:X 加密保存退出

光标移动:
    h:向左移动光标
    j:向下移动光标
    k:向上移动光标
    l:向右移动光标
    0:移动到行首
    $:移动到行尾
    gg:移动到文件开头
    G:移动到文件末尾

编辑文本:

    i:在光标处插入文本

    a:在光标后插入文本

    o:在当前行下方插入新行

    dd:删除当前行

    yy:复制当前行

    p:粘贴文本

撤销/重做:

u:撤销上一步操作
Ctrl + r:重做上一步操作
:set nu 显示文件行号

​:%s/root/h  将root替换为h

​:%s/root/h/g :将所有root全部替换为h

​:r!/etc/password :将password 文件内容重新读入

用户信息:

id root:查看root基本信息

cat /etc/passwd | head -l:查看用户

head -l:查看首行

tail -l:查看末尾一行

root:超级管理员用户  id 固定为 0

system:系统用户 id 1-999

user:普通用户 id 1000-655345

cat /etc/shadow :查看密码

用户管理:

useradd --help

useradd:创建用户

userdel:删除用户

usermod:修改用户

useradd test:创建test用户

cat /etc/password | tail -3:查看

useradd -m -s /bin/bash -u 6666 test1

-m:家目录   -s:指定解释器   -u:指定id号

cat /etc/password | tail -2 :查看

用户密码管理:

chage --help

passwd 用户名:设置密码

passwd -S 用户名:查询密码信息

chage -l 用户名:查询密码信息

chage -d 用户名:

组账户管理:

groupadd:创建组账户(公共组)

groupdel:删除组账号

groupmod:修改组账户
groupadd public

cat /etc/group | tail -1

groupadd -g 1212 public

-g:设置组账户id

修改public的id

groupmod -g 1111 public


添加组:

gpasswd -a anolis public

剔除组:

gpasswd -d anolis public

基本权限管理:

各部位详解:

文件类型:

第一个-文件类型
-代表普通文件
d目录
l软链接

rw-所有者权限useru
r--所属组权限groupg
r--其它组权限othero

权限数值对照表:

数值权限含义
0无权限
1–x执行权限
2-w-写权限
3-wx写、执行权限
4r–只读权限
5r-x读、执行权限
6rw-读写权限
7rwx读、写、执行权限

修改权限:chmod

chmod o+w test

chmod a+w test:将所有用户的权限都添加w

chmod o=rwx /test.txt

将test的用户设置为root

chown test:root /test.txt

将test用户添加到root组里

gpasswd -a test root

利用数字更改权限:

chmod 644 /test.txt

chown修改文件或目录的拥有者和所属组:

chown命令用于修改文件或目录的拥有者和所属组。其基本语法如下:

chown [OPTIONS] OWNER[:GROUP] FILE

其中:

  • OWNER表示要修改的拥有者的用户名或用户ID。
  • GROUP表示要修改的所属组的组名或组ID。
  • FILE表示要修改的文件或目录名称。

一些常用的选项包括:

  • -R:递归地修改指定目录下所有文件和子目录的拥有者和所属组。
  • --from=OLD_OWNER[:OLD_GROUP]:只修改拥有者和所属组为OLD_OWNEROLD_GROUP的文件。
  • --reference=REF_FILE:将指定文件REF_FILE的拥有者和所属组设置为目标文件的拥有者和所属组。

例如,要将文件file.txt的拥有者修改为user1,所属组修改为group1,可以使用以下命令:

 chown user1:group1 file.txt

如果要递归地修改目录/path/to/directory下所有文件和子目录的拥有者和所属组为user1group1,可以使用以下命令:

chown -R user1:group1 /path/to/directory

隐藏权限(限制root用户):

lsattr:查看隐藏权限

chatter:修改隐藏权限

chattr +i /test.txt

+i:root只有r权限,不能修改不能删除
chattr +a /test.txt

+a:可以看和追加写入内容

chattr -a /test.txt

-a:去掉a隐藏权限

ACL访问控制:

getfacl:查看访问控制

getfacl /test.txt

创建访问控制:

在原本所有东西都不变的情况下,方便我们进行例外操作

useradd -m -s /bin/bush/ acl :创建用户

setfacl -m acl:rwx /test.txt

getfacl /test.txt

test.txt文加在原来的user基础上又多了一个管理者acl用户,权限位为mask

删除访问控制:

删除访问控制:

getfacl -x acl /test.txt

umask默认值:

umsk:

这个四位数的 umask 值中:

  • 第一位的0,表示「特殊权限」,暂时不用理会

  • 第二位的0,表示「用户权限」,从用户权限减0,也就是权限不变

  • 第三位的2,表示「用户组权限」,从组权限减2,也就是减掉写(w=2)的权限

  • 第四位的2,表示「其他用户权限」,从其他用户权限减2,即取消其他用户的写权限

umask值对应权限:

umask值文件权限目录权限含义
002664775取消其他用户写权限
006660771取消其他用户读、写权限
022644755取消用户组、其他用户的写权限
027640750取消其他用户读、写权限;取消用户组的写权限

目录结构信息:

/:根目录

/bin:命令存放

/dev:块设备文件存放位置

/home:家目录

/mnt:挂在光盘或目录

/proc:存放系统核心数据

/run:存放pid文件

/tmp:存放临时文件

/var:存放系统日志

/etc:各种服务配置信息文件

/usr:存放应用程序

/root:超级管理员的家目录

/srv:服务启动后需要访问的目录

/opt:主机安装软件产生的额外目录会放在opt文件下

Setuid附加权限(user组):

在Linux中,setuid(Set User ID)是一种权限机制,允许一个程序在执行时暂时拥有另一个用户的权限。这种机制通常用于需要特定权限才能执行的程序,比如系统管理工具或者某些特权操作。

当一个可执行文件具有setuid权限时,它在执行时将会以文件所有者的权限来运行,而不是执行者的权限。这样可以让普通用户执行一些需要特权用户权限才能执行的操作,比如修改系统配置文件或者执行特定系统命令。

可执行文件设置setuid权限

使用chmod命令。例如,要将一个可执行文件的所有者权限设置为root用户,可以使用以下命令:

chmod u+s 目录

例如下面将mkdir命令增加和删除附加权限:

删除mkdir的x权限并给与它附加权限时,mkdir的user权限变为S,如果x权限存在时,附加权限变为s.

Setgid附加权限(group):只针对目录

在Linux中,setgid(Set Group ID)是一种权限机制,类似于setuid,允许一个程序在执行时暂时拥有与文件所属组相关的权限。

当一个可执行文件具有setgid权限时,它在执行时将会以文件所属组的权限来运行,而不是执行者的权限。这种机制通常用于需要特定组权限才能执行的程序,比如共享资源管理程序或者某些特权操作。

可执行文件设置setgid权限

使用chmod命令。例如,要将一个可执行文件的所属组权限设置为一个特定的组,可以使用以下命令:

chmod g+s 目录

Sticky附加权限(other):只针对目录

在Linux中,Sticky位是一种特殊的权限标志,通常用于目录。当一个目录具有Sticky位时,只有目录的所有者、文件的所有者和root用户才能删除该目录下的文件,其他用户无法删除非自己创建的文件。

Sticky位通常用于共享目录,以确保用户只能删除自己创建的文件,而不能删除其他用户创建的文件。这在一些共享目录中非常有用,比如/tmp目录,以防止用户意外删除其他用户的文件。

目录设置Sticky位

使用chmod命令。例如,要为一个目录设置Sticky位,可以使用以下命令:

chmod +t 目录

如果不添加附加权限:

分别创建uer1和user2两个用户,并且在user1用户下创建一个user1.txt文件

可以看到user2虽然不可以更改user1的文件但是可以删除user1的文件user1.txt

Sticky权限:

 

t

代表有附加权限
T代表没有附加权限

只有目录的所有者、文件的所有者和root用户才能删除该目录下的文件,其他用户无法删除非自己创建的文件

文件查找:

locate搜索:

linux中使用locate搜索文件是在虚拟数据库中搜索的

搜索前需要先更新数据库:updatedb

# 搜索passwd
locate passwd

locate搜索效率高。使用的模式是贪婪匹配,准确度不高

按文件名查找:

find 更加精准

find / -name passwd

文件过滤:

grep命令格式:

grep 关键字 文件名

grep root passwd

表示在文件passwd中查找包含关键字root的行。grep是一个用于在文件中查找指定文本模式的命令,root是要查找的关键字,passwd是要搜索的文件名

-i大小写都匹配
-n显示行号
-v取反--->显示不匹配的
-r递归,逐个查找
精准匹配过滤:

^只匹配以关键字开头的文件
$只匹配以关键字结尾的文件
^$匹配空行

awk命令:

根据指定的规则对文本文件中的数据进行处理和分析。awk通常用于按行处理数据,可以方便地对数据进行分割、筛选、计算等操作。

awk 'pattern { action }' file
  • pattern:匹配条件,符合条件的行将执行action中的操作。

  • action:要执行的操作,可以是打印、计算等。

  • file:要处理的文件名。

# 在/etc/passwd文件中查找以root开头的行,并打印出整行数据
awk -F':' '$1 == "root" { print $0 }' /etc/passwd

sed命令:

用于对文本进行替换、删除、插入等操作

sed 's/pattern/replacement/g' file
  • pattern:要替换的模式。

  • replacement:替换的内容。

  • g:全局替换。

# 将file.txt文件中所有的old_text替换为new_text
sed 's/old_text/new_text/g' file.txt

tar归档与压缩:

tar命令格式:

tar -cf 文件:将文件或目录打包成一个归档文件

tar -tvf ***.tar:查看归档文件中的文件信息

tar -xf ***.tar:解压缩归档文件

  • c:表示创建一个新的归档文件

  • t:表示列出归档文件中包含的文件列表

  • x:表示从归档文件中提取文件

  • v:表示在执行操作时显示详细信息

压缩格式:

-z.gz格式
-jbz2格式
-J.xz格式
# 压缩home目录格式为.gz
tar -czf home.tar.gz /home
# 将home压缩文件解压至tmp目录下
tar -xzf home.tar.gz -C/tmp

zip归档与压缩:

zip:

zip命令用于创建ZIP格式的归档文件,将文件或目录打包成一个ZIP文件。基本语法如下:

zip -r archive.zip file1 file2 directory1
  • -r:递归地将指定目录下的所有文件和子目录打包。

  • archive.zip:指定要创建的ZIP归档文件名。

  • file1 file2 directory1:要压缩的文件或目录列表。

# 解压缩ect.zip文件并且放至var目录下
unzip etc.zip -d /var

bzip2:

# 压缩
bzip2 passwd
# 解压缩
bzip2 -d passwd.bz2

gzip2:

# 压缩
gzip h.txt
# 解压缩
gzip -dv h.txt.gz

重定向:

输出重定向:

>:覆盖
>>:追加
echo ** 1> **  :1>正确信息
错误信息 ** 2> **  :1>错误信息
错误信息 ** &> **  :&>不管正确与错误
echo Anolis > lhm
# 将Anolis这个字符写入lhm文件中,如果lhm文件不存在则自动创建

输入重定向:

<:将文件内容作为命令的输入
cat > OK << EOF
# EOF作为分隔符,不管写什么内容只要遇到EOF就停止
# cat > OK
# cat查看ok文件不存在则创建
# << EOF
# 输入内容,遇到EOF停止输入

文件处理:

cat:

查看文件

-n:显示行号

more:

分页查询---> 空格:下一页---->Ctr+b:上一页

list:分页查看--->上下键查看

sort:

排序

paste:

两个文件结合展示

临时配置信息:

ifconfig:

查询网络信息

ifconfig ens33
# ens33指定网卡名

修改主机名:

临时修改:
hostname Anolis-OS
# 临时修改,配置文件没有变

 永久修改:
echo Anolis-OS > /etc/hostname
# 永久修改,改变配置文件

hostnamectl set-hostname Anolis_OS
# 使用命令永久修改主机名

解析DNS服务器:

nslookup:解析命令

nslookup www.baidu.com

dns的配置文件:

cat /etc/resolv.conf

nameserver:DNS的解析地址

本机的域名解析:

cat /etc/hosts

nmcil:连接管理:

临时配置地址信息:

ifconfig ens33 192.168.238.110

断开连接重启后网卡名就会恢复:

nmcli:统一配置信息

手动图形化界面配置网络:

设置--->网络--->开始配置

nmcli device status:查询网卡设备状态

nmcil connection show:配置文件信息

nmcil device show:查询硬件详细信息

更改ipv4地址:

nmcli connection modify: 指示nmcli工具对网络连接进行修改操作

  • ens33: 这是要修改的网络连接的名称,即网卡的名称。

    • ipv4.address 192.168.238.190/24: 这部分指定了要设置的IPv4地址。在这种情况下,IPv4地址被设置为192.168.238.190,并且子网掩码为/24,表示子网中有24位是网络位,剩下的8位是主机位。这个地址是用来标识网络上的设备的唯一标识。

    • ipv4.gateway 192.168.238.2: 这部分指定了网关的IPv4地址。网关是连接本地网络和其他网络的设备,用于路由数据包。

    • ipv4.dns 192.168.238.2: 这部分指定了DNS服务器的IPv4地址。DNS服务器用于将域名解析为对应的IP地址。

    • connection.autoconnect yes: 这部分设置了连接的自动连接属性为yes,表示系统启动时将自动连接这个网络。

nmcil connection modify ens33 ipv4.address 192.168.238.190/24

ipv4.gateway 192.168.238.2 ipv4.dns 192.168.238.2 connection autoconnect yes

autoconnect yes:每次开机自动生效

此时ipv4的地址没有变,因为这个时候只是更改了而没有重新启动

nmcil connection down ens33:断开ens33网卡连接

nmcil connection up ens33:重新激活

网卡配置文件:

更改ipv6信息:

nmcil connection modify ens33 ipv6.address 2023::1/64 connection autoconnect yes

测试网络连通性:

使用vim更改配置文件:

vim /etc/sysconfig/network-scripts/ifcfg-ens33

  • TYPE=Ethernet: 指定了连接的类型是以太网,表示这是一个以太网连接。

  • PROXY_METHOD=none: 指定了代理方法为none,表示没有开启代理。

  • BROWSER_ONLY=no: 指定了是否只在浏览器中使用代理的设置为no,表示不仅仅在浏览器中使用代理。

  • BOOTPROTO=dhcp: 指定了启动协议为dhcp,表示使用动态主机配置协议来获取IP地址等网络配置信息。

  • DEFROUTE=yes: 指定了默认路由为yes,表示使用该连接作为默认路由。

  • IPV4_FAILURE_FATAL=no: 指定了IPv4连接失败是否致命的设置为no,表示IPv4连接失败不会导致连接失败。

  • IPV6INIT=yes: 指定了是否初始化IPv6的设置为yes,表示启用IPv6。

  • IPV6_AUTOCONF=yes: 指定了是否自动配置IPv6的设置为yes,表示允许系统自动配置IPv6地址。

  • IPV6_DEFROUTE=yes: 指定了IPv6默认路由为yes,表示使用该连接作为IPv6的默认路由。

  • IPV6_FAILURE_FATAL=no: 指定了IPv6连接失败是否致命的设置为no,表示IPv6连接失败不会导致连接失败。

  • NAME=ens33: 指定了连接的名称为ens33

  • UUID=f54c6261-c573-4327-98ac-c5279ea363de: 指定了连接的唯一标识符。

  • DEVICE=ens33: 指定了设备名称为ens33

  • ONBOOT=yes: 指定了系统启动时是否激活该连接的设置为yes,表示系统启动时激活该连接。

  • IPADDR=192.168.238.190: 指定了IPv4地址为192.168.238.190

  • PREFIX=24: 指定了子网掩码为/24,表示子网中有24位是网络位,剩下的8位是主机位。

  • GATEWAY=192.168.238.2: 指定了网关的IPv4地址为192.168.238.2

  • DNS1=192.168.238.2: 指定了第一个DNS服务器的IPv4地址为192.168.238.2

  • IPV6ADDR=2023::1/64: 指定了IPv6地址为2023::1/64,表示IPv6地址为2023::1,子网前缀长度为64位。

改配置文件后需要使用rebot重启电脑后配置才会生效

网络诊断:

netsatat:查看网络状态

netstat -ntupl | grep 22

查看网卡数字,tcp,udp,路由,监听信息

ss:

ss与netsatat功能基本一样:

路由表:

  1. 查看当前系统的路由表信息:

route
  1. 添加一个新的路由:

sudo route add -net 目标网络 netmask 子网掩码 网关

例如: 

sudo route add -net 192.168.1.0 netmask 255.255.255.0 192.168.0.1
  1. 删除一个已有的路由:

sudo route del -net 目标网络 netmask 子网掩码

例如:

sudo route del -net 192.168.1.0 netmask 255.255.255.0

添加默认路由:

sudo route add default gw 网关

例如:

sudo route add default gw 192.168.0.1

查看网络连通性:

ping www.baidu.com

trace命令:

trace命令通常用于追踪数据包在网络中的路径。具体而言,trace命令通常指的是traceroute命令,用于确定数据包从源主机到目标主机的路径。以下是traceroute命令的基本用法:

traceroute 目标主机

例如,要追踪到www.example.com的路径,可以执行以下命令:

traceroute www.example.com

traceroute命令将显示数据包经过的每个路由器的IP地址,以及从源主机到目标主机的路径上的延迟。这有助于诊断网络连接问题并了解数据包在网络中的传输路径

下载页面html代码:

wget:

 wget下载源码:

wget xxx.tar.gz

此时会将xxx.tar.gz源码包下载到当前目录

网页源代码访问:

curl www.baidu.com

rpm管理软件:

debian与centos:

debian deepin dpkg apt-get make
centos rpm dnf/yum make
  1. Debian/Deepin:

    • dpkg: Debian Package,用于在Debian或基于Debian的发行版(如Deepin)中管理安装、卸载和管理软件包。

    • apt-get: Advanced Package Tool,是Debian Linux系统中用于管理软件包的命令行工具,可以用来安装、升级、卸载软件包以及解决依赖关系。

  2. CentOS:

    • rpm: RPM Package Manager,是Red Hat Linux系统中的软件包管理工具,用于安装、升级和删除RPM软件包。

    • dnf / yum: Yellowdog Updater Modified(yum)已经逐渐被新的工具dnf(Dandified Yum)替代,用于在Red Hat Linux系统中管理软件包。

  3. 通用工具:

    • make: 是一个构建自动化工具,通常用于编译和构建软件项目。通过Makefile文件定义编译规则,可以简化软件项目的构建过程。

软件安装部署:

下载包:

dnf download httpd

rpm -ivh httpd

-i:安装

v:过程

h:标记

U:升级软件

-e:卸载

-q:看是否安装

a:所有

-qa:查看安装了多少个包

-ql:查看软件包的详细信息
dnf download vsftpd

卸载:

rpm -e vsftpd

rpm命令大全: 

  1. 安装软件包

    rpm -i package.rpm
  2. 升级软件包

    rpm -U package.rpm
  3. 删除软件包

    rpm -e package_name
  4. 查询软件包信息

    • 查询已安装软件包信息:

      rpm -q package_name
    • 查询软件包文件信息:

      rpm -qf /path/to/file
  5. 列出已安装的软件包

    rpm -qa
  6. 验证软件包

    rpm -V package_name
  7. 解决依赖关系

    rpm -ivh package.rpm
  8. 查看软件包的文件列表

    rpm -ql package_name
  9. 查看软件包的信息

    rpm -qi package_name

源码编译安装:

Nginx:

Nginx是一个高性能的开源Web服务器软件,也可以用作反向代理服务器、负载均衡器和HTTP缓存。以下是关于Nginx服务的一些详解:

  1. 安装和配置:在Linux系统上安装Nginx通常是通过包管理器,如apt、yum等进行安装。配置文件通常位于/etc/nginx/nginx.conf,可以在该文件中设置服务器监听端口、虚拟主机、日志记录、SSL证书等。

  2. 虚拟主机:Nginx支持虚拟主机,可以通过配置不同的server块来实现多个网站在同一台服务器上运行。每个server块可以指定不同的域名、根目录、日志文件等。

  3. 反向代理:Nginx可以作为反向代理服务器,将客户端的请求转发到后端的应用服务器上。通过配置proxy_pass指令可以实现反向代理。

  4. 负载均衡:Nginx也可以用作负载均衡器,将请求分发到多个后端服务器上,从而提高系统的性能和可靠性。可以通过配置upstream块和proxy_pass指令来实现负载均衡。

  5. HTTP缓存:Nginx可以作为HTTP缓存服务器,缓存静态资源以减轻后端服务器的压力,并提高网站的访问速度。可以通过配置proxy_cache指令来启用HTTP缓存。

  6. 日志记录:Nginx会记录访问日志和错误日志,可以在配置文件中指定日志文件的路径和格式。访问日志记录了客户端请求的详细信息,错误日志记录了Nginx服务器的错误信息。

dnf配置及使用:

dnf repolist:

列出系统所有的的软件库

dnf list:列出已经安装的软件包

dnf list installed:列出已经安装的rpm软件包

dnf list availble:列出可供安装的软件包

dnf info httpd:查询httpd软件包的详情

dnf命令大全:

  1. 更新软件包数据库

    sudo dnf check-update
  2. 搜索软件包:

    dnf search package_name
  3. 安装软件包:

    sudo dnf install package_name
  4. 更新软件包:

    sudo dnf update
  5. 删除软件包:

    sudo dnf remove package_name
  6. 列出已安装的软件包:

    dnf list installed
  7. 清理缓存:

    sudo dnf clean all
gcc --version:查看编译环境

dnf -y install gcc:安装gcc编译包

ls -lh nginx-1.13.7.tar.gz:查看nginx服务器

编译步骤:

  • tar解压缩

tar -xf nginx-1.13.7.tar.gz

cd nginx-1.13.7/
  • configure配置信息

./configure --help

./configure --prefix=/user/local/nginx
  • make编译

  • make install 编译安装

make && make install

使用inotify步骤与上述相同

systemctl管理:

systemctl介绍:

systemctl是一个用于管理系统服务的命令行工具,主要用于启动、停止、重启、启用和禁用系统服务。以下是关于systemctl管理的一些详解:

  1. 启动服务:使用systemctl start [service]命令可以启动一个系统服务,例如systemctl start nginx可以启动Nginx服务。

  2. 停止服务:使用systemctl stop [service]命令可以停止一个正在运行的系统服务,例如systemctl stop nginx可以停止Nginx服务。

  3. 重启服务:使用systemctl restart [service]命令可以重启一个系统服务,例如systemctl restart nginx可以重启Nginx服务。

  4. 查看服务状态:使用systemctl status [service]命令可以查看一个系统服务的当前状态,包括是否正在运行、最后一次启动时间、运行时间等信息。

  5. 启用/禁用服务:使用systemctl enable [service]命令可以将一个系统服务设置为开机自启动,而使用systemctl disable [service]命令可以禁止一个系统服务开机自启动。

  6. 查看所有服务:使用systemctl list-units --type=service命令可以列出系统中所有的服务及其状态,可以方便地查看系统中正在运行的服务。

  7. 查看服务日志:使用journalctl -u [service]命令可以查看特定服务的日志信息,可以用来排查服务启动、运行过程中的错误和警告信息。

init pid 1 和 systemd:

  1. nit PID 1: 在Linux系统中,init是系统的第一个进程,其进程号(PID)通常为1。init在系统引导过程中启动,负责初始化系统环境、启动各种系统服务和进程。作为系统的第一个进程,init是所有其他进程的祖先进程,它负责监控和管理系统中的所有进程。

init进程的主要任务包括:

  • 启动系统服务和守护进程

  • 处理系统信号

  • 管理系统运行级别(Runlevel)

  • 处理系统关机和重启

在传统的SysVinit系统中,init进程会根据运行级别(Runlevel)启动不同的服务。然而,随着Systemd的出现,init的角色逐渐被Systemd所取代。

  1. Systemd: Systemd是一个系统和服务管理器,用于替代传统的SysVinit。Systemd引入了许多新的概念和功能,如并行启动服务、按需加载服务、基于单元文件的配置等,以提高系统的启动速度和效率。

Systemd的一些重要特点包括:

  • 单元文件(Unit files):Systemd使用单元文件来描述系统服务、挂载点、套接字等资源,并通过这些文件来管理系统的各个部分。

  • 单元(Unit):Systemd将系统中的各种资源抽象为单元,如服务单元、挂载点单元等,方便统一管理。

  • Socket激活(Socket activation):Systemd支持通过套接字激活服务,避免了不必要的服务预启动。

  • 并行启动(Parallel startup):Systemd可以并行启动系统中的服务,提高系统的启动速度。

  1. systemctl get-defaultsystemctl get-default命令用于获取当前系统的默认运行级别(target)。在Systemd中,运行级别被称为target,它定义了系统启动时需要启动的服务单元。通过systemctl get-default命令,可以查看当前系统默认的target是什么,即系统启动时会加载哪些服务单元。

  2. systemctl set-default multi-user.targetsystemctl set-default multi-user.target命令用于设置系统的默认运行级别(target)。在这个命令中,multi-user.target是一个Systemd的标准target,表示多用户模式。在多用户模式下,系统会启动基本的服务,但不会启动图形界面等资源密集型服务。

通过执行systemctl set-default multi-user.target命令,可以将系统的默认运行级别设置为多用户模式,这意味着系统将以文本模式启动,不会加载图形界面等服务。这在需要提高系统性能或者在服务器环境下运行时很有用。

运行级别:

0:操作系统(关机)

1:单用户运行级别,可以联网

2:多用户,不能联网

3:多用户运行级别有网,

4:预留级别

5:图形界面

6:重启

ssh访问控制(远程管理):

rpm -q openssh-server:查看是否有ssh包

systemctl status sshd:查看sshd服务运行状态

systemctl start sshd:启动

systemctl stop sshd:停止

systemctl enable sshd:开机自启动

systemctl disable sshd:关闭

编辑ssh配置文件:

vim /etc/ssh/sshd_config

port:监听的端口号

Listen:监听地址(ipv4,ipv6)

Hostkey:密钥

PermitRootLogin:远程登录

更多配置信息建议自行学习

远程自己:

命令格式:

ssh 用户名@地址

ssh root@127.0.0.1

配置免密:

ssh-keygen:生成密钥

id_rsa:私钥

id_rsa.pub:锁

将锁传给远程电脑:

ssh-copy-id root@127.0.0.1

效果:可以直接登录,不用输入密码

文件互传:

将文件传到mnt目录下:

scp h.txt root@127.0.0.1:/mnt

时间服务:

date:

查看当前时间

timedate:

Local:本地时间

RTC:硬件时间

Time zone:时区

hwclock --show:

更精准的硬件时间

查看是否安装时间服务器:

rpm -q chrony

时间配置文件

vim /etc/chrony.conf

启动时间服务:

systemctl start chronyd

对比上述没有启动时的:

cron计划任务:

编辑计划任务:

crontab -e -u root
时间 计划 任务

*分 *时 *日 *月 *周 shell命令

0 18(每天18点) *(每天) *(每月) 1-5(周一到周五) poweroff:周一-周五下午6点执行关机操作

每周六、天凌晨做数据备份备份:

0 0 * * 6,7 tar -cf home.tar.gz /home

每周隔两天凌晨做数据备份备份:

0 0 */2 * * * tar -cf home.tar.gz /home

系统信息:

查看系统版本:

cat /etc/os-release

cpu信息:

ls cpu

登录信息:

last:所有用户的登录信息

内存信息:

total:总共可用的

used:已使用的

free:剩余

shared:共享使用

buff(系统数据)/cache(用户数据):缓存

available:可供应用程序使用的

清空缓存:

echo 3(1 or 2) > /proc/sys/vm//drop_caches

1:系统数据

2:用户数据

3:系统和用户数据

 进程管理:

  1. toptop命令用于实时显示有关运行中进程、CPU使用情况、内存使用情况和其他系统资源的信息。它提供了一个交互式界面,用于监视和管理进程。

  2. psps命令用于显示有关当前运行进程的信息。它可以显示在特定时刻运行的进程的快照,或提供进程的持续列表。

  3. pstrepstre命令不是标准的Linux命令。您可能指的是自定义的或第三方命令,用于提供与进程相关的信息。如果您指的是您所指的名为pstre的特定命令或工具,请提供更多细节,以便我能够进一步帮助您。

ps aux

a:当前终端下的所有进程

x:当前用户下的所有进程

u:输出格式

  1. PID: 进程的唯一标识符,即进程ID。

  2. CPU: 进程在CPU上的占用情况,即进程的CPU利用率。

  3. VSZ: 进程所占用的虚拟内存大小,单位为KB。

  4. RSS: 进程使用的实际物理内存大小,即Resident Set Size,单位为KB。

  5. TTY: 控制终端的名称。

  6. STAT: 进程的状态,例如R表示运行,S表示睡眠,Z表示僵尸进程等。

  7. START: 进程启动的时间。

  8. TIME: 进程在CPU上的累计执行时间。

  9. COMMAND: 启动进程的命令行。

kill -l:

列出进程管理方式

9:杀死进程

18:恢复进程

19:停止进程

kill -9 进程id:杀死进程

kill -18 进程id:恢复进程

kill -19 进程id:停止进程

jobs:

  1. jobs命令的格式和用法:

    • 格式:jobs [options]
    • 用法:jobs命令用于显示当前shell会话中正在运行的作业列表。
      • 可选参数:
        • -l:显示作业号、PID以及作业的状态。
        • -p:仅显示与作业相关的进程组ID。
        • -r:仅显示正在运行的作业。
        • -s:仅显示已停止的作业。

fg:

  1. fg命令的格式和用法:

    • 格式:fg [job_spec]
    • 用法:fg命令用于将一个后台作业切换到前台运行。
      • 参数:
        • job_spec:作业号或作业标识符,指定要切换到前台的作业。
          • 作业号:使用作业列表中的编号,如%1表示作业号为1的作业。
          • 作业标识符:使用%后跟作业号或进程组ID,如%3%group_id

日志管理:

log:标识一般信息或事件的记录

bug:标识日志中的错误或异常情况

err:标识日志中的错误信息

ls /var/log/:查看日志文件

messages:系统服务

日志优先级:

  1. 0 - Emergency (紧急): 表示系统不可用或者出现严重错误,需要立即采取行动。

  2. 1 - Alert (警报): 表示需要立即采取行动,但不一定需要立即停止系统。

  3. 2 - Critical (严重): 表示严重的错误,需要立即解决。

  4. 3 - Error (错误): 表示出现错误,但系统仍然可以继续运行。

  5. 4 - Warning (警告): 表示可能出现问题,需要引起注意。

  6. 5 - Notice (通知): 表示普通但重要的消息。

  7. 6 - Informational (信息): 表示提供一般信息。

  8. 7 - Debug (调试): 表示调试信息,通常用于开发和调试目的。

jourbalctl -n 日志级别:查询日志级别信息

磁盘分区管理:

MBR格式:2T及以下

GPT格式:128个分区,2T以上

lsblk:

列出磁盘信息

fdisk:

分区格式化

mkfs:

格式化

mount:

挂载

lvm逻辑卷:

流程:

创造物理卷--->创造卷组--->将卷组内容添加到逻辑卷中

  • pvs:显示物理卷的信息。
  • vgs:显示卷组的信息。
  • lvs:显示逻辑卷的信息。

创造物理卷:

pvcreate /dev/sdb5

创造卷组:

vgcreate vgs(名称可以自定义) /dev/sdb5

逻辑卷:

lvcreater -l +100%free -n lvs(名称自定义:逻辑卷的名字) vgs(卷组名)

+100%:将所有的空间全部给它

交换分区:

交换分区格式化:

mkswap /dev/adb7

vim /etc/fastab

打开分区:

swapon -s

关闭分区:

sponoff -s

RAID磁盘阵列:

RAID(Redundant Array of Independent Disks)是一种通过将多个磁盘组合在一起来提高数据存储性能、容量和冗余度的技术。在Linux系统中,可以使用软件RAID来创建和管理RAID磁盘阵列。常用的RAID级别包括RAID 0、RAID 1、RAID 5、RAID 10等,每种级别都有不同的特点和应用场景。

以下是一些在Linux中管理RAID磁盘阵列时常用的命令:

  1. mdadm: mdadm命令用于管理Linux软件RAID设备。常用选项包括:

    • mdadm --create: 创建一个新的RAID设备。

    • mdadm --manage: 管理现有的RAID设备,如添加、删除、故障转移等。

    • mdadm --detail: 显示RAID设备的详细信息。

    • mdadm --monitor: 监控RAID设备的状态。

  2. cat /proc/mdstat: 查看当前系统中的RAID设备状态和信息。

  3. mdadm.conf: 配置文件,用于指定系统启动时要激活的RAID设备。

  4. mdadm --assemble: 在系统启动时重新组装RAID设备。

  5. mdadm --fail / mdadm --remove: 将一个磁盘标记为失败或从RAID设备中移除。

  6. mdadm --add: 将一个新的磁盘添加到RAID设备中。

  7. mdadm --grow: 调整RAID设备的大小或级别。

系统启动流程:

流程:

  1. BIOS(Basic Input/Output System)或UEFI(Unified Extensible Firmware Interface):计算机开机时首先加载BIOS或UEFI固件,进行硬件自检和初始化,并选择引导设备。

  2. MBR(Master Boot Record)或GPT(GUID Partition Table):在选择的引导设备上,系统会读取MBR或GPT分区表,确定操作系统所在的分区。

  3. Bootloader:根据MBR或GPT中的引导标志,系统会加载相应的引导加载程序(Bootloader),如GRUB2(GRand Unified Bootloader 2)。

  4. GRUB2:GRUB2是常用的引导加载程序,它会显示引导菜单,允许用户选择要启动的操作系统或内核。GRUB2的配置文件通常为/boot/grub/grub.cfg

  5. 内核加载:一旦用户选择了要启动的操作系统或内核,GRUB2会加载相应的内核文件和初始内存盘(initrd)。

  6. 系统初始化:内核启动后,会初始化系统硬件、加载驱动程序和文件系统,并启动第一个用户空间进程(init进程)。

关键命令和配置文件:

  • boot:在BIOS或UEFI中选择引导设备。

  • grub-install:安装GRUB2引导加载程序。

  • grub-mkconfig:生成GRUB2的配置文件。

  • /etc/default/grub:GRUB2的默认配置文件,用于设置引导菜单等选项。

  • /boot/grub/grub.cfg:GRUB2的配置文件,包含引导菜单的内容。

  1. boot:在BIOS或UEFI中选择引导设备。

    • 格式:根据具体计算机的BIOS或UEFI界面进行选择引导设备的操作。

  2. grub-install:安装GRUB引导加载程序。

    • 格式:grub-install [选项] [目标设备]

    • 示例:grub-install /dev/sda

  3. grub-mkconfig:生成GRUB的配置文件。

    • 格式:grub-mkconfig -o [配置文件路径]

    • 示例:grub-mkconfig -o /boot/grub/grub.cfg

  4. reboot:重新启动系统。

    • 格式:reboot

  5. shutdown:关闭系统。

    • 格式:shutdown [选项] [时间]

    • 示例:shutdown now

  6. systemctl:用于管理系统服务和启动项。

    • 格式:systemctl [命令] [服务名]

    • 示例:systemctl start sshd

  7. journalctl:查看系统日志。

    • 格式:journalctl [选项]

    • 示例:journalctl -xe

  8. lsblk:列出系统中的块设备信息,包括分区和磁盘。

    • 格式:lsblk [选项]

    • 示例:lsblk

  9. blkid:显示块设备的UUID和文件系统类型。

    • 格式:blkid [设备名]

    • 示例:blkid /dev/sda1

  10. mount:挂载文件系统。

    • 格式:mount [选项] [设备名] [挂载点]

    • 示例:mount /dev/sdb1 /mnt/data

  11. umount:卸载文件系统。

    • 格式:umount [挂载点]

    • 示例:umount /mnt/data

  12. ifconfigip:配置网络接口。

    • 格式:ifconfig [接口名] [选项]ip [命令] [对象]

    • 示例:ifconfig eth0 upip addr show

  13. route:查看和配置路由表。

    • 格式:route [选项]

    • 示例:route -n

  14. ping:测试网络连通性。

    • 格式:ping [目标地址]

    • 示例:ping www.example.com

  15. hostname:查看或设置主机名。

    • 格式:hostname [选项]

    • 示例:hostnamehostnamectl set-hostname myhostname

破解密码:

1.在boot引导时按下e键进入紧急引导--->grub界面

按e键:

2.将原来的只读(ro)修改为读写(rw)

3.在末行加入解释器:init=/bin/bash

4.ctr+x执行进入到紧急模式

5.输入passwd root

防火墙:

在Linux系统中,防火墙是用于保护系统安全的重要组件,可以通过控制数据包的流动来提高系统的安全性。在Linux系统中,防火墙的功能通常由内核(kernel)提供,并且可以与安全模块如SELinux(Security-Enhanced Linux)结合使用。

SELinux:

  1. Enforcing:在这种模式下,SELinux会强制执行安全策略,拒绝任何违反策略的操作,并记录在日志中。

  2. Permissive:在这种模式下,SELinux会允许违反安全策略的操作,但会记录在日志中,不会阻止操作。

  3. Disabled:在这种模式下,SELinux完全被禁用,不会对系统资源进行任何访问控制。

命令格式和使用方法:

  • 查看SELinux状态

    • 命令:sestatus

    • 作用:显示当前SELinux的状态,包括工作模式(enforcing、permissive或disabled)和其他相关信息。

  • 临时修改SELinux模式

    • 命令:setenforce [0|1]

    • 作用:临时修改SELinux的工作模式。0表示Permissive模式,1表示Enforcing模式。

  • 永久修改SELinux模式

    • 编辑配置文件/etc/selinux/config,将SELINUX=后面的值修改为enforcingpermissivedisabled来设置SELinux的工作模式。

    • 重启系统使更改生效。

  • 修改SELinux上下文

    • 命令:chcon

    • 作用:用于修改文件或目录的SELinux上下文,包括文件类型、标签等。

firewall-cmd:

firewall-cmd命令是用于配置和管理Firewalld防火墙的命令行工具。Firewalld是一个动态的、管理方便的防火墙解决方案,可以在运行时动态地管理防火墙规则,而无需重启防火墙服务。

firewall-cmd命令及其功能:

  • 查看防火墙状态

    • firewall-cmd --state:显示防火墙的当前状态(是否运行)。

  • 查看防火墙规则

    • firewall-cmd --list-all:显示所有防火墙规则,包括区域、服务、端口等信息。

  • 开启/关闭防火墙

    • firewall-cmd --state:显示当前防火墙状态。

    • firewall-cmd --reload:重新加载防火墙规则,使更改生效。

    • firewall-cmd --runtime-to-permanent:将运行时的规则保存为永久规则。

  • 管理防火墙规则

    • firewall-cmd --zone=public --add-port=80/tcp:在公共区域添加允许TCP端口80的规则。

    • firewall-cmd --zone=public --remove-port=80/tcp:在公共区域移除TCP端口80的规则。

    • firewall-cmd --zone=public --add-service=http:在公共区域添加允许HTTP服务的规则。

    • firewall-cmd --zone=public --remove-service=http:在公共区域移除HTTP服务的规则。

  • 设置默认区域

    • firewall-cmd --set-default-zone=public:设置默认区域为公共区域。

firewall-cmd --list-all
列出所有的防火墙规则和设置

firewall-cmd --parmanent --zone=public --add-service=http
在防火墙配置中永久性地添加一个规则,允许HTTP流量通过public区域

重新加载防火墙配置:

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐