当前位置: 首页 > article >正文

Linux 磁盘管理-终于把fdisk命令创建分区挂讲明白了

今天给伙伴们分享一下Linux 磁盘管理-fdisk命令创建分区挂在使用,希望看了有所收获。

我是公众号「想吃西红柿」「云原生运维实战派」作者,对云原生运维感兴趣,也保持时刻学习,后续会分享工作中用到的运维技术,在运维的路上得到支持和共同进步!

如果伙伴们看了文档觉得有用,欢迎大家关注我的公众号,获取相关文档。爱运维,爱生活。

1、挂载硬件设备

  • mount命令用于挂载文件系统, 格式完成

  • 格式为“mount文件系统 挂载目录”。 把文件系统和磁盘设备关联

表6-3 mount命令中的参数以及作用

参数作用
-a挂载所有在/etc/fstab中定义的文件系统
-t指定文件系统的类型

例如,要把设备/dev/sdb2挂载到/backup目录,只需要在mount命令中填写设备与挂载目录参数就行,系统会自动判断要挂载文件的类型,命令如下:

[root@edenluo.com ~]# mount /dev/sdb2 /backup

如果在工作中要挂载一块网络存储设备,该设备的名字可能会变来变去,这样再写为sdb就不太合适了。这时推荐用UUID(Universally Unique Identifier,通用唯一识别码)进行挂载操作。

UUID是一串用于标识每块独立硬盘的字符串,具有唯一性及稳定性,特别适合用来挂载网络设备。

blkid命令用于显示设备的属性信息,英文全称为“block id”,语法格式为“blkid [设备名]”。使用blkid命令来查询设备UUID的示例如下:

[root@edenluo.com ~]# blkid
/dev/sdb1: UUID="2db66eb4-d9c1-4522-8fab-ac074cd3ea0b" TYPE="xfs" PARTUUID="eb23857a-01"
/dev/sdb2: UUID="478fRb-1pOc-oPXv-fJOS-tTvH-KyBz-VaKwZG" TYPE="ext4" PARTUUID="eb23857a-02"

有了设备的UUID值之后,就可以用它挂载网络设备了:

[root@edenluo.com ~]# mount UUID=478fRb-1pOc-oPXv-fJOS-tTvH-KyBz-VaKwZG /backup

虽然按照上面的方法执行mount命令后就能立即使用文件系统了,但系统在重启后挂载就会失效,也就是说需要每次开机后都手动挂载一下

如果想让硬件设备和目录永久地进行自动关联,就必须把挂载信息按照指定的填写格式“设备文件 挂载目录 格式类型 权限选项 是否备份 是否自检”(各字段的意义见表6-4)写入到/etc/fstab文件中。这个文件中包含着挂载所需的诸多信息项目,一旦配置好之后就能一劳永逸了。

表6-4 用于挂载信息的指定填写格式中,各字段所表示的意义

字段意义
设备文件一般为设备的路径+设备名称,也可以写唯一识别码(UUID,Universally Unique Identifier)
挂载目录指定要挂载到的目录,需在挂载前创建好
格式类型指定文件系统的格式,比如Ext3、Ext4、XFS、SWAP、iso9660(此为光盘设备)等
权限选项若设置为defaults,则默认权限为:rw, suid, dev, exec, auto, nouser, async
是否备份若为1则开机后使用dump进行磁盘备份,为0则不备份
是否自检若为1则开机后自动进行磁盘自检,为0则不自检

如果想将文件系统为Ext4的硬件设备/dev/sdb2在开机后自动挂载到/backup目录上,并保持默认权限且无须开机自检,就需要在/etc/fstab文件中写入下面的信息,这样在系统重启后也会成功挂载。

[root@edenluo.com ~]# vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Tue Jul 21 05:03:40 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/rhel-root                     /        xfs     defaults    0 0
UUID=812b1f7c-8b5b-43da-8c06-b9999e0fe48b /boot    xfs     defaults    0 0
/dev/mapper/rhel-swap                     swap     swap    defaults    0 0
/dev/sdb2                                 /backup  ext4    defaults    0 0

写入到/etc/fstab文件中的设备信息并不会立即生效,需要使用mount -a参数进行自动挂载:

[root@edenluo.com ~]# mount -a

df命令用于查看已挂载的磁盘空间使用情况,英文全称为“disk free”,语法格式为“df -h”。

[root@edenluo.com ~]# df -h
Filesystem             Size  Used Avail Use% Mounted on
devtmpfs               969M     0  969M   0% /dev
tmpfs                  984M     0  984M   0% /dev/shm
tmpfs                  984M   18M  966M   2% /run
tmpfs                  984M     0  984M   0% /sys/fs/cgroup
/dev/mapper/rhel-root   17G  3.9G   14G  23% /
/dev/sda1             1014M  152M  863M  15% /boot
/dev/sdb2              480M   20M  460M   4% /backup
tmpfs                  197M   16K  197M   1% /run/user/42
tmpfs                  197M  3.5M  194M   2% /run/user/0
/dev/sr0               6.7G  6.7G     0 100% /media/cdrom

如果是网络存储设备,建议您在fstab文件挂载信息中加上_netdev参数。加上后系统会等联网成功后再尝试挂载这块网络存储设备,从而避免了开机时间过长或失败的情况。

[root@edenluo.com ~]# vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Tue Jul 21 05:03:40 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/rhel-root                       /              xfs       defaults            0 0
UUID=812b1f7c-8b5b-43da-8c06-b9999e0fe48b   /boot          xfs       defaults            0 0
/dev/mapper/rhel-swap                       swap           swap      defaults            0 0
/dev/sdb2                                   /backup        ext4      defaults,_netdev    0 0
/dev/cdrom                                  /media/cdrom   iso9660   defaults            0 0

umount命令用于卸载设备或文件系统,英文全称为“un mount”,语法格式为“umount [设备文件/挂载目录]”。

[root@edenluo.com ~]# umount /dev/sdb2

如果当前就处于设备所挂载的目录,系统会提示该设备繁忙,此时只需要退出到其他目录后再尝试一次就行了。

[root@edenluo.com ~]# cd /media/cdrom/
[root@edenluo cdrom]# umount /dev/cdrom
umount: /media/cdrom: target is busy.
[root@edenluo  cdrom]# cd ~
[root@edenluo.com ~]# umount /dev/cdrom
[root@edenluo.com ~]#

挂载操作就像两人结为夫妻,双方需要同时到场,信息一旦被登记到民政局的系统中,再想重婚(重复挂载某设备)可就不行喽。

lsblk命令用于查看已挂载的磁盘的空间使用情况,英文全称为“list block id”,输入该命令后按回车键执行即可。

[root@edenluo.com ~]# lsblk 
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda             8:0    0   20G  0 disk 
├─sda1          8:1    0    1G  0 part /boot
└─sda2          8:2    0   19G  0 part 
  ├─rhel-root 253:0    0   17G  0 lvm  /
  └─rhel-swap 253:1    0    2G  0 lvm  [SWAP]
sr0            11:0    1  6.6G  0 rom  /media/cdrom

2、添加硬盘设备

首先需要在虚拟机中模拟添加入一块新的硬盘存储设备,然后再进行分区、格式化、挂载等操作,最后通过检查系统的挂载状态并真实地使用硬盘来验证硬盘设备是否成功添加。

第6章 存储结构与管理硬盘第6章 存储结构与管理硬盘

图6-7 在虚拟机系统中添加硬件设备

选择想要添加的硬件类型为“硬盘”,然后单击“下一步”按钮就可以了,如图6-8所示。

第6章 存储结构与管理硬盘第6章 存储结构与管理硬盘

图6-8 选择添加硬件类型

选择虚拟硬盘的类型为SATA,并单击“下一步”按钮,如图6-9所示。这样虚拟机中的设备名称过一会儿后应该为/dev/sdb。

第6章 存储结构与管理硬盘第6章 存储结构与管理硬盘

图6-9 选择硬盘设备类型

选中“创建新虚拟磁盘”单选按钮,再次单击“下一步”按钮,如图6-10所示。

第6章 存储结构与管理硬盘第6章 存储结构与管理硬盘

图6-10 选择“创建新虚拟磁盘”选项

将“最大磁盘大小”设置为默认的20GB。单击“下一步”按钮,如图6-11所示。

第6章 存储结构与管理硬盘第6章 存储结构与管理硬盘

图6-11 设置硬盘的最大使用空间

设置磁盘文件的文件名和保存位置(这里采用默认设置即可,无须修改),直接单击“完成”按钮,如图6-12所示。

第6章 存储结构与管理硬盘第6章 存储结构与管理硬盘

图6-12 设置磁盘文件的文件名和保存位置

将新硬盘添加好后就可以看到设备信息了。这里不需要做任何修改,直接单击“确定”按钮后就可以启虚拟机了,如图6-13所示。

第6章 存储结构与管理硬盘第6章 存储结构与管理硬盘

图6-13 查看虚拟机硬件设置信息

3、创建分区

fdisk命令用于新建、修改及删除磁盘的分区表信息,英文全称为“format disk”,语法格式为“fdisk磁盘名称”。

在Linux系统中,管理硬盘设备最常用的方法就当属fdisk命令了。它提供了集添加、删除、转换分区等功能于一身的“一站式分区服务”。不过与前面讲解的直接写到命令后面的参数不同,这条命令的参数(见表6-5)是交互式的一问一答的形式,因此在管理硬盘设备时特别方便,可以根据需求动态调整。

表6-5 fdisk命令中的参数以及作用

参数作用
m查看全部可用的参数
n添加新的分区
d删除某个分区信息
l列出所有可用的分区类型
t改变某个分区的类型
p查看分区表信息
w保存并退出
q不保存直接退出

使用fdisk命令来尝试管理/dev/sdb硬盘设备。在看到提示信息后输入参数p来查看硬盘设备内已有的分区信息,其中包括了硬盘的容量大小、扇区个数等信息:

[root@edenluo.com ~]# fdisk /dev/sdb

Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x88b2c2b0.

Command (m for help): p
Disk /dev/sdb: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x88b2c2b0

输入参数n尝试添加新的分区。系统会要求用户是选择继续输入

  • 参数p来创建主分区,
  • 参数e来创建扩展分区。

这里输入参数p来创建一个主分区:

Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p

在确认创建一个主分区后,系统要求用户先输入主分区的编号。主分区的编号范围是1~4,因此这里输入默认的1就可以了。接下来系统会提示定义起始的扇区位置,回车保留默认设置即可,系统会自动计算出最靠前的空闲扇区的位置。

系统会要求定义分区的结束扇区位置,这其实就是要去定义整个分区的大小是多少。我们不用去计算扇区的个数,只需要输入+2G即可创建出一个容量为2GB的硬盘分区。

Partition number (1-4, default 1): 1
First sector (2048-41943039, default 2048): 此处敲击回车即可
Last sector, +sectors or +size{K,M,G,T,P} (2048-41943039, default 41943039): +2G

Created a new partition 1 of type 'Linux' and of size 2 GiB.

再次使用参数p来查看硬盘设备中的分区信息。果然就能看到一个名称为/dev/sdb1、起始扇区位置为2048、结束扇区位置为4196351的主分区了。需要参数w回车保存配置,这样分区信息才是真正地写入成功。

Command (m for help): p
Disk /dev/sdb: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x88b2c2b0

Device     Boot Start     End Sectors Size Id Type
/dev/sdb1        2048 4196351 4194304   2G 83 Linux

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

分区信息中第6个字段的Id值是一个编码,用于标识该分区的作用,可帮助用户快速了解该分区的作用,一般没必要修改。使用l参数查看一下磁盘编码都有哪些,然后在6.6节进行SWAP操作时再修改吧:

Command (m for help): l  

 0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris        
 1  FAT12           27  Hidden NTFS Win 82  Linux swap / So c1  DRDOS/sec (FAT-
 2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  84  OS/2 hidden or  c6  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     85  Linux extended  c7  Syrinx         
 5  Extended        41  PPC PReP Boot   86  NTFS volume set da  Non-FS data    
 6  FAT16           42  SFS             87  NTFS volume set db  CP/M / CTOS / .
 7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux plaintext de  Dell Utility   
 8  AIX             4e  QNX4.x 2nd part 8e  Linux LVM       df  BootIt         
 9  AIX bootable    4f  QNX4.x 3rd part 93  Amoeba          e1  DOS access     
 a  OS/2 Boot Manag 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O        
 b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor      
 c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad hi ea  Rufus alignment
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         eb  BeOS fs        
 f  W95 Ext'd (LBA) 54  OnTrackDM6      a6  OpenBSD         ee  GPT            
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        ef  EFI (FAT-12/16/
11  Hidden FAT12    56  Golden Bow      a8  Darwin UFS      f0  Linux/PA-RISC b
12  Compaq diagnost 5c  Priam Edisk     a9  NetBSD          f1  SpeedStor      
14  Hidden FAT16 <3 61  SpeedStor       ab  Darwin boot     f4  SpeedStor      
16  Hidden FAT16    63  GNU HURD or Sys af  HFS / HFS+      f2  DOS secondary  
17  Hidden HPFS/NTF 64  Novell Netware  b7  BSDI fs         fb  VMware VMFS    
18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fc  VMware VMKCORE 
1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid fd  Linux raid auto
1c  Hidden W95 FAT3 75  PC/IX           bc  Acronis FAT32 L fe  LANstep        
1e  Hidden W95 FAT1 80  Old Minix       be  Solaris boot    ff  BBT   

在上述步骤执行完毕之后,Linux系统会自动把这个硬盘主分区抽象成/dev/sdb1设备文件。可以使用file命令查看该文件的属性,但在实际操作中发现,有些时候系统并没有自动把分区信息同步给Linux内核,而且这种情况似乎还比较常见(但不能算作严重的bug)。可以输入partprobe命令手动将分区信息同步到内核,而且一般推荐连续两次执行该命令,效果会更好。如果使用这个命令都无法解决问题,那么就重启计算机。

[root@edenluo.com ~]# file /dev/sdb1
/dev/sdb1: cannot open `/dev/sdb1' (No such file or directory)
[root@edenluo.com ~]# partprobe
[root@edenluo.com ~]# partprobe
[root@edenluo.com ~]# file /dev/sdb1
/dev/sdb1: block special

4、格式化分区

如果硬件存储设备没有进行格式化,则Linux系统无法得知怎么在其上写入数据。因此,在对存储设备进行分区后还需要进行格式化操作。在Linux系统中用于格式化操作的命令是mkfs。

[root@edenluo.com ~]# mkfs
mkfs         mkfs.ext2    mkfs.ext4    mkfs.minix   mkfs.vfat    
mkfs.cramfs  mkfs.ext3    mkfs.fat     mkfs.msdos   mkfs.xfs     

mkfs命令把常用的文件系统名称用后缀的方式保存成了多个命令文件,用起来非常简单—mkfs.文件类型名称。例如要将分区为XFS的文件系统进行格式化,则命令应为mkfs.xfs /dev/sdb1。

[root@edenluo.com ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=131072 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1
data     =                       bsize=4096   blocks=524288, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

5、挂载分区到系统目录

  • 存储设备完成分区和格式化操作就可以挂载并使用存储设备了。

  • 首先是创建一个用于挂载设备的挂载点目录;

  • 然后使用mount命令将存储设备与挂载点进行关联;

  • 最后使用df -h命令来查看挂载状态和硬盘使用量信息。

[root@edenluo.com ~]# mkdir /newFS
[root@edenluo.com ~]# mount /dev/sdb1 /newFS
[root@edenluo.com ~]# df -h
Filesystem             Size  Used Avail Use% Mounted on
devtmpfs               969M     0  969M   0% /dev
tmpfs                  984M     0  984M   0% /dev/shm
tmpfs                  984M  9.6M  974M   1% /run
tmpfs                  984M     0  984M   0% /sys/fs/cgroup
/dev/mapper/rhel-root   17G  3.9G   14G  23% /
/dev/sr0               6.7G  6.7G     0 100% /media/cdrom
/dev/sda1             1014M  152M  863M  15% /boot
tmpfs                  197M   16K  197M   1% /run/user/42
tmpfs                  197M  3.5M  194M   2% /run/user/0
/dev/sdb1              2.0G   47M  2.0G   3% /newFS

6、查看和验证分区

du命令用查看分区或目录所占用的磁盘容量大小,英文全称为“disk usage”,语法格式为“du -sh目录名称”。

既然存储设备已经顺利挂载,接下来就可以尝试通过挂载点目录向存储设备中写入文件了。在写入文件之前,先来看一个用于查看文件数据占用量的du命令。简单来说,该命令就是用来查看一个或多个文件占用了多大的硬盘空间。

Linux系统中可以使用du -sh /*命令来查看在Linux系统根目录下所有一级目录分别占用的空间大小,在1s之内就能找到哪个目录占用的空间最多:

[root@edenluo.com ~]# df -Th

先从某些目录中复制过来一批文件,然后查看这些文件总共占用了多大的容量:

[root@edenluo.com ~]# cp -rf /etc/* /newFS
[root@edenluo.com ~]# ls /newFS
adjtime                     hostname                  profile.d
aliases                     hosts                     protocols
alsa                        hosts.allow               pulse
alternatives                hosts.deny                qemu-ga
anacrontab                  hp                        qemu-kvm
asound.conf                 idmapd.conf               radvd.conf
………………省略部分输入信息………………
[root@edenluo.com ~]# du -sh /newFS
39M /newFS/

7、实现永久(开机)挂载

  • 如果想让这个设备文件的挂载永久有效,则需要把挂载的信息写入/etc/fstab配置文件中
1、方法一,文件挂载
[root@edenluo.com ~]# vim /etc/fstab    #开机前检测的文件,如果磁盘异常会影响开机启动,无法正常启动
#
# /etc/fstab
# Created by anaconda on Tue Jul 21 05:03:40 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/rhel-root                     /                      xfs      defaults        0 0
UUID=812b1f7c-8b5b-43da-8c06-b9999e0fe48b /boot                  xfs      defaults        0 0
/dev/mapper/rhel-swap                     swap                   swap     defaults        0 0
/dev/cdrom                                /media/cdrom           iso9660  defaults        0 0 
/dev/sdb1                                 /newFS                 xfs      defaults        0 0 
2、挂载生效
[root@localhost ~]# mount –a  #自动挂载/etc/fstab文件中没有挂载的文件
  • 解释:
/dev/sdc2/root/xfsxfsdefaults00
要挂载的分区设备挂载点文件系统类型挂载选项是否备份是否检测

/etc/rc.d/rc.local 系统启动完成后检查的文件,是添加开机启动项的配置, (文件必须给执行权限才可以生效)

mount /dev/sdb1 /data

2、方法二(UUID挂载)
1、查看分区的UUID
[root@localhost ~]# blkid
/dev/sdc2: UUID="4d0f543c-0b56-48e9-a252-05f4031a8887" TYPE="xfs"
/dev/sda1: UUID="855a2439-afad-4943-aa2f-fc1c8e1caba5" TYPE="xfs"
/dev/sda2: UUID="76aa7e90-e32e-4d3a-8ead-20da21664365" TYPE="swap"
/dev/sda3: UUID="dec77a47-26dd-4686-a209-66c35dbc9395" TYPE="xfs"
/dev/sdb1: UUID="2961bf24-6f30-4f55-947f-faa56491c09e" TYPE="xfs"
/dev/sr0: UUID="2018-10-10-18-34-13-00" LABEL="RHEL-7.6 Server.x86_64" TYPE="iso9660" PTTYPE="dos"
2、将UUID追加到配置文件中
[root@localhost ~]# echo "UUID=4d0f543c-0b56-48e9-a252-05f4031a8887 /root/xfs defaults 0 0" >> /etc/fstab
3、挂载生效
[root@localhost ~]# mount –a  #自动挂载/etc/fstab文件中没有挂载的文件
  • 解释:/etc/fastb中参数解释
UUID="xxx“/root/xfsxfsdefaults00
要挂载的分区设备uuid挂载点文件系统类型挂载选项是否备份是否检测
第四列
Async/sync设置是否为同步方式运行,默认为async
auto/noauto当执行****mount -a 的命令时,此文件系统是否被主动挂载。默认为****auto
rw/ro是否以以只读或者读写模式挂载
exec/noexe限制此文件系统内是否能够进行"执行"的操作
user/nouser是否允许用户使用mount命令挂载
suid/nosuid是否允许SUID的存在
Usrquota启动文件系统支持磁盘配额模式
Grpquota启动文件系统对群组磁盘配额模式的支持
Defaults同时具有****rw,suid,dev,exec,auto,nouser,async等默认参数的设置 samba nfs
第五列
0代表不要做备份
1代表要每天进行操作
2代表不定日期的进行操作
第六列
0不要检验
1最早检验(一般根目录会选择)
21级别检验完成之后进行检验

如果对伙伴们有帮助,感谢关注支持**「想吃西红柿」「云原生运维实战派」**后续会有更多实用的运维技术分享给伙伴们,您的关注就是我最大的成就。


http://www.kler.cn/a/292371.html

相关文章:

  • 蓝队技术学习
  • RK3588 C++ 多线程运行
  • Kotlin中泛型的协变
  • 本地 / 网络多绑定用例总结
  • 使用 Python 和 OpenCV 实现摄像头人脸检测并截图
  • 【MYSQL】数据库日志 (了解即可)
  • 优化芋道后台菜单管理卡顿问题element-plus版本
  • WPS Office for Linux 12 个人版上线deepin 23商店:UI 视觉重构,新增多项 AI 功能
  • Kafka如何保证消息不丢失?
  • win11环境android studio中AVD目录修改问题解决
  • 青岛实训 8月21号 day33
  • Type-C接口上的DisplayPort
  • 【直播原理大揭秘】世预赛18强国足直播瞬时流量过大,爱奇艺为此道歉
  • 产品经理入门基础
  • 红外小目标检测:基于深度学习
  • Spark常见面试题整理
  • 二进制基础和STM32的常用位运算
  • YOLOv8 classify介绍
  • JavaScript - Api学习 Day03 (日期对象、节点操作、两种定时器、本地存储)
  • Mysql中的隐式COMMIT以及Savepoints的作用以及MySQL的Innodb分空间存储、设计优化、索引等几个小知识点整理
  • 鸿蒙OS创新实践:动态声控话筒开发指南
  • Anthropic发布Claude企业计划 对标OpenAI的ChatGPT Enterprise
  • 【Python百日进阶-Web开发-音频】Day708 - 时域处理 librosa.lpc
  • k8s执行crictl images报错
  • 代码随想录训练营 Day51打卡 图论part02 99. 岛屿数量 100. 岛屿的最大面积
  • 利用全核范数去噪技术优化彩色图像处理