Centos7磁盘管理
Centos7磁盘管理
背景
在使用虚拟机作为开发环境时,特别是作为数据库服务器时,磁盘随着使用也逐渐紧张。为了解决这一问题,需要对磁盘进行扩容或者缩容。
当在网上找相关解决方案时,发现大部分内容不是纯理论,就是直接几条命令堆砌,也未说明每一条命令目的以及未预期的出错原因。
当然,在安装机器的时候,也应该考虑到合理分配磁盘空间。所以本篇内容将围绕以下模块进行描述:
- vmware安装centos7,合理分配磁盘空间
- 磁盘管理命令工具
- 扩容-硬盘扩容
- 扩容-增加硬盘
- 分区容量修改
另外,以下内容仅涉及容量2T以下的磁盘管理,这是因为2T以上的磁盘管理通过另外的命令实现。
而2T以上的磁盘管理由于没有现实条件,不进行叙述。
命令有 fdisk 和 parted。其中 fdisk 命令较为常用,但不支持大于 2TB 的分区;
如果需要支持大于 2TB 的分区,则需要使用 parted 命令,当然 parted 命令也能分配较小的分区。
参考链接
Linux 磁盘管理 | 菜鸟教程 (runoob.com)
Linux文件系统管理 (biancheng.net)
MBR与GPT:磁盘分区方式 - 知乎 (zhihu.com)
文件系统类型(ext4、xfs、fat32、vfat、ntfs、…) - daduryi - 博客园 (cnblogs.com)
命令说明
完成磁盘管理需要掌握以下命令:
1.fdisk
说明
fdisk命令的英文全称是“Partition table manipulator for Linux”,是实现磁盘的分区工具。
在 Linux 中分区中,有两种分区模式:MBR和GPT。而fdisk是一个基于MBR的分区工具。MBR只支持不超过2T的硬盘,超过2T的硬盘将只能用2T空间(有第三方解决方法)。
查看帮助 fdisk -h
[root@application01 ~]# fdisk -h
用法:fdisk [选项] <磁盘> 更改分区表fdisk [选项] -l <磁盘> 列出分区表fdisk -s <分区> 给出分区大小(块数)选项:-b <大小> 扇区大小(512、1024、2048或4096)-c[=<模式>] 兼容模式:“dos”或“nondos”(默认)-h 打印此帮助文本-u[=<单位>] 显示单位:“cylinders”(柱面)或“sectors”(扇区,默认)-v 打印程序版本-C <数字> 指定柱面数-H <数字> 指定磁头数-S <数字> 指定每个磁道的扇区数
查看命令手册说明 man fdisk
[root@application01 ~]# man fdisk
NAMEfdisk - manipulate disk partition table # Linux分区表操作工具软件...
列出分区表fdisk -l
# 列出所有分区表
[root@application01 ~]# fdisk -l磁盘 /dev/sda:107.4 GB, 107374182400 字节,209715200 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000a7a1e设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 19531775 9764864 83 Linux
/dev/sda2 19531776 39061503 9764864 83 Linux
/dev/sda3 39061504 97654783 29296640 83 Linux
/dev/sda4 97654784 209715199 56030208 5 Extended
/dev/sda5 97656832 209715199 56029184 83 Linux磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x3c71443f设备 Boot Start End Blocks Id System
/dev/sdb1 2048 41943039 20970496 83 Linux# 列出指定分区表/dev/sdb
[root@application01 ~]# fdisk -l /dev/sdb磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x3c71443f设备 Boot Start End Blocks Id System
/dev/sdb1 2048 41943039 20970496 83 Linux
管理指定分区 fdisk /dev/sda
[root@application01 ~]# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
管理指定分区后,将进入交互模式。进入交互后,可以通过输入选项,实现功能
选项列表
命令(输入 m 获取帮助):m
命令操作a toggle a bootable flagb edit bsd disklabelc toggle the dos compatibility flagd delete a partition # 删除一个分区g create a new empty GPT partition table G create an IRIX (SGI) partition table l list known partition typesm print this menu # 显示帮助菜单n add a new partition # 新建分区o create a new empty DOS partition table p print the partition table # 显示分区列表q quit without saving changes # 不保存退出s create a new empty Sun disklabelt change a partition's system idu change display/entry unitsv verify the partition tablew write table to disk and exit # 保存退出x extra functionality (experts only)
其中常用的选项如上注释
2.mkfs
说明
当完成分区的创建后,如果不进行格式化,是不能使用的。而命令mkfs可以对硬盘分区进行格式化。
另外,mkfs无法格式化扩展分区,可以格式化主分区和逻辑分区
查看帮助
[root@application01 ~]# mkfs --help
用法:mkfs [选项] [-t <类型>] [文件系统选项] <设备> [<大小>]
选项:-t, --type=<类型> 文件系统类型;若不指定,将使用 ext2fs-options 实际文件系统构建程序的参数<设备> 要使用设备的路径<大小> 要使用设备上的块数-V, --verbose 解释正在进行的操作;多次指定 -V 将导致空运行(dry-run)-V, --version 显示版本信息并退出将 -V 作为 --version 选项时必须是惟一选项-h, --help 显示此帮助并退出
在linux中,文件系统类型可以见以下链接:
文件系统类型(ext4、xfs、fat32、vfat、ntfs、…) - daduryi - 博客园 (cnblogs.com)
另外,在linux中,有mkfs的命令衍生,如mkfs.btrfs,mkfs.cramfs,mkfs.ext2,mkfs.ext3,mkfs.ext4,mkfs.minix和mkfs.xfs。
其实这些衍生命令相当于指定了相关类型,如
mkfs.ext2
=mkfs -t ext2
3.mount
说明
命令mount称为挂载,指的是将硬件设备的文件系统和 Linux 系统中的文件系统,通过指定目录(作为挂载点)进行关联。
查看帮助
[root@application01 ~]# mount --help用法:mount [-lhV]mount -a [选项]mount [选项] [--source] <源> | [--target] <目录>mount [选项] <源> <目录>mount <操作> <挂载点> [<目标>]选项:-a, --all 挂载 fstab 中的所有文件系统-c, --no-canonicalize 不对路径规范化-f, --fake 空运行;跳过 mount(2) 系统调用-F, --fork 对每个设备禁用 fork(和 -a 选项一起使用)-T, --fstab <路径> /etc/fstab 的替代文件-h, --help 显示此帮助并退出-i, --internal-only 不调用 mount.<类型> 助手程序-l, --show-labels 列出所有带有指定标签的挂载-n, --no-mtab 不写 /etc/mtab-o, --options <列表> 挂载选项列表,以英文逗号分隔-O, --test-opts <列表> 限制文件系统集合(和 -a 选项一起使用)-r, --read-only 以只读方式挂载文件系统(同 -o ro)-t, --types <列表> 限制文件系统类型集合--source <源> 指明源(路径、标签、uuid)--target <目标> 指明挂载点-v, --verbose 打印当前进行的操作-V, --version 显示版本信息并退出-w, --rw, --read-write 以读写方式挂载文件系统(默认)-h, --help 显示此帮助并退出-V, --version 输出版本信息并退出源:-L, --label <标签> 同 LABEL=<label>-U, --uuid <uuid> 同 UUID=<uuid>LABEL=<标签> 按文件系统标签指定设备UUID=<uuid> 按文件系统 UUID 指定设备PARTLABEL=<标签> 按分区标签指定设备PARTUUID=<uuid> 按分区 UUID 指定设备<设备> 按路径指定设备<目录> 绑定挂载的挂载点(参阅 --bind/rbind)<文件> 用于设置回环设备的常规文件操作:-B, --bind 挂载其他位置的子树(同 -o bind)-M, --move 将子树移动到其他位置-R, --rbind 挂载其他位置的子树及其包含的所有挂载--make-shared 将子树标记为 共享--make-slave 将子树标记为 从属--make-private 将子树标记为 私有--make-unbindable 将子树标记为 不可绑定--make-rshared 递归地将整个子树标记为 共享--make-rslave 递归地将整个子树标记为 从属--make-rprivate 递归地将整个子树标记为 私有--make-runbindable 递归地将整个子树标记为 不可绑定更多信息请参阅 mount(8)。
挂载 mount
mount /dev/sdb1 /data01
以上命令可以将分区/dev/sdb1挂载到目录/data01,目录/data01必须存在;另外,这种挂载方式为手动挂载,机器重启后将失效。
所以,挂载不仅要手动挂载,也要修改/etc/fstab,实现自动挂载。
挂载 fstab 中的所有文件系统mount -a
mount -a
以上命令可以挂载fstab中的所有文件系统
列出所有带有指定标签的挂载,mount -l
[root@application01 data01]# mount -l
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=1919912k,nr_inodes=479978,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,seclabel)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,seclabel,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,memory)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,perf_event)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,cpuacct,cpu)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,freezer)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,cpuset)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,net_prio,net_cls)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,pids)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,hugetlb)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,blkio)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,devices)
configfs on /sys/kernel/config type configfs (rw,relatime)
/dev/sda1 on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=26,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=21095)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,seclabel)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime,seclabel)
/dev/sda3 on /data type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
/dev/sda2 on /home type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
/dev/sda5 on /data01 type ext4 (rw,relatime,seclabel,data=ordered)
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=386152k,mode=700)
4.umount
说明
有挂载命令mount,则也一定有卸载命令。而umount就是这一卸载命令
命令umount可以卸载已经挂载的硬件设备。
显示帮助
[root@application01 ~]# umount --help用法:umount [-hV]umount -a [选项]umount [选项] <源> | <目录>选项:-a, --all 卸载所有文件系统-A, --all-targets 卸载当前名字空间内指定设备对应的所有挂臷点-c, --no-canonicalize 不对路径规范化-d, --detach-loop 若挂臷了回环设备,也释放该回环设备--fake 空运行;跳过 umount(2) 系统调用-f, --force 强制卸载(遇到不响应的 NFS 系统时)-i, --internal-only 不调用 umount.<类型> 辅助程序-n, --no-mtab 不写 /etc/mtab-l, --lazy 立即断开文件系统,所有清理以后执行-O, --test-opts <列表> 限制文件系统集合(和 -a 选项一起使用)-R, --recursive 递归卸载目录及其子对象-r, --read-only 若卸载失败,尝试以只读方式重新挂臷-t, --types <列表> 限制文件系统集合-v, --verbose 打印当前进行的操作-h, --help 显示此帮助并退出-V, --version 输出版本信息并退出更多信息请参阅 umount(8)。
卸载
如果存在一个文件系统和挂载点,如下:
mount /dev/sdb1 /data01
可以通过以下命令实现卸载
# 卸载分区
umount /dev/sdb1
# 或者卸载挂载点
umount /data01
卸载报错
如果当前目录在挂载点,进行卸载操作,将报错。如下:
[root@application01 data]# cd /data01/
[root@application01 data01]# umount /data01
umount: /data01:目标忙。(有些情况下通过 lsof(8) 或 fuser(1) 可以找到有关使用该设备的进程的有用信息)
以上报错可以去到其它目录在进行卸载
合理分配磁盘空间
在vmware新建虚拟机时,为了快速完成,都会选择自动分区。自动分区虽然可以不用进行复杂设置,显然这会让机器的分区不符合预期。所以需要在安装机器的时候应该合理分配
1.新建虚拟机,可以指定磁盘大小
如下是设置为50GB
2.执行外部机器存储磁盘文件的位置
指定这一路径后,外部机器相关的文件路径下,会生成多个磁盘文件,如下:
3.配置完成后,虚拟机设置中的硬件-硬盘
4.启动机器后,会进入安装向导
以下是磁盘划分向导,默认是自动配置分区
由于想要获取预期分区,所以选择自定义
5.添加分区
切分如下:
6.安装完成后,查看分区是否符合预期
使用df命令查看分区是否符合预期
当磁盘空间不足时,有两种选择都可以实现扩容。在原磁盘增加容量,也可以新增磁盘。将分别进行笔记。
centos7扩容-硬盘扩容
1.硬盘扩容
在vmware扩展磁盘容量至100GB
但使用df命令查看系统中各文件系统的硬盘使用情况。实际上与之前并没有变化。
# 查看系统中各文件系统的硬盘使用情况
df -h
# 查看分区信息
fdisk -l
可以通过命令fdisk -l
可以有以下内容:
- 磁盘/dev/sda已提升至107GB,但分区还是只有原来的3个分区(/dev/sda1,/dev/sda2,/dev/sda3),分区的容量大小没有发生变化,仍然为50GB
- 其中每个分区的容量可以通过Blocks获取,单位是KB,如分区/dev/sda1的容量是9764864KB≈9.3125GB
- 而Blocks的计算公式是:
Blocks=(End−Start)∗tracksBlocks = (End-Start)*tracks Blocks=(End−Start)∗tracks
所以Blocks=(19531775-2048) * 512 / 1000 = 19529727 * 512 / 1024 = 9999220224 / 1024 = 9764863.5KB ≈ 9764864KB
- 3个分区(/dev/sda1,/dev/sda2,/dev/sda3)是连续的,即start和end是连续的
2.使用fdisk管理分区
使用fdisk对分区/dev/sda进行管理
fdisk /dev/sda
使用选项n增加分区
从上面可以发现,因为已经有3个主分区,而根据分区标准,只能有4个主分区(3个主分区+1个扩展分区),扩展分区下可以有多个逻辑分区。所以使用选项e创建扩展分区/dev/sda4
3.新增逻辑分区
在扩展分区/dev/sda4下创建逻辑分区/dev/sda5
完成分区管理后,选择选项w进行保存
保存后获取/dev目录下是否成功创建目录sda5
ls /dev | grep sd
发现没有创建,可以通过重启机器reboot
reboot
再次获取/dev目录下是否成功创建目录sda5
成功创建
4. 使用mkfs格式化分区
mkfs.ext4 /dev/sda5
其中mkfs.ext4命令是mkfs的扩展,可以指定分区的文件系统格式为ext4
5.使用mount手动挂载分区
将分区/dev/sda5挂载到目录/data01
mount /dev/sda5 /data01
6.修改/etc/fstab实现自动挂载
为了实现自动挂载,需要将挂载动作记录到 /etc/fstab
/dev/sda5 /data01 ext4 defaults 0 0
系统开机时会主动读取/etc/fstab这个文件中的内容,根据文件里面的配置挂载磁盘。
以下命令将 /etc/fstab 中定义的所有档案系统挂上
mount -a
重启后,查看分区是否被重置
发现挂载未失效
在虚拟机上,可以像上面一样,在硬盘的基础上增加容量,即/dev/sda从50GB到100GB.
但如果没有使用虚拟机,就需要通过空闲的硬盘插口增加硬盘,即增加/dev/sdb,如下:
centos7扩容-增加硬盘
1.增加磁盘
在vmware新增新硬盘,硬盘大小为20GB
使用fdisk -l
可以发现新增磁盘/dev/sdb
,但下面没有任何分区信息
fdisk -l
2.管理分区/dev/sdb
使用选项p查看分区/dev/sdb
新增主分区/dev/sdb1
保存后,通过fdisk -l,可以查看磁盘下/dev/sdb下有一分区/dev/sdb1
3. 格式化分区/dev/sdb1
4.手动挂载
5.自动挂载
为了实现自动挂载,在/etc/fstab进行编辑
分区容量修改
使用fdisk -l查看分区信息时,发现分区/dev/sdb1只有10GB,而磁盘/dev/sdb有20GB,还剩10GB未利用
此时,可以新增分区,使用剩余空间。如上操作即可。
当然,也可以修改分区/dev/sdb1,使sdb1使用全部空间
1.卸载分区
卸载分区/dev/sdb1,并修改/etc/fstab,注释相关挂载配置
注意以上动作会将/data02下的内容被删除
可以发现目录/data02被卸载
2. 卸载后重启机器
必须重启机器
3.重新创建分区
确认没问题后,删除分区,并重新创建分区,使用全部空间
4.格式化分区/dev/sdb1
5.手动挂载和自动挂载
可以发现目录/data02的空间为20GB
总结
篇幅虽然长,但实际上实现磁盘管理的命令并不多。主要是对磁盘相关认识和整个流程的把握。
在磁盘认识上,需要知道主分区、扩展分区和逻辑分区等概念。这样才能合理分配空间,以及创建时指定分区类型。
在整个流程的把握上,挂载是以下步骤:
- 创建分区
fdisk xxx
- 格式化分区
mkfs -t xxx xxx
- 挂载(手动+自动)分区
mount xxx xxx
另外,在操作过程中,如果出现错误,应该确认是否存在错误操作。特别是通过fdisk时,当意识到不正确时,可以直接通过选项q结束设置。
Centos7磁盘管理相关推荐
- centos图形化磁盘文件管理_CentOS7磁盘管理-分区扩容-使用gparted图形化工具或系统命令...
centOS7磁盘管理-分区扩容-使用gparted图形化工具或系统命令 @了解centos下磁盘结构 无标题.png 解释 PE - 物理块(Physical Extent) 硬盘上有很多实际物理存 ...
- CentOS7 运维 - 磁盘管理与文件系统 | 超详细 | 附挂载教程及错误排查 | parted超大磁盘分区教程
磁盘管理与文件系统 硬盘结构 磁盘的接口种类 磁盘分区表示 主引导记录(MBR)磁盘分区 文件系统类型 XFS 文件系统 SWAP 交换文件系统 Linux 支持的其他文件系统类型 fdisk 检测并 ...
- Linux7/Centos7磁盘分区、格式化及LVM管理
RHEL7如何对磁盘进行分区和格式化以及如何配置LVM,与以前版本的RHEL区别不大,可以通过disk工具(在图形桌面中运行)或命令工具(如:fdisk.gdisk.parted)管理硬盘设备.fdi ...
- centos7磁盘分区、格式化及LVM管理
磁盘分区.格式化及LVM管理 http://hongge.blog.51cto.com/ RHEL7如何对磁盘进行分区和格式化以及如何配置LVM,与以前版本的RHEL区别不大,可以通过disk工具(在 ...
- 【Linux】centos7学习日记-磁盘管理
目录 磁盘管理 一.存储介绍 二.存储概览 三.磁盘分区 四.交换分区 五.开机挂载 六.磁盘矩阵RAID 七.文件链接 八.LVM逻辑卷 九.文件系统 磁盘管理 一.存储介绍 1. ①NAS ...
- 磁盘管理及文件系统管理
Linux磁盘管理及文件系统管理 涉及到的命令: mknod.fdisk.partx.kpartx.partprobe.ln.mkfs.mkfs.{ext2.ext3.ext4.xfs}.fsck.{ ...
- 磁盘管理第一章(分区与格式化)
磁盘管理第一章 对于非系统所在硬盘,内核自动更新分区表,而对于系统所在硬盘,不能直接列新,要使用以下命令 通知内核读取分区表 cenots5\centos7: partprobe (centos6不可 ...
- linux下卸载 dev sd*下硬盘,Linux 磁盘管理(示例代码)
磁盘管理 Linux思想一切皆文件: open(),read(),write(),close() I/O 设备地址 设备类型: 块设备:block,存取单位"块",磁盘 (随机访问 ...
- linux 查看磁盘管理,linux下的磁盘管理
1.磁盘管理 磁盘是我们日常生活中最主要的存储介质,在工业领域同样有着大量的使用,对于一块硬盘,我们并不能直接读取上面的数据,因为磁盘上的是二进制数据,有磁性代表着1,没磁性代表着0,读取数据是计算机 ...
最新文章
- python转行it好学吗-我研一想转行it,建议Java还是Python呢?
- Button的使用(十三):设置可见性
- go float64 转int_深挖Go函数之深度解析(下):可变参数
- java多线程模拟实现12306售票
- 计算机视觉中的人类感知、理解和生成 (ICCV 2019 Workshop)
- linux内存管理详解,Linux内存管理图文讲解.pdf
- 网络编程函数小总结与初识socket
- 测试用例设计方法-正交试验常用正交表
- git log 日期格式
- 0516---win10 chrome 浏览器播放视频没有声音的解决办法
- 微信扫码/链接下载APK包, 自定义引导页,引导在外部浏览器打开
- Hack the box靶机 Blunder
- mac 外接双显示器
- 互联网信息服务【安全评估报告】详细攻略
- Vue3实现中英文切换
- 构建AWS Site-to-Site IPsec实现内网互联
- IKAnalyzer总结
- 常见乱码问题分析和总结
- SCSS常用语法总结
- detect(detected是什么意思)
热门文章
- **生活**关于对软件的艺术与生活的艺术的思考
- 关于软件文档 这些你知道吗?
- @schedule定时注解
- 信息学奥赛一本通(c++):1168:大整数加法
- css中伪类选择器详解(a:visited不生效的原因)
- 如何按需下载和安装Win10补丁
- java+SQL做学生信息管理系统(增删改查)
- 科创板明日迎来第二批上市公司:晶晨股份和柏楚电子
- ui动效 unity_【FairyGUI Unity】使用动效功能实现血条UI扣血与加血的缓动效果
- 英飞凌TC264之PWM舵机控制