Linux分区、挂载、配额、逻辑卷、RAID、系统综合状态查看
分区与挂载
fdisk
- fdisk 命令是一个用于磁盘分区管理的命令行工具,可以用来创建、删除、调整分区等操作。常用的 fdisk 命令选项包括:
fdisk -l:列出系统中的所有磁盘分区信息。
fdisk /dev/sdX:打开指定磁盘进行分区操作。
n:创建新分区。
d:删除分区。
p:显示分区表。
w:保存并退出。
mount
- mount 命令用于将文件系统挂载到指定的挂载点上,使得文件系统中的内容可以被访问。常用的 mount 命令选项包括:
mount /dev/sdX /mnt:将设备 /dev/sdX 挂载到挂载点 /mnt。
mount -t ext4 /dev/sdX /mnt:指定文件系统类型为 ext4 进行挂载。
mount -o remount,rw /mnt:重新挂载为可读写模式。
umount /mnt:卸载挂载点 /mnt。
临时挂载和配置文件挂载
临时挂载
临时挂载是指在当前系统会话中手动挂载文件系统,挂载的效果仅在当前系统重启前有效。临时挂载通常用于临时需要访问某个文件系统或临时调试的情况。以下是临时挂载的步骤:
-
创建挂载点:在系统中选择一个目录作为挂载点,例如
/mnt。sudo mkdir /mnt/mydrive -
挂载文件系统:使用
mount命令将文件系统挂载到指定的挂载点上。sudo mount /dev/sdX1 /mnt/mydrive -
访问文件系统:挂载完成后,您可以通过挂载点
/mnt/mydrive访问文件系统中的内容。
配置文件挂载
配置文件挂载是指在系统启动时自动挂载文件系统,通过编辑配置文件实现。配置文件挂载可以确保文件系统在系统启动时自动挂载,提高系统的稳定性和可靠性。以下是配置文件挂载的步骤:
-
编辑 /etc/fstab 文件:打开
/etc/fstab文件,添加需要挂载的文件系统信息。sudo nano /etc/fstab -
添加挂载信息:在
/etc/fstab文件中添加需要挂载的文件系统信息,包括设备、挂载点、文件系统类型和挂载选项。/dev/sdX1 /mnt/mydrive ext4 defaults 0 0 -
重新挂载文件系统:可以手动重新挂载所有在
/etc/fstab中定义的文件系统,或者重启系统使配置生效。sudo mount -a
通过配置文件挂载,可以实现系统启动时自动挂载文件系统,避免手动操作,提高系统的自动化程度。
总结
- 临时挂载:手动挂载文件系统,在当前系统会话中有效。
- 配置文件挂载:通过编辑
/etc/fstab文件实现系统启动时自动挂载文件系统。
希望这些信息对您详细介绍了临时挂载和配置文件挂载的过程。如果您有任何其他问题或需要进一步了解,请随时提出。
mkfs 命令 用于格式化分区并创建文件系统。
mkfs 命令用于创建文件系统。它可以将指定的分区格式化为特定类型的文件系统。常用的 mkfs 命令选项包括:
-
创建 ext4 文件系统:
mkfs.ext4 /dev/sdX1 -
创建 xfs 文件系统:
mkfs.xfs /dev/sdX1 -
创建 FAT32 文件系统:
mkfs.vfat /dev/sdX1 -
创建其他类型的文件系统:可以使用
mkfs命令的其他变体(如mkfs.btrfs、mkfs.ntfs等)来创建不同类型的文件系统。
parted 命令 用于管理磁盘分区,包括创建、删除和调整分区。
parted 命令是一个用于管理磁盘分区的工具,支持更复杂的分区操作。常用的 parted 命令选项包括:
-
启动 parted:
parted /dev/sdX -
显示分区表:
(parted) print -
创建新分区:
(parted) mkpart primary ext4 1MiB 100MiB -
删除分区:
(parted) rm 1 -
调整分区大小:
(parted) resizepart 1 200MiB -
设置分区标志:
(parted) set 1 boot on
分区和挂载磁盘配额
磁盘配额(Disk Quota)是用于限制用户或用户组在文件系统中使用的磁盘空间的机制。通过设置磁盘配额,可以有效管理磁盘资源,防止某个用户或用户组占用过多的磁盘空间。以下是设置和管理磁盘配额的步骤:
1. 启用配额支持
在挂载文件系统时,需要启用配额支持。可以通过编辑 /etc/fstab 文件来实现。
-
打开
/etc/fstab文件:sudo nano /etc/fstab -
在需要启用配额的文件系统挂载选项中添加
usrquota和/或grpquota,例如:/dev/sdX1 /mnt/mydrive ext4 defaults,usrquota,grpquota 0 0
2. 重新挂载文件系统
修改完 /etc/fstab 后,需要重新挂载文件系统以使配额设置生效:
sudo mount -o remount /mnt/mydrive
3. 创建配额数据库
使用 quotacheck 命令创建配额数据库文件:
sudo quotacheck -cug /mnt/mydrive
-c:创建配额文件。-u:检查用户配额。-g:检查组配额。
4. 启用配额
使用 quotaon 命令启用配额:
sudo quotaon /mnt/mydrive
5. 设置配额
使用 edquota 命令为特定用户设置配额:
sudo edquota username
这将打开一个编辑器,您可以在其中设置软限制和硬限制:
- 软限制:用户可以超过此限制,但会收到警告。
- 硬限制:用户不能超过此限制。
6. 查看配额
使用 quota 命令查看用户的配额使用情况:
quota -u username
7. 取消配额
如果需要取消配额,可以使用 quotaoff 命令:
sudo quotaoff /mnt/mydrive
例子
xfs_quota -x -c 'report --ugibh' /mnt/disk1
这条命令用于生成指定路径 /mnt/disk1 下的磁盘配额报告。
-x 选项表示以扩展格式显示报告。
-c ‘report --ugibh’ 表示执行 report 命令,并使用 --ugibh 选项指定显示用户(u)、组(g)、inode(i)、块(b)和文件硬链接(h)的配额信息。
xfs_quota -x -c 'limit -u isoft=5 ihard=10 user1' /mnt/disk1
这条命令用于为用户 user1 设置磁盘配额限制。
-x 选项表示以扩展格式显示报告。
-c ‘limit -u isoft=5 ihard=10 user1’ 表示执行 limit 命令,设置用户 user1 的软限制(isoft=5)和硬限制(ihard=10)。
isoft=5 表示软限制为 5 个文件或目录。
ihard=10 表示硬限制为 10 个文件或目录。
扩充swap空间
使用一个分区扩充 Swap 分区:
-
创建一个文件用于扩充 Swap 分区:
sudo fallocate -l 1G /path/to/new_swapfile -
将文件设置为 Swap 文件:
sudo mkswap /path/to/new_swapfile -
启用新的 Swap 文件:
sudo swapon /path/to/new_swapfile -
永久配置新的 Swap 文件:
- 在
/etc/fstab文件中添加以下行:/path/to/new_swapfile none swap sw 0 0
- 在
-
重新加载 Swap 配置:
sudo swapon -a
使用一个分区扩充 Swap 分区:
-
创建一个分区,例如
/dev/sdX2。 -
将分区设置为 Swap 分区:
sudo mkswap /dev/sdX2 -
启用新的 Swap 分区:
sudo swapon /dev/sdX2 -
永久配置新的 Swap 分区:
- 在
/etc/fstab文件中添加以下行:/dev/sdX2 none swap sw 0 0
- 在
-
重新加载 Swap 配置:
sudo swapon -a
配置文件中设置 Swap 分区:
-
编辑
/etc/fstab文件:- 打开
/etc/fstab文件:sudo nano /etc/fstab - 添加 Swap 分区或文件的配置信息,例如:
/path/to/new_swapfile none swap sw 0 0 或 /dev/sdX2 none swap sw 0 0
- 打开
-
重新加载 Swap 配置:
sudo swapon -a
fstab的含义
/etc/fstab 是 Linux 系统中的一个配置文件,用于定义文件系统的挂载信息。在 /etc/fstab 文件中,每一行都描述了一个文件系统的挂载信息,包括设备、挂载点、文件系统类型、挂载选项、备份频率和其他信息。以下是 /etc/fstab 文件中常见字段的含义:
-
设备(Device):指定要挂载的设备或分区的路径,可以是设备文件(如
/dev/sda1)或 UUID。 -
挂载点(Mount Point):指定文件系统挂载的目标目录,即文件系统将被挂载到哪个位置。
-
文件系统类型(File System Type):指定文件系统的类型,如 ext4、xfs、ntfs 等。
-
挂载选项(Mount Options):指定文件系统的挂载选项,如读写权限、自动挂载、不允许执行等。
-
备份频率(Dump):用于指定文件系统备份工具
dump的备份频率,通常设置为 0 表示不备份。 -
文件系统检查顺序(Fsck Order):用于指定文件系统检查工具
fsck的检查顺序,通常设置为 0 表示不检查。
一个典型的 /etc/fstab 文件示例可能如下所示:
/dev/sda1 / ext4 defaults 0 1
/dev/sdb1 /data xfs defaults 0 2
UUID=1234-5678 /mnt/external vfat defaults 0 0
在这个示例中:
/dev/sda1是设备路径,挂载到根目录/,文件系统类型为 ext4,使用默认挂载选项。/dev/sdb1是设备路径,挂载到/data目录,文件系统类型为 xfs,使用默认挂载选项,备份频率为 2。UUID=1234-5678是设备的 UUID,挂载到/mnt/external目录,文件系统类型为 vfat,使用默认挂载选项,不进行备份。
RAID
RAID(Redundant Array of Independent Disks)是一种通过将多个磁盘组合在一起来提高数据存储性能、容量和冗余度的技术。RAID 可以提供数据冗余、提高读写性能或同时实现两者的优势。以下是常见的 RAID 级别和其特点:
-
RAID 0:
- 条带化(Striping):数据被分割成块并分布在多个磁盘上,提高读写性能。
- 无冗余:没有数据冗余备份,一块磁盘损坏会导致数据丢失。
- 适用性:适合需要高性能而不需要数据冗余的场景。
-
RAID 1:
- 镜像(Mirroring):数据被同时写入两个磁盘,提供数据冗余备份。
- 读性能:读性能较好,写性能略低。
- 适用性:适合需要数据冗余备份的场景。
-
RAID 5:
- 条带化和分布式奇偶校验:数据和奇偶校验信息分布在多个磁盘上,提供数据冗余和读写性能。
- 容错性:可以容忍一块磁盘损坏,数据可恢复。
- 适用性:适合中等性能要求和数据冗余备份的场景。
-
RAID 6:
- 双分布式奇偶校验:比 RAID 5 多一个奇偶校验盘,可以容忍两块磁盘损坏。
- 更高容错性:可以容忍多块磁盘损坏,数据可恢复。
- 适用性:适合对数据安全性要求较高的场景。
-
RAID 10(也称为 RAID 1+0):
- 镜像和条带化:将多组磁盘进行镜像,然后对镜像组进行条带化。
- 性能和容错性:提供较高的读写性能和数据冗余备份。
- 适用性:适合对性能和数据冗余都有要求的场景。
使用mdadm命令用软件实现RAID
mdadm 是 Linux 系统中用于管理软件 RAID 的工具。以下是使用 mdadm 命令创建和管理软件 RAID 的基本步骤:
1. 安装 mdadm
在大多数 Linux 发行版中,可以通过包管理器安装 mdadm:
# 对于 Debian/Ubuntu
sudo apt-get install mdadm# 对于 CentOS/RHEL
sudo yum install mdadm
2. 创建 RAID
以下是创建不同类型 RAID 的示例命令:
创建 RAID 0
sudo mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/sda1 /dev/sdb1
创建 RAID 1
sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
创建 RAID 5
sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sda1 /dev/sdb1 /dev/sdc1
mdadm -D md0 # 可以查看raid磁盘信息
创建 RAID 6
sudo mdadm --create --verbose /dev/md0 --level=6 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
3. 查看 RAID 状态
cat /proc/mdstat
4. 停止 RAID
sudo mdadm --stop /dev/md0
5. 删除 RAID
sudo mdadm --remove /dev/md0
6. 保存 RAID 配置
为了在系统重启时自动加载 RAID,可以将 RAID 配置保存到 /etc/mdadm/mdadm.conf:
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
然后更新 initramfs:
sudo update-initramfs -u
7. 创建文件系统
在 RAID 设备上创建文件系统:
sudo mkfs.ext4 /dev/md0
8. 挂载 RAID
创建挂载点并挂载 RAID 设备:
sudo mkdir /mnt/raid
sudo mount /dev/md0 /mnt/raid
9. 在 /etc/fstab 中添加挂载信息
为了在启动时自动挂载 RAID,可以在 /etc/fstab 中添加以下行:
/dev/md0 /mnt/raid ext4 defaults 0 0
例子
sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc1
这条命令的含义是创建一个 RAID 等级为 1(镜像)的软件 RAID 设备 /dev/md0,由两个磁盘组成,分别是 /dev/sdb 和 /dev/sdc1。 RAID 1 提供数据镜像,即数据会同时写入两个磁盘,提供数据冗余备份。
- 添加到配置文件

这组命令的作用是创建一个 XFS 文件系统的软件 RAID 设备,并将其配置保存到/etc/mdadm.conf文件中。以下是每条命令的解释:
-
dd if=/dev/zero of=/dev/sdc bs=4M count=1:- 该命令的作用是向
/dev/sdc磁盘写入一个大小为 4MB 的零填充数据。 - 这个步骤通常用于清除磁盘上的数据或元数据,以便后续创建 RAID。
- 该命令的作用是向
-
echo DEVICE /dev/sd[b,c]1:- 这条命令输出了
/dev/sdb1和/dev/sdc1,指示这两个分区将被用于创建 RAID。
- 这条命令输出了
-
echo DEVICE /dev/sd[b,c]1 >> /etc/mdadm.conf:- 将上述输出追加到
/etc/mdadm.conf文件中,用于指定 RAID 设备的配置。
- 将上述输出追加到
-
mdadm -Evs >> /etc/mdadm.conf:- 该命令用于将当前系统中的 RAID 设备信息追加到
/etc/mdadm.conf文件中,以便在系统重启后重新加载 RAID。
- 该命令用于将当前系统中的 RAID 设备信息追加到
-
mkfs.xfs /dev/md0:- 这条命令用于在
/dev/md0上创建 XFS 文件系统,准备将其用作软件 RAID 设备的文件系统。
- 这条命令用于在
逻辑卷LVM
物理卷和逻辑卷
物理卷(Physical Volume):
- 物理卷是 LVM 中的基本存储单元,通常对应于一个磁盘分区或整个硬盘。
- 物理卷是通过 LVM 标记和管理的磁盘空间,可以将一个或多个物理卷组合成一个卷组(Volume Group)。
- 物理卷上的数据是以物理块(Physical Extents)的形式存储的,这些物理块组成了卷组的基本存储单元。
逻辑卷(Logical Volume):
- 逻辑卷是由卷组中的物理卷分配的虚拟磁盘空间,类似于传统的磁盘分区,但更加灵活和可调整。
- 逻辑卷可以动态调整大小,而无需重新分区或重新格式化磁盘。
- 逻辑卷上的数据是以逻辑块(Logical Extents)的形式存储的,逻辑块可以映射到物理卷上的物理块。
简单的介绍
当您使用 LVM 管理存储时,通常会从物理卷开始构建分区、创建文件系统,最后挂载到系统中。以下是一步步的详细说明:
步骤一:创建物理卷(Physical Volume)
- 使用
pvcreate命令将一个磁盘分区或整个硬盘标记为 LVM 可管理的物理卷。sudo pvcreate /dev/sdb
步骤二:创建卷组(Volume Group)
- 使用
vgcreate命令创建一个新的卷组,并将物理卷添加到该卷组中。sudo vgcreate myvg /dev/sdb
步骤三:创建逻辑卷(Logical Volume)
- 使用
lvcreate命令在卷组中创建一个逻辑卷,并指定逻辑卷的大小。sudo lvcreate -L 10G -n mylv myvg
步骤四:创建文件系统
- 使用适当的工具(如
mkfs.ext4或mkfs.xfs)在逻辑卷上创建文件系统。sudo mkfs.ext4 /dev/myvg/mylv
步骤五:挂载文件系统
- 创建一个目录作为挂载点,然后将文件系统挂载到该目录。
sudo mkdir /mnt/mydata sudo mount /dev/myvg/mylv /mnt/mydata
步骤六:自动挂载
- 如果需要在系统启动时自动挂载文件系统,可以将其添加到
/etc/fstab文件中。echo "/dev/myvg/mylv /mnt/mydata ext4 defaults 0 0" | sudo tee -a /etc/fstab
命令介绍
以下是对在上述例子中使用的 LVM 命令的详细解释:
-
pvcreate /dev/sdb:pvcreate命令用于创建物理卷,将指定的磁盘分区或整个硬盘标记为 LVM 可管理的物理卷。- 在这个例子中,我们将硬盘
/dev/sdb标记为物理卷,以便将其用于后续的卷组创建。
-
pvs:pvs命令用于显示系统中所有物理卷的信息,包括物理卷的名称、大小、空闲空间等。- 运行此命令后,您将看到有关系统中所有物理卷的详细信息,以便了解它们的状态和使用情况。
-
vgcreate myvg /dev/sdb:vgcreate命令用于创建一个新的卷组,并将一个或多个物理卷添加到该卷组中。- 在这个例子中,我们创建了一个名为
myvg的卷组,并将物理卷/dev/sdb添加到该卷组中。
-
vgs:vgs命令用于显示系统中所有卷组的信息,包括卷组的名称、物理卷数量、逻辑卷数量等。
扩充逻辑分区
扩展逻辑卷:
-
扩展逻辑卷大小:
- 使用
lvextend命令来扩展逻辑卷的大小。例如,将逻辑卷mylv扩展 5GB:sudo lvextend -L +5G /dev/myvg/mylv
- 使用
-
扩展文件系统:
- 如果您使用的是 ext4 或 xfs 文件系统,需要使用相应的工具来扩展文件系统。例如,对 ext4 文件系统:
sudo resize2fs /dev/myvg/mylv
- 如果您使用的是 ext4 或 xfs 文件系统,需要使用相应的工具来扩展文件系统。例如,对 ext4 文件系统:
缩减逻辑卷:
-
缩减文件系统:
- 首先,缩减文件系统以释放空间。对于 ext4 文件系统,可以使用以下命令:
sudo resize2fs /dev/myvg/mylv 10G
- 首先,缩减文件系统以释放空间。对于 ext4 文件系统,可以使用以下命令:
-
缩减逻辑卷大小:
- 使用
lvreduce命令来缩减逻辑卷的大小。例如,将逻辑卷mylv缩减至 10GB:sudo lvreduce -L 10G /dev/myvg/mylv
- 使用
文件系统扩大
对逻辑卷进行扩展时,相应的文件系统也需要进行扩展以利用新增的空间。否则df -h命令不会显示分区扩大。
对 ext4 文件系统扩展:
- 扩展 ext4 文件系统:
- 使用
resize2fs命令来扩展 ext4 文件系统。确保在扩展逻辑卷后执行此步骤。sudo resize2fs /dev/myvg/mylv
- 使用
对 xfs 文件系统扩展:
- 扩展 xfs 文件系统:
- 使用
xfs_growfs命令来扩展 xfs 文件系统。确保在扩展逻辑卷后执行此步骤。sudo xfs_growfs /mnt/mydata
- 使用
系统综合状态查看命令
sar
sar 命令是 System Activity Reporter 的缩写,用于收集、报告和存储系统的性能数据。通过 sar 命令,您可以查看系统的 CPU 使用率、内存使用情况、磁盘活动、网络流量等信息。
基本用法:
-
查看系统整体性能:
- 使用
sar命令可以查看系统的整体性能数据,默认情况下显示当前日期的系统活动摘要。 - 例如,运行
sar命令会显示系统的平均负载、CPU 使用率、内存使用情况等信息。
- 使用
-
指定时间间隔和次数:
- 您可以使用
-n参数指定输出数据的时间间隔(秒)和次数。 - 例如,
sar -n ALL 1 5表示每秒输出一次系统性能数据,共输出 5 次。
- 您可以使用
常用选项:
-
CPU 相关:
-u:显示 CPU 使用率。-P ALL:显示每个 CPU 的使用率。
-
内存相关:
-r:显示内存使用情况。
-
磁盘相关:
-b:显示磁盘 I/O 统计信息。
-
网络相关:
-n DEV:显示网络接口的统计信息。
高级选项:
-
输出到文件:
- 使用
-o参数将sar输出保存到文件中,以便后续分析。
- 使用
-
指定时间范围:
- 使用
-s和-e参数指定开始时间和结束时间,以查看特定时间范围内的系统性能数据。
- 使用
-
查看历史数据:
- 使用
-f参数指定历史数据文件,可以查看以前收集的sar数据。
- 使用
常用命令
要查询系统的综合状态,您可以使用一系列命令来获取有关系统资源、进程、网络连接等方面的信息。
-
查看系统负载:
- 使用
uptime命令可以查看系统的平均负载以及系统运行时间。 - 使用
top或htop命令可以实时查看系统的负载情况、进程信息等。
- 使用
-
查看内存使用情况:
- 使用
free -h命令可以查看系统的内存使用情况。 - 使用
top或htop命令也可以查看内存使用情况。
- 使用
-
查看磁盘空间:
- 使用
df -h命令可以查看系统的磁盘空间使用情况。 - 使用
du -h命令可以查看指定目录的磁盘使用情况。
- 使用
-
查看网络连接:
- 使用
netstat命令可以查看系统的网络连接情况。 - 使用
ss命令也可以查看网络连接信息。
- 使用
-
查看进程信息:
- 使用
ps aux命令可以查看系统的进程信息。 - 使用
top或htop命令可以实时查看系统的进程信息。
- 使用
-
查看日志信息:
- 使用
journalctl命令可以查看系统日志信息。 - 使用
dmesg命令可以查看内核日志信息。
- 使用
相关文章:
Linux分区、挂载、配额、逻辑卷、RAID、系统综合状态查看
分区与挂载 fdisk fdisk 命令是一个用于磁盘分区管理的命令行工具,可以用来创建、删除、调整分区等操作。常用的 fdisk 命令选项包括: fdisk -l:列出系统中的所有磁盘分区信息。 fdisk /dev/sdX:打开指定磁盘进行分区操作。 n&…...
3D Gaussian Splatting 代码层理解之Part1
2023 年初,来自蔚蓝海岸大学和 马克斯普朗克学会的作者发表了一篇题为“用于实时现场渲染的 3D 高斯泼溅”的论文。该论文提出了实时神经渲染的重大进步,超越了NeRF等以前方法的实用性。高斯泼溅不仅减少了延迟,而且达到或超过了 NeRF 的渲染质量,在神经渲染领域掀起了一场…...
Qt小知识-Q_GLOBAL_STATIC
你还在为创建全局静态对象烦恼嘛,它来了!它来了! qt5提供了两个宏定义Q_GLOBAL_STATIC和Q_GLOBAL_STATIC_WITH_ARGS来实现。可以创建一个全局静态对象,对象在第一次使用时初始化自身,这意味着它不会增加应用程序或库的…...
【SpringBoot】使用过滤器进行XSS防御
在Spring Boot中,我们可以使用注解的方式来进行XSS防御。注解是一种轻量级的防御手段,它可以在方法或字段级别对输入进行校验,从而防止XSS攻击。 而想对全局的请求都进行XSS防御可以使用servlet中的过滤器或者spring mvc中的拦截器ÿ…...
创建vue插件,发布npm
开发步骤:1.创建一个vue项目,2.开发一个组件。 3.注册成插件。 4.vite和package.json配置。5.发布到npm 1.创建一个vue项目 npm create vuelatest 生成了vue项目之后,得到了以下结构。 在src下创建个plugins目录。用于存放开发的…...
【Android Compose原创组件】可拖动滚动条的完美实现
项目背景 我在使用安卓Compose开发自己的【JK管理器】的过程中,很多地方都需要使用滚动条,在Github上也有实现的比较好,但是大多都是基于View(我要的是Compose啊)。 在研究Android 官方示例项目 nowinandroid 中&…...
【模块一】kubernetes容器编排进阶实战之资源管理核心概念
kubernetes 资源管理核心概念 k8s的设计理念—分层架构 CRI-container runtime interface-容器运行接口 CNI-container network interface-容器网络接口 CSI-container storage interface-容器存储接口 k8s的设计理念—API设计原则 https://www.kubernetes.org.cn/kubernete…...
用Python设置PowerPoint幻灯片背景
使用Python自动化处理Office文档,如PowerPoint演示文稿,是提高效率和创造力的重要手段。设置PowerPoint幻灯片背景不仅能够增强演示文稿的视觉吸引力,还能帮助传达特定的情感或信息,使观众更加投入。通过编程方式批量修改幻灯片背…...
Restful API接⼝简介及为什么要进⾏接⼝压测
一、RESTful API简介 在现代Web开发中,RESTful API已经成为一种标准的设计模式,用于构建和交互网络应用程序。本文将详细介绍RESTful API的基本概念、特点以及如何使用它来设计高效的API接口。 1. 基于协议 HTTP 或 HTTPS RESTful API通常使用HTTP&am…...
[pyspark] pyspark中如何修改列名字
使用 .withColumnRenamed 来重命名,直接看demo: from pyspark.sql import SparkSessionspark SparkSession.builder.appName("example").getOrCreate()data [("Alice", 1, 200),("Bob", 2, 300),("Charlie",…...
掌握 Spring Boot 的最佳方法 – 学习路线图
在企业界,人们说“Java 永垂不朽!”。但为什么呢?Java 仍然是开发企业应用程序的主要平台之一。大型公司使用企业应用程序来赚钱。这些应用程序具有高可靠性要求和庞大的代码库。根据Java开发人员生产力报告,62% 的受访开发人员使…...
element-ui】使用el_upload上传文件无法动态修改action
问题:最近在使用el_upload上传文件时,发现无法动态修改action的值,进行提交时,caseId2还是默认值null 原因:el-upload的先执行上传,后执行action里的响应,也就是赋值等操作。 解决方法&#x…...
如何查看电脑支持的最大内存
如何查看电脑支持的最大内存 要查看电脑支持的最大内存容量,可以通过以下几种方法: 一、使用Windows命令查询 打开命令提示符:按下“WinR”键,打开运行窗口,输入“cmd”,然后点击确定。输入查询命令&…...
24 年第十届数维杯国际数模竞赛赛题浅析
本次万众瞩目的数维杯国际大学生数学建模赛题已正式出炉,无论是赛题难度还是认可度,该比赛都是数模届的独一档,含金量极高,可以用于综测加分、保研、简历添彩等各方面。考虑到大家解题实属不易,为了帮助大家取得好成绩…...
Dubbo 3.x源码(25)—Dubbo服务引用源码(8)notify订阅服务通知更新
基于Dubbo 3.1,详细介绍了Dubbo服务的发布与引用的源码。 此前我们学习了接口级的服务引入订阅的refreshInterfaceInvoker方法,当时还有最为关键的notify服务通知更新的部分源码没有学习,本次我们来学习notify通知本地服务更新的源码。 Dubb…...
排序算法 -计数排序
文章目录 1. 计数排序(Counting Sort)1.1 简介1.2 计数排序的步骤1.3 计数排序C语言实现注释说明: 1.4 时间复杂度1.5 空间复杂度 1. 计数排序(Counting Sort) 1.1 简介 计数排序(Counting Sortÿ…...
Java学习,基本数据类型
变量就是申请内存来存储值,当创建变量的时候,需要在内存中申请空间。内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据。Java 提供了八种基本数据类型,这些类型可以分为四大类:整数类型…...
单片机GPIO中断+定时器 软件串口通信
单片机GPIO中断定时器 软件串口通信 解决思路代码示例 解决思路 串口波特率9600bps,每个bit约为1000000us/9600104.16us; 定时器第一次定时时间设为52us即半个bit的时间,其目的是偏移半个bit时间,之后的每104us采样并读取1bit数据。使得采样…...
elementui el-table中给表头 el-table-column 加一个鼠标移入提示说明
前言 在使用el-table 表格中有些表格的表头需要加入一些提示,鼠标移入则出现提示,非常实用,我是通过el-table中的el-tooltip实现的,以下的效果预览 代码实现 <el-table ref"multipleTable" :data"data"…...
NVR小程序接入平台/设备EasyNVR多个NVR同时管理设备接入:海康NVR 3.0提示不在线如何处理?
在视频监控领域,设备的兼容性和互操作性一直是用户关注的重点。海康NVR管理平台EasyNVR作为一款轻量级的视频监控平台,凭借其强大的兼容性、可扩展性和丰富的功能,成为了公共安全领域“云平台”解决方案的杰出代表。然而,在实际应…...
【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...
Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
服务器硬防的应用场景都有哪些?
服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...
(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...
MySQL用户和授权
开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务: test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...
OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...
JavaScript 数据类型详解
JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型(Primitive) 和 对象类型(Object) 两大类,共 8 种(ES11): 一、原始类型(7种) 1. undefined 定…...
Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换
目录 关键点 技术实现1 技术实现2 摘要: 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式(自动驾驶、人工驾驶、远程驾驶、主动安全),并通过实时消息推送更新车…...
【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案
目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后,迭代器会失效,因为顺序迭代器在内存中是连续存储的,元素删除后,后续元素会前移。 但一些场景中,我们又需要在执行删除操作…...
