Linux的硬盘管理

本章主要介绍Linux磁盘管理

  • 了解分区的概念
  • 对硬盘进行分区
  • swap分区的管理

新的硬盘首先需要对其进行分区和格式化,下面来了解一下硬盘的结构,如图

硬盘的磁盘上有一个个圈,每两个圈组成一个磁道。从中间往外发射线,把每个磁道分成 一个个扇区,每个扇区的大小是512B。为了更好地理解,我们把所有磁盘拼接起来,如图

假设磁盘有10000个扇区,第一个分区从2048到6000,第二个分区从6001到 8000,第 三个分区从8001到10000

每个扇区只能属于一个分区,不能同时属于多个分区

第一个扇区比较特殊,叫作 MBR(主引导记录)

分区类型包括主分区、扩展分区和逻辑分区

(1)主分区:直接从硬盘上划分,并可以直接格式化使用的分区

(2)扩展分区:直接从硬盘上划分,但是不是直接使用的分区

(3)逻辑分区:在扩展分区上划分的分区

分区表记录主分区和扩展分区的信息

每记录一个分区(主分区或扩展分区)要消耗16B,所以分区表最多只能记录4个分区, 硬盘最多只能划分出来4个分区,且最多只能有一个扩展分区

请关闭虚拟机server并自行为虚拟机添加一块SCSI格式的硬盘,然后开机进入系统

1.1 对磁盘进行分区

使用fidisk -l命令查看所有分区的信息

[root@node1 ~]# fdisk -l磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000b8f49设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    41943039    19921920   8e  Linux LVM磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节磁盘 /dev/mapper/centos-root:19.3 GB, 19323158528 字节,37740544 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节磁盘 /dev/mapper/centos-swap:1073 MB, 1073741824 字节,2097152 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节[root@node1 ~]#

此命令可以查看系统所有硬盘的信息,这里可以看到/dev/sda有两个分区 /dev/sda1 和/dev/sda2,/dev/sdb没有任何分区。如果想单独查看某硬盘的分区信息,可以使 用“fdisk -l/dev/硬盘”命令。例如单独查看/dev/sda的信息

[root@node1 ~]# fdisk -l /dev/sda磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000b8f49设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    41943039    19921920   8e  Linux LVM
[root@node1 ~]#

这里可以获取到很多信息,例如,整个sda有多少个扇区,每个分区从哪个扇区开始到个 扇区结束等

下面开始练习分区,自行添加一个类型为SCSI、大小为20G的分区

分区的语法为“fdisk /devl/硬盘”,这里是对硬盘进行分区,而不是对分区再进行分区

[root@node1 ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。Device does not contain a recognized partition table
使用磁盘标识符 0x01aa58a7 创建新的 DOS 磁盘标签。命令(输入 m 获取帮助):

此处进入分区的界面,按提示输入“m”可以获取帮助,常见的命令如下:

(1)p:打印分区表

(2)n:添加一个分区

(3)d:删除一个分区

(4)l:列出分区类型

(5)t:转换分区类型

(6)q:不保存直接退出

(7)w:保存并退出

查看现有分区信息,此处输入“p”

命令(输入 m 获取帮助):p磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x01aa58a7设备 Boot      Start         End      Blocks   Id  System命令(输入 m 获取帮助):

此处并没有看到/dev/sdb1、/dev/sdb2等内容,说明并不存在任何分区

按【n】键创建一个分区

命令(输入 m 获取帮助):n
Partition type:p   primary (0 primary, 0 extended, 4 free)e   extended
Select (default p):

直接在硬盘上划分的分区有主分区(标记为p)和扩展分区(标记为e),逻辑分区(标记为 1)只能在扩展分区上创建,且扩展分区最多只能创建一个扩展分区

所以,在硬盘中没有扩展分区时,选择分区类型时只能选择p和e这两种。如果已经存在 了扩展分区,就不能再创建第二个扩展分区了,但可以在扩展分区上创建逻辑分区,所以可 选择的分区类型有p和1

先创建主分区或扩展分区都可以,这里先创建主分区,输入“p”,按【Enter】键。主 分区加扩展分区最多只能创建出来4个,所以分配的编号只能是1~4,这里选择默认的1,然 后按【Enter】键

命令(输入 m 获取帮助):n
Partition type:p   primary (0 primary, 0 extended, 4 free)e   extended
Select (default p): p
分区号 (1-4,默认 1):    //初次直接用回车,使用默认的编号1

硬盘总共有41943039个扇区,第一个分区从哪个扇区开始呢?默认为2048,直接按 【Enter】键,我们就从2048扇区开始

起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):

这里N的位置得写一个结束点,假设要创建2G的分区,从2048扇区开始算,到哪个扇区 结束能使得分区大小是2G呢

现在计算一下:2G=2×1024M=2×1024× 1024K=2×1024×1024×2扇区(1扇区 =0.5K),所以一共需要2×1024×1024×2=4194304个扇区。从2048扇区开始算,最后一个 扇区应该落在2048+4194304-1=4196351的位置,这样创建出来的分区就是2G

Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+2G
分区 1 已设置为 Linux 类型,大小设为 2 GiB命令(输入 m 获取帮助):

创建2G分区后,输入“p”查看分区信息

命令(输入 m 获取帮助):p    磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x01aa58a7设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux命令(输入 m 获取帮助)

再创建一个主分区/dev/sda2,大小为2G

命令(输入 m 获取帮助):p磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x01aa58a7设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352     8390655     2097152   83  Linux命令(输入 m 获取帮助):

创建一个扩展分区/dev/sda4,把剩余所有空间全部给它(这里故意没有创 建/dev/sda3)

命令(输入 m 获取帮助):n
Partition type:p   primary (2 primary, 0 extended, 2 free)e   extended
Select (default p): e    //这里输入e表示创建扩展分区
分区号 (3,4,默认 3):4
起始 扇区 (8390656-41943039,默认为 8390656):    //按回车键
将使用默认值 8390656
Last 扇区, +扇区 or +size{K,M,G} (8390656-41943039,默认为 41943039):    //按回车键
将使用默认值 41943039
分区 4 已设置为 Extended 类型,大小设为 16 GiB命令(输入 m 获取帮助):

输入“p”查看分区信息

命令(输入 m 获取帮助):p磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x01aa58a7设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352     8390655     2097152   83  Linux
/dev/sdb4         8390656    41943039    16776192    5  Extended命令(输入 m 获取帮助):

创建扩展分区后,就可以创建逻辑分区了,我们看到了编号3并未使用,所以现在还可以 创建一个主分区,但是硬盘已经没有多余的空间,所以不能再创建主分区只能创建逻辑分区, 逻辑分区的编号是从5开始

命令(输入 m 获取帮助):n  
Partition type:p   primary (2 primary, 1 extended, 1 free)l   logical (numbered from 5)
Select (default p): l    //创建逻辑分区
添加逻辑分区 5
起始 扇区 (8392704-41943039,默认为 8392704):    //按回车键
将使用默认值 8392704
Last 扇区, +扇区 or +size{K,M,G} (8392704-41943039,默认为 41943039):+2G
分区 5 已设置为 Linux 类型,大小设为 2 GiB命令(输入 m 获取帮助):

依照此方法再创建几个分区

命令(输入 m 获取帮助):p磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x01aa58a7设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352     8390655     2097152   83  Linux
/dev/sdb4         8390656    41943039    16776192    5  Extended
/dev/sdb5         8392704    12587007     2097152   83  Linux
/dev/sdb6        12589056    16783359     2097152   83  Linux
/dev/sdb7        16785408    20979711     2097152   83  Linux命令(输入 m 获取帮助):

看上面最右侧的两列:Id和类型,这两列是对应的。因为分区的作用不一样,所以有的可以直接格式化使用,有的用于创建swap,有的用于创建逻辑卷等。这些类型是可以转换的,输入字母l可以看到所有类型,如图

常见分区类型如下:

(1)Linux:对应id为83,直接格式化使用的分区

(2)Linux swap:对应的id为82,用于创建swap

(3)Linux LVM:对应id为8e,用于创建LV

(4)Linux raid:对应id为fd,用于创建fd

例如,准备把/devIlsdb5配置成逻辑卷,先把/dev/sdb5的分区类型改为Linux LVM,操作如下

先按【t】键开始进行转换

命令(输入 m 获取帮助):t
分区号 (1,2,4-7,默认 7):

然后输入要转换的分区号,这里输人“5”,按【Enter】键后输人要转换的分区Id(8e)

命令(输入 m 获取帮助):t
分区号 (1,2,4-7,默认 7):5
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”命令(输入 m 获取帮助):

输入“p”查看信息

把/dev/sdb2的分区类型改为 Linux swap,输入“t”

命令(输入 m 获取帮助):t
分区号 (1,2,4-7,默认 7):2
Hex 代码(输入 L 列出所有代码):82
已将分区“Linux”的类型更改为“Linux swap / Solaris”命令(输入 m 获取帮助):

输入“p”查看分区信息

命令(输入 m 获取帮助):p磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x01aa58a7设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352     8390655     2097152   82  Linux swap / Solaris
/dev/sdb4         8390656    41943039    16776192    5  Extended
/dev/sdb5         8392704    12587007     2097152   8e  Linux LVM
/dev/sdb6        12589056    16783359     2097152   83  Linux
/dev/sdb7        16785408    20979711     2097152   83  Linux命令(输入 m 获取帮助):

现在所做的一切并没有真的保存,如果不想保存直接退出,可以输人“q”并按 【Enter】键;如果想保存并退出,可以输入“w”并按【Enter】键

命令(输入 m 获取帮助):w
The partition table has been altered!Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@node1 ~]#

有时需要执行partprobe /dev/sdb命令来刷新一下分区表,然后使用fdisk命令进行查看

[root@node1 ~]# fdisk -l /dev/sdb磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x01aa58a7设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352     8390655     2097152   82  Linux swap / Solaris
/dev/sdb4         8390656    41943039    16776192    5  Extended
/dev/sdb5         8392704    12587007     2097152   8e  Linux LVM
/dev/sdb6        12589056    16783359     2097152   83  Linux
/dev/sdb7        16785408    20979711     2097152   83  Linux
[root@node1 ~]#

1.2 交换分区

在物理内存不够用的情况下,系统会把物理内存中那些长时间没有操作的数据释放出来, 保存在交换分区(swap)中,这样物理内存中就有多余的空间,用于存放新的数据

如果物理内存不够了可以使用swap分区,那么如果swap分区也不够了呢?我们就可以添 加swap分区。下面就来讲讲如何管理swap分区

查看当前系统中所有的swap分区

[root@node1 ~]# swapon -s
文件名				类型		大小	已用	权限
/dev/dm-1                              	partition	1048572	0	-2
[root@node1 ~]#

可以看到,当前/dev/dm-1是交换分区,大小是1G。这里的权限是,如果有多个swap分 区,优先使用哪个,数值越大越优先。查看swap分区也可以使用cat /proc/swaps命令

下面开始创建swap分区

(1)把/dev/sdb2创建为swap分区

[root@node1 ~]# mkswap /dev/sdb2
正在设置交换空间版本 1,大小 = 2097148 KiB
无标签,UUID=1d8bfb35-d673-4ea0-97d9-6612a2304f15
[root@node1 ~]#

(2)激活新创建的swap分区

[root@node1 ~]# swapon /dev/sdb2
[root@node1 ~]# swapon -s
文件名				类型		大小	已用	权限
/dev/dm-1                              	partition	1048572	0	-2
/dev/sdb2                              	partition	2097148	0	-3
[root@node1 ~]# 

可以看到,此时已经有两个交换分区了。其中/dev/sdb2的权限为-3,说明/dev/dm-l优 先使用。如果想设置让/dev/sdb2优先使用,可以调整/dev/sdb2的优先级

(3)关闭新创建的swap分区

[root@node1 ~]# swapoff /dev/sdb2
[root@node1 ~]#

(4)激活swap分区,并指定优先级

[root@node1 ~]# swapon -p 2 /dev/sdb2
[root@node1 ~]# swapon -s
文件名				类型		大小	已用	权限
/dev/dm-1                              	partition	1048572	0	-2
/dev/sdb2                              	partition	2097148	0	2
[root@node1 ~]#

可以看到,/dev/sdb2的权限是2,所以这个交换分区会优先使用

上面设置的这个交换分区也只是临时生效,如果要让其重启系统之后仍然生效,就需要写 入/etc/fstab中

(5)编辑/etc/fstab,在最后一行添加

[root@node1 ~]# tail ‐1 /etc/fstab
/dev/sdb1 none swap defaults,pri=2 0 0
[root@node1 ~]#

上面每个字段用空格或【Tab】键隔开均可,第四列defaults后面的逗号两边没有空格。 如果不需要指定优先级,第四列直接写 defaults 即可

 如果/dev/sdb2当前没有激活,则在写入/etc/fstab之后,执行swapon -a命令即可

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

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

相关文章

信息系统工程的基本概念

系统是由相互作用和相互依赖的若干部分,按一定规律结合成的、具有特定功能的有机整体。系统有下述特性: (1)集合性。系统是由许多元素有机地组成的整体。每个元素服从整体,追求全局最优。 (2)相…

springboot3远程调用

RPC 两个服务器之间的调用 远程请求 内部服务之间的调用 可以通过 cloud 注册中心 openfeign等 外部服务的调用 http请求 外部协议 api:远程接口 sdk:本地调用 调用阿里云的天气请求

深度学习|词嵌入的演变

文本嵌入,也称为词嵌入,是文本数据的高维、密集向量表示,可以测量不同文本之间的语义和句法相似性。它们通常是通过在大量文本数据上训练 Word2Vec、GloVe 或 BERT 等机器学习模型来创建的。这些模型能够捕获单词和短语之间的复杂关系&#x…

要求CHATGPT高质量回答的艺术:提示工程技术的完整指南—第 27 章:如何避开和绕过所有人工智能内容检测器

要求CHATGPT高质量回答的艺术:提示工程技术的完整指南—第 27 章:如何避开和绕过所有人工智能内容检测器 使用高易错性和突发性方法 与人工智能生成的文本相比,人类写作往往具有更多的突发性,这是由于人类往往比人工智能生成的文…

【开源】基于Vue+SpringBoot的陕西非物质文化遗产网站

文末获取源码,项目编号: S 065 。 \color{red}{文末获取源码,项目编号:S065。} 文末获取源码,项目编号:S065。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 设计目标2.2 研究内容2.3 研究方法与…

GEE中Landsat中大改变——Landsat Collection 1 到 Collection 2 影像集合迁移

Landsat Collection 1 到 Collection 2 迁移 本指南提供了从Landsat Collection 1 数据切换 到 Collection 2 数据的说明。自 2022 年以来,集合 2 已在 Earth Engine 中完全可用, 自 2021 年 12 月 31 日以来,美国地质调查局 (USGS) 未生成集合 1 数据。Landsat Collection …

3D点云:平面模型上提取凸(凹)多边形方法

目录 一、实现原理 二、实现代码 三、运行结果 一、实现原理 首先要在点云中提取出潜在平面,对原始点云数据进行滤波,根据提取出的平面模型系数从滤波后的点云进行投影,然后根据投影后的点云计算其对应的二维凹(凸)多边形。 二、实现代码 #in

webrtc 设置不获取鼠标 启用回声消除

数 getDisplayMedia()(属于 navigator.mediaDevices 的一部分)与 getUserMedia() 类似,用于打开显示内容(或部分内容,如窗口)。返回的 MediaStream 与使用 getUserMedia() 时相同。 显示鼠标与否 getDisp…

案例064:基于微信小程序的考研论坛设计

文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序…

正则表达式(7):转义符

正则表达式(7):正则表达式(5):转义符 本博文转载自 此处,我们来认识一个常用符号,它就是反斜杠 “\” 反斜杠有什么作用呢?先不着急解释,先来看个小例子。 …

【游戏引擎 - C#脚本系统】6、C#端调用C++函数

强烈建议阅读Mono官方文档 有mono库提供的API&#xff0c;这个过程非常简单&#xff0c;通过mono在C中注册函数&#xff0c;然后在C#中声明和调用这些函数 1、在C中注册Internal Call&#xff1a; C代码中定义一个函数 static void CppFunc() {std::cout << "这…

24 递归求解二叉树打家劫舍

问题描述&#xff1a;在上次大街万一条街道之后和一圈房屋后&#xff0c;小偷又发现了一个新的可行窃的地区。这个地区只有一个入口&#xff0c;我们称之为根。除了根之外&#xff0c;每栋房子有且只有一个父房子与之项链&#xff0c;一番侦查之后&#xff0c;聪明的小偷意识到…

CGAL的3D简单网格数据结构

由具有多个曲面面片的多面体曲面生成的多域四面体网格。将显示完整的三角剖分&#xff0c;包括属于或不属于网格复合体、曲面面片和特征边的单元。 1、网格复合体、 此软件包致力于三维单纯形网格数据结构的表示。 一个3D单纯形复杂体由点、线段、三角形、四面体及其相应的组合…

从零开始搭建链上dex自动化价差套利程序(13)

优化 优化触发条件&#xff1a; 之前的触发条件有问题&#xff0c;导致迟迟不能触发&#xff0c;优化后触发条件如下&#xff1a; dydx_take 0.0002apex_make 0.0005​float(b_first_price_apex)-float(s_first_price_dydx) > float(b_first_price_apex)*apex_makefloat…

华为数通---配置Smart Link主备备份示例

定义 Smart Link&#xff0c;又叫做备份链路。一个Smart Link由两个接口组成&#xff0c;其中一个接口作为另一个的备份。Smart Link常用于双上行组网&#xff0c;提供可靠高效的备份和快速的切换机制。 目的 下游设备连接到上游设备&#xff0c;当使用单上行方式时&…

Microsoft 365 Copilot正式上线,如何稳定访问体验?

如果将微软对人工智能的投资看成一场豪赌&#xff0c;Microsoft Copilot无疑是现阶段最受瞩目的赌注。2023年9月正式发布的Microsoft Copilot是一种基于大型语言模型&#xff08;LLM&#xff09;和微软图形&#xff08;Microsoft Graph&#xff09;的数据和人工智能&#xff08…

贝锐花生壳3大安全能力,保障网络服务安全远程连接

在没有公网IP的情况下&#xff0c;使用内网穿透工具&#xff0c;将本地局域网服务映射至外网&#xff0c;虽然高效快捷&#xff0c;但信息安全也是不可忽略的方面。 对此&#xff0c;贝锐花生壳提供了多维度的安全防护能力&#xff0c;满足不同场景下用户安全远程访问内网服务的…

svn log | less

svn log | less 是一个命令行指令&#xff0c;用于查看 Subversion (SVN) 仓库的提交日志&#xff0c;并通过分页方式进行浏览。 具体而言&#xff0c;svn log 命令用于获取 SVN 仓库的提交历史记录。而 less 命令则是一个分页器&#xff0c;它可以将输出内容逐页显示在终端窗…

阿里巴巴通义实验室周畅:让大模型率先在PC上“跑起来”

12月7日&#xff0c;以“AI新生态 智启新元年”为主题的首届AI PC产业创新论坛在北京联想集团总部举办。阿里巴巴-通义实验室、通义千问大模型负责人周畅受邀出席分享关于端侧大模型的技术进展&#xff0c;以及终端设备与AI结合的发展前景。 周畅表示&#xff0c;大模型技术的…

【Python百宝箱】Python与移动应用开发:框架对比与交互全指南

一站式指南&#xff1a;如何用Python打造移动应用的完美体验 前言 随着移动应用市场的不断扩大&#xff0c;开发者们寻求更便捷、灵活的方式来构建跨平台的应用。本文将带领读者深入探讨Python在移动应用开发中的应用&#xff0c;聚焦于几个主要框架&#xff0c;并详细介绍它…