Linux-网络安全私房菜(二)

news/2025/10/18 19:21:45/文章来源:https://www.cnblogs.com/dhan/p/19150073

目录
  • 防火墙
    • 防火墙简单操作
    • iptables
    • tips建议
  • 系统资源篇章
    • 理解数据流
    • 输出重定向
    • stress压力测试命令
    • free命令
    • netstat命令
    • ss命令
  • 软件包篇章
    • rpm包管理
    • dpkg包管理
  • 磁盘篇章
    • MBR
      • fdisk
    • GPT(GUID)
      • gdisk
    • parted 转换分区类型
    • 查看系统的磁盘使用情况
      • lsblk
    • 文件系统类型
    • mkfs格式化文件系统
    • mount挂载分区
    • inode、block
      • inode
      • block
    • 软、硬链接

防火墙

先找到防火墙的服务名字才能开启

# 先列出所有单元,过滤出fire关键字,你就会拿到完整服务名为:firewalld.service
systemctl list-units  | grep fire# 查看服务状态,这个命令,其实是找到一个服务脚本文件,这个就是一个脚本来的,可以cat查看
systemctl status firewalld.service

防火墙简单操作

# 列出区域模板,以及具体的信息
firewall-cmd --list-all-zones# 列出所有的区域的名字
firewall-cmd --get-zones
# block dmz drop external home internal public trusted work# 列出当前使用的区域是
firewall-cmd --get-default-zone # 查看当前的public区域,以及其详细信息
# 列出当前使用的区域,以及详细信息
firewall-cmd --list-all # 一般用来你添加了什么开放的端口后来查看是否添加成功
  • 添加准入端口
# 给当前的防火墙区域,添加一个策略,允许80端口通过
firewall-cmd --add-port=80/tcp
  • 针对服务名添加,比如ntp服务
firewall-cmd --add-service=ntp
  • 删除,添加规则
firewall-cmd --remove-port=80/tcp
firewall-cmd --remove-service=ntp

iptables

firewalld,作用其实是添加iptables的规则

  • 查看系统上所有iptables的命令
iptables -L
  • 查看到firewalld命令,添加的防火墙规则如下
iptables -L |grep ntp

tips建议

# 永久性添加,加上--permanent参数即可
firewall-cmd  --permanent --add-port=8000/tcp# 关于很多程序,配置不会立即生效,需要reload重新读取配置文件方可生效
firewall-cmd --reload

系统资源篇章

理解数据流

执行linux命令时,linux默认为用户进程提供了3种数据流

  • stdin
      - 标准输入、0
      - 一般是键盘输入数据
      - 比如cat命令等待用户输入
  • stdout
      - 标准输出、1
      - 程序执行结果,输出到终端
  • stderr
      - 标准错误输出,代号,2
      - 程序执行结果,输出到终端

输出重定向

# 输入重定向,原本是来自于终端的键盘输入,改为了,可以是来自于文件的输入
cat < /etc/passwd# 比如用在数据库的,数据导入
mysql < /opt/back.sql 
  • 2>&1
# 就是当你有错误的时候,也把错误信息当做标准输出
ls /oppppppppppppppppppppp   > /tmp/opt.log      2>&1
# 这样就是即使有错误,也会把错误信息写入到opt.log中

stress压力测试命令

运行多进程,测试查看cpu压力

1.安装stress工具
yum install stress -y2.使用stress命令,给机器进行压力测试,这个命令会让你的机器,cpu达到100%,以此实现最高压的环境
# --cpu 4 让4个c
stress --cpu 1  --timeout 600

free命令

netstat命令

network status,网络状态命令

命令:netstat作用:查看网络连接状态语法:netstat -tnlp选项:-t:表示只列出tcp 协议的连接;(你可以看到你的nginx的运行)-n:表示将地址从字母组合转化成ip 地址,将协议转化成端口号来显示;(netsta默认会看到机器的主机名 -n 直接显示ip)-l :表示过滤出"state(状态)"列中其值为LISTEN(监听)的连接;(你的nginx是否监听了0.0.0.0:80)确认端口在运行中,等待客户来访问-p:表示显示发起连接的进程pid 和进程名称; (显示使用该端口的进程的id号)-u  :查看udp连接  (ntpd服务)netstat -tunlp |grep nginx  netstat -tunlp | grep ntp

ss命令

用法和netstat一模一样ss -tunlp |grep nginx

在高并发场景下,也就是机器的链接数特别多的时候,使用ss性能比netstat更高一些。

软件包篇章

rpm包管理

更详细的可以查看帮助命令--help,下面只介绍简单常用的命令

  • 安装
rpm -ivh xxx.rpm
-i(install)  安装
-v(verbose)  显示详细信息
-h(hash)  显示进度
  • 更新
rpm -Uvh 软件包rpm -Fvh  软件包-U(upgrade)  升级upgrade:安装有旧版程序包,则“升级”  如果不存在旧版程序包,则“安装”  freshen:安装有旧版程序包,则“升级”  如果不存在旧版程序包,则不执行升级操作  
--oldpackage:降级  
--force: 强制安装
  • 卸载
rpm -e 包名-e(erase)  卸载--nodeps  不检查依赖性
  • 查询
# 查询更加详细一点
rpm -qi xxx# 其他参数
-q 软件包名 查询已安装过的软件包名。  
-qa 列出所有的已安装过的rpm包  -qa "name*"    -qa | grep name  
-qf 查询一个文件来自于哪一个rpm包 (已安装的rpm)  
-q --changelog 版本更新日志  
**-qc 查询软件包的配置文件(不是所有包都有配置文件)**  
-qd 查询软件包的帮助文档  
-qi 查询软件包的详细信息  
-ql 查询软件包所安装到系统当中的所有文件路径  
-q --scripts 查询软件包自带的脚本  
-q --provides 查询自身的功能(能够提供的依赖)  
-qR 查询实现自身的功能需要什么能力(需要的外部依赖)  
-qp[licd] rpm包 查看未安装的rpm包的各项信息

dpkg包管理

  • 安装
dpkg -i package_name.deb
  • 查询软件包信息
dpkg -l# -s参数代表查询状态(show)。它会显示软件包的详细信息,包括版本号、描述等。
dpkg -s package_name
  • 卸载
dpkg -r package_name
  • 修复损坏的软件包
#  这里的--configure -a参数表示自动配置所有已安装但尚未配置的软件包
dpkg --configure -a
  • 更新
dpkg --update-availabilities
  • 搜索相关软件包
# 这个命令会在已安装的软件包中搜索名称或描述中包含package_name的软件包
# 注意和-s参数不一样,-s是搜索你给出的这个软件包的详细信息
dpkg --search package_name
  • 强制忽略依赖关系安装
# --force-depends参数表示忽略依赖问题。但请注意,这可能导致系统不稳定,应谨慎使用。
dpkg --force-depends -i package_name.deb

磁盘篇章

磁盘

l 磁头(head)数:每个盘片一般有上下两面,分别对应1个磁头,共2个磁头;

l 磁道(track)数:磁道是从盘片外圈往内圈编号0磁道,1磁道...,靠近主轴的同心圆用于停靠磁头,不存储数据;

l 柱面(cylinder)数:同磁道数量;

l 扇区(sector)数:每个磁道都别切分成很多扇形区域,每道的扇区数量相同,扇区大小是0.5KB是512字节,文件存储在硬盘中,最小存储单位就是扇区。

l 磁头读取扇区数据,是读取连续的多个扇区,称之为block(块)

l 圆盘(platter)数:就是盘片的数量。

  • 查看磁盘情况
# df看的是挂载之后的硬盘信息
dh -f 
或
lsblk

MBR

MBR极限是2TB容量


在linux中,分区默认是4个主分区=3个主分区+1个扩展分区
这个扩展分区的意思是记录后面你非主分区的扩展分区中有多少大小

注意mbr中四个主分区里有一个是扩展分区(逻辑上的主分区),但是他不属于后面的那个扩展分区
他这个的的意思是主分区里有一个叫做扩展分区的东西,这个东西是记录你扩展分区有多大,然后接下来后面的扩展分区中进行逻辑分区的时候要用


一定要弄清楚上面的几个分区的情况,我们在对MBR进行分区的时候一定要了解分到哪个地方了才行。


fdisk

只能操作MBR格式

语法格式:fdisk 要进行分区的磁盘

常用参数:

-b 指定每个分区的大小
-l 列出指定的外围设备的分区表状况
-s 将指定的分区大小输出到标准输出上,单位为区块
-u 搭配”-l”参数列表,会用分区数目取代柱面数目,来表示每个分区的起始地址
-v 显示版本信息
-m 查看全部可用参数
-n 添加新的分区
-d 删除某个分区信息
-t 改变某个分区的类型
-p 查看分区表信息
-w 保存并退出
-q 不保存直接退出
  • partx刷新分区
# 当你fdisk分区玩了之后,看不到分区的信息,是因为linux内核,还未更新分区表
# 得使用命令,重新读取磁盘的分区,直接指定你分区的那个盘进行刷新即可
partx /dev/sdb

GPT(GUID)

他和MBR的区别就是MBR只能对2TB的大小进行操作,大于2TB的剩下的就会浪费
那么大于2TB的时候就用GPT即可,分区个数无限制,那么也就可以对更大的荣两个进行分区了

  • GPT没有扩展分区,只有主分区和逻辑分区
  • 可以使用parted命令修改磁盘分区类型,但是建议从GPT改为MBR
    • 不建议从MBR改为GPT,很麻烦
  • 请注意,fdisk是只能操作MBR的,不能操作GPT的

linux默认情况下都是MBR分区,那么我们要对一个磁盘进行转换成GPT

fdisk 进入该磁盘后,使用d命令一个个分区删掉即可

gdisk

完整的菜单如下:

b 将GPT数据备份到一个文件

c 更改分区名称

d 删除一个分区

i 显示分区详细信息

l 列出已知分区类型。此处8200是Linux swap,8300是Linux filesystem(对应fdisk的82和83)。还有一个8e00是Linux LVM

n 增加一个新的分区

o 创建一个新的空白的GPT分区表

p 显示当前磁盘的分区表

q 退出gdisk程序,不保存任何修改

r 恢复和转换选项(仅限专家)

s 排序分区

t 改变分区的类型

v 验证磁盘分区表

w 将分区表写入裁判并退出(保存并退出)

x 额外功能(仅限专家)

? 显示帮助信息

parted 转换分区类型

使用parted命令修改磁盘分区类型,但是是从GPT改为MBR

ms-doc  这是mbr类型的名字
gpt 这是GUID分区表的类型名字parted /dev/sdb 
修改当前硬盘的分区表类型,改为gpt,注意如下操作会摧毁原有的数据
(parted) mklabel gpt  
使用print指令,查看分区表信息,以及分区表类型
(parted) print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: Number  Start  End  Size  File system  Name  Flags(parted)               

查看系统的磁盘使用情况

lsblk

文件系统类型

文件系统类型之间的区别

mkfs格式化文件系统

mkfs + tab 键补全

你会发现很多不同的系统文件类型命令,我们根据你想要格式化的那个文件系统磁盘的类型,使用对应的类型命令即可进行格式化

  • 格式化xfs文件系统
# 比如/dev/sdc1是xfs类型的
mkfs.xfs /dev/sdc1

mount挂载分区

  • mount挂载分区简单使用
# mount挂载命令
# mount 设备名      挂载点
mount /dev/sdc1 /opt/my_sdc/# 挂载的参数,设置(rw)是可读可写的# 取消挂载,注意,该挂载点,无人使用,才可以取消挂载
umount 挂载点# 查看挂载情况
mount -l# 设置永久挂载
编辑 /etc/fstab文件即可
挂载的设备   要挂载的文件夹    你挂载文件设备的这个文件类型       后面的默认即可
/dev/sdc1 /opt/my_sdc       xfs                             defaults 0 0 
# 完成上述设置后重启机器,mount -l 查看是否确实挂载到了,那就代表设置永久挂载成功
  • mount命令详解
功能:加载指定的文件系统。 语法:mount [-afFhnrvVw] [-L<标签>] [-o<选项>] [-t<文件系统类型>] [设备名] [加载点] 用法说明:mount可将指定设备中指定的文件系统加载到Linux目录下(也就是装载点)。可将经常使用的设备写入文件/etc/fstab,以使系统在每次启动时自动加载。mount加载设备的信息记录在/etc/mtab文件中。使用umount命令卸载设备时,记录将被清除。 常用参数和选项: -a 加载文件/etc/fstab中设置的所有设备。 
-f 不实际加载设备。可与-v等参数同时使用以查看mount的执行过程。 
-F 需与-a参数同时使用。所有在/etc/fstab中设置的设备会被同时加载,可加快执行速度。 
-h 显示在线帮助信息。 
-L<标签> 加载文件系统标签为<标签>的设备。 
-l 显示已加载的文件系统列表(同直接执行mount) 
-n 不将加载信息记录在/etc/mtab文件中。 
-o<选项> 指定加载文件系统时的选项。有些选项也可在/etc/fstab中使用。这些选项包括: async 以非同步的方式执行文件系统的输入输出动作。 atime 每次存取都更新inode的存取时间,默认设置,取消选项为noatime。 auto 必须在/etc/fstab文件中指定此选项。执行-a参数时,会加载设置为auto的设备,取消选取为noauto。 defaults 使用默认的选项。默认选项为rw、suid、dev、exec、anto nouser与async。 dev 可读文件系统上的字符或块设备,取消选项为nodev。 exec 可执行二进制文件,取消选项为noexec。 loop 用来把一个文件当成硬盘分区挂接上系统。 noatime 每次存取时不更新inode的存取时间。 noauto 无法使用-a参数来加载。 nodev 不读文件系统上的字符或块设备。 noexec 无法执行二进制文件。 nosuid 关闭set-user-identifier(设置用户ID)与set-group-identifer(设置组ID)设置位。 nouser 使一位用户无法执行加载操作,默认设置。 remount 重新加载设备。通常用于改变设备的设置状态。 ro 以只读模式加载。 rw 以可读写模式加载。 suid 启动set-user-identifier(设置用户ID)与set-group-identifer(设置组ID)设置位,取消选项为nosuid。 sync 以同步方式执行文件系统的输入输出动作。 user 可以让一般用户加载设备。 
-r 以只读方式加载设备。 
-t<文件系统类型> 指定设备的文件系统类型。常用的选项说明有: minix Linux最早使用的文件系统。 ext2 Linux目前的常用文件系统。 msdos MS-DOS 的 FAT。 vfat Win85/98 的 VFAT。 nfs 网络文件系统。 iso9660 CD-ROM光盘的标准文件系统。 ntfs Windows NT的文件系统。 hpfs OS/2文件系统。Windows NT 3.51之前版本的文件系统。 auto 自动检测文件系统。 ubifs (Unsorted Block Image File System, UBIFS)无序区块镜像文件系统是用于固态存储设备上,为JFFS2的后继文件系统之一。
-v 执行时显示详细的信息。 
-V 显示版本信息。 
-w 以可读写模式加载设备,默认设置。

实际案例

  • 挂载 ISO 镜像文件
# 1. 创建挂载点
sudo mkdir /mnt/iso# 2. 挂载 ISO 文件
sudo mount -o loop ubuntu-20.04.iso /mnt/iso# 3. 查看内容
ls /mnt/iso
  • 挂载网络共享 (NFS)
# 1. 创建挂载点
sudo mkdir /mnt/nfs# 2. 挂载 NFS 共享
sudo mount -t nfs 192.168.1.100:/shared /mnt/nfs# 3. 查看网络共享内容
ls /mnt/nfs
  • 挂载 Windows 共享 (CIFS/SMB)
# 1. 创建挂载点
sudo mkdir /mnt/windows# 2. 挂载 Windows 共享
sudo mount -t cifs //192.168.1.50/shared /mnt/windows -o username=user,password=pass# 或者使用凭据文件(更安全)
sudo mount -t cifs //192.168.1.50/shared /mnt/windows -o credentials=/home/user/.smbcredentials
  • 挂载选项
# 只读挂载
sudo mount -o ro /dev/sdb1 /mnt/usb# 读写挂载
sudo mount -o rw /dev/sdb1 /mnt/usb# 指定字符编码(解决中文乱码)
sudo mount -o iocharset=utf8 /dev/sdb1 /mnt/usb# 允许普通用户访问
sudo mount -o uid=1000,gid=1000 /dev/sdb1 /mnt/usb# 多个选项组合
sudo mount -o rw,uid=1000,gid=1000,umask=022 /dev/sdb1 /mnt/usb
  • 卸载文件系统
# 卸载设备
sudo umount /mnt/usb
# 或者
sudo umount /dev/sdb1# 如果设备繁忙,强制卸载
sudo umount -l /mnt/usb  # 延迟卸载
sudo umount -f /mnt/usb  # 强制卸载
  • 常见问题:
设备正忙无法卸载
# 查看哪个进程在使用挂载点
lsof /mnt/usb
fuser -m /mnt/usb
# 结束相关进程或切换到其他目录权限问题
# 查看当前用户 ID 和组 ID
id
# 挂载时指定正确的 UID 和 GID
sudo mount -o uid=1000,gid=1000 /dev/sdb1 /m

inode、block

linux读取文件内容顺序:文件名 > inode编号 > block

inode

  • inode的目的
文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小,最常见的是4KB,即连续八个 sector组成一个 block。当你机器上有大量的无用的小文件,空文件,白白消耗inode数量,touch 创建新文件,想分配inode编号,你会发现发现不够用了,显示no space for disk
(查看发现还有空间,但是你的inode数量肯定是没了)
# 查看文件,文件夹的inode号码
ls -i# stat也可以看到
stat xx
  • inode存储的内容
* 文件的字节数* 文件拥有者的User ID* 文件的Group ID* 文件的读、写、执行权限* 文件的时间戳,共有三个:ctime指inode上一次变动的时间,mtime指文件内容上一次变动的时间,atime指文件上一次打开的时间。* 链接数,即有多少文件名指向这个inode* 文件数据block的位置

可以用stat命令,查看某个文件的具体inode信息

block

block是linux实际存储数据的空间,是8个连续的扇区,(8*512bytes=4KB)
单个大文件需要用多个block来存储
特别小的文件即使不满足4KB,也只能浪费其空间。1 block =4kb

软、硬链接

软连接文件存储的是源文件的路径。

# 创建语法
ln -s 源文件 目标文件创建软连接 ln -s参数去创建软连接
↓
当你访问软连接文件,其实是
↓
访问到源文件的路径,源文件的文件名
↓
访问源文件的inode编号  ls -i filename
↓
inode找到block,访问到数据

软连接特点
1.软连接文件的inode号和源文件不同,作用是存储源文件的路径
2.命令ln -s创建
3.删除普通软连接,不影响源文件
4.删除源文件,软连接找不到目标,报错提示。

硬链接,就是一个数据(block)被多个相同inode号的文件指向。
硬链接,不得跨分区设置(inode号,是基于分区来创建)

# 创建语法
ln 源文件 目标文件

硬链接特点
1.可以对已存在的文件做硬链接,该文件的硬链接数,至少是1,为0就表示文件不存在
2.硬链接的文件,inode相同,属性一致
3.只能在同一个磁盘分区下,同一个文件系统下创建硬链接
4.不能对文件夹创建硬链接,只有文件可以
5.删除一个硬链接,不影响其他相同inode号的文件
(也就是说等你删完所有硬链接这个文件才会消失)
6.文件夹的硬链接,默认是2个,以及是2+(第一层子目录总数)=文件夹的硬链接数量
7.可以用任意一个硬链接作为入口,操作文件(修改的其实是block中的数据)
8.当文件的硬链接数为0时,文件真的被删除

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pycharm使用远程的ssh的解释器

今天使用了远程ssh的解释器1.使用 专业版本的pycharm 2. 3. 解释器使用 .conda/envs/.../lth/python.exe 4. 5. 如果你有一些数据集也在这附近,需要把数据集 exclude掉 总的来说, 这么做就够了。 可惜我老师只有…

Android SSL Pinning检测利器:SSLPinDetect技术解析

本文详细介绍了SSLPinDetect工具的技术原理和实现,这是一个用于Android应用安全分析的SSL Pinning检测工具,通过多线程扫描、内存映射读取和预编译正则表达式等技术,实现高效的静态代码分析。SSLPinDetect:Android…

AI元人文:社区调解的数字剧场

AI元人文:社区调解的数字剧场 在AI元人文的视野下,社区调解经历了一场深刻的范式转变——从对错的裁判转变为多方价值诉求在特定情境舞台上的创造性对话。这不仅是方法的升级,更是对调解本质的重新定义。 一、从对抗…

2025年粉末冶金制品/零件厂家推荐排行榜,专业制造与高品质服务的首选!

2025年粉末冶金制品/零件厂家推荐排行榜,专业制造与高品质服务的首选!随着工业技术的不断进步和市场需求的多样化,粉末冶金制品及零件在各个领域的应用越来越广泛。为了帮助采购决策者筛选出优质的粉末冶金制品及零…

详细介绍:【探寻C++之旅】第十六章:unordered系列的认识与模拟实现

详细介绍:【探寻C++之旅】第十六章:unordered系列的认识与模拟实现pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: &qu…

Dubbo入门-Dubbo的快速使用

什么是Dubbo Dubbo是一个分布式、高性能、透明化的RPC服务框架。 提供服务自动注册、自动发现等高效的服务治理方案,可以和Spring框架无缝集成。 Dubbo中服务端最核心的对象:ApplicationConfig:配置当前应用信息 Pr…

15 接口的介绍

15 接口的介绍接口 专业的抽象 定义 只有规范,自己无法写方法 规范的含义是,定义规则,即‘若,则’这类规范。 如:如果你是老师,则你要具备教学生的能力。 使用 public interface Name1{//接口中的所有定义都是抽…

傅里叶变换及DCT点滴

上图来自 PDF Fourier Transforms and the Fast Fourier Transform (FFT) Algorithm, Paul Heckbert. 如果a_n都相等的话,A_k是等比数列求和. 为啥傅里叶变换在解密中也有用?因为解密涉及大整数的分解,which涉及一…

【未完待续】MkDocs 部署安装教程

MkDocs 简介MkDocs 是一个基于 Python 的 Markdown 的静态网站生成工具,常用于快速搭建项目文档网站。 它界面简洁大方,配置简单,生成速度快,特别适合技术手册、内部知识库等场景,并可部署到 Github Pages,因此深…

傅里叶变换点滴

上图来自 PDF Fourier Transforms and the Fast Fourier Transform (FFT) Algorithm, Paul Heckbert. 如果a_n都相等的话,A_k是等比数列求和. 为啥傅里叶变换在解密中也有用?因为解密涉及大整数的分解,which涉及一…

[PaperReading] SAIL-Embedding Technical Report: Omni-modal Embedding Foundation Model

目录SAIL-Embedding Technical Report: Omni-modal Embedding Foundation ModelTL;DRDataRecommendation-aware Data ConstructionDynamic Hard Negative MiningQ:动态难负样本挖掘是什么原理?\(\lambda^*\)是如何动…

How to Practice English Daily for 30 mins

How to Practice English Daily for 30 minsWelcome to Bookish English 2. Tell me honestly, how many times have you said, "Ill start learning English tomorrow." But tomorrow never comes, right?…

Flash 8.0下载安装

Flash 8.0下载安装https://www.yutu.cn/softhtml/softsetup_136.html

英伟达个人AI超算Spark技术解析

英伟达DGX Spark个人AI超级计算机将于10月15日上市,搭载GB10 Grace Blackwell超级芯片,具备每秒千万亿次计算能力,支持高达2000亿参数AI模型,为研究人员提供桌面级AI训练解决方案。英伟达“个人AI超级计算机”将于…

[buuctf]jarvisoj_level3_x64

首先查看一下文件的保护措施在用ida打开看一下这里很明显在read函数进行输入的时候存在栈溢出,然后观察一下文件,没有后门函数,也没有可以用的binsh,那就可以向libc泄露这方面去想了 由于这里是64位的程序,所以在调…

SpringBoot系列十三:SpringBoot面试常见问题

你觉得 SpringBoot 最大的优势是什么呢? 答:SpringBoot 的最大的优势是“约定优于配置“。“约定优于配置“是一种软件设计范式,开发人员按照约定的方式来进行编程,可以减少软件开发人员需做决定的数量,获得简单的…

人生四大支柱 - 健康,金钱,工作,关系

人生四大支柱 如果把人生看作是一座大厦,想要这座大厦扛过人生一路的风风雨雨,让他能安稳长久,必须有坚实的支柱支撑大厦。 细数下来,最主要的有四根柱子:健康、金钱、工作、关系。它们相互依存,缺了哪一根,生活…

【Docker项目实战】使用Docker部署IT运维管理平台CAT - 指南

【Docker项目实战】使用Docker部署IT运维管理平台CAT - 指南2025-10-18 17:52 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !importa…

2025 夹丝玻璃源头厂家最新推荐排行榜:解析防火 / 艺术 / 酒店等多场景厂商优势,助力精准选型

引言随着夹丝玻璃在防火防爆、艺术装饰、高端家居等场景的应用愈发广泛,市场需求持续攀升,但行业乱象也随之凸显。部分厂商缺乏核心技术,产品强度、透光率等关键指标未达 GB/T 18091 标准,金属丝分布不均、粘结强度…