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作为一款轻量级的视频监控平台,凭借其强大的兼容性、可扩展性和丰富的功能,成为了公共安全领域“云平台”解决方案的杰出代表。然而,在实际应…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...

高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...

[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?
论文网址:pdf 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命
在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...
土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等
🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...

七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...

并发编程 - go版
1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...
tomcat指定使用的jdk版本
说明 有时候需要对tomcat配置指定的jdk版本号,此时,我们可以通过以下方式进行配置 设置方式 找到tomcat的bin目录中的setclasspath.bat。如果是linux系统则是setclasspath.sh set JAVA_HOMEC:\Program Files\Java\jdk8 set JRE_HOMEC:\Program Files…...