帮助选项
-h, --help
显示此求助信息
-l, --list
列出所有设别的分区信息
-i, --interactive
在必要时,提示用户
-s, --script
从不提示用户
-v, --version
显示版本
操作命令说明
因为parted分区比较特殊,和fdisk分区区别还是挺大,parted分区做任何操作都需要依赖命令,所以做什么操作都需要加上下面对应功能命令,所以 需要了解下面命令及其功能才能使用parted进行分区。
| 命令 | 命令功能说明 |
| — | — |
| cp
[FROM-DEVICE] FROM-MINOR TO-MINOR | 将文件系统复制到另一个分区 |
| help
[COMMAND] | 打印通用求助信息,或关于 COMMAND 的信息 |
| mklabel
标签类型 | 创建新的磁盘标签 (分区表) |
| mkfs MINOR
文件系统类型 | 在 MINOR 创建类型为“文件系统类型”的文件系统 |
| mkpart
分区类型 [文件系统类型] 起始点 终止点 | 创建一个分区 |
| mkpartfs
分区类型 文件系统类型 起始点 终止点 | 创建一个带有文件系统的分区 |
| move MINOR
起始点 终止点 | 移动编号为 MINOR 的分区 |
| name MINOR
名称 | 将编号为 MINOR 的分区命名为“名称” |
| print
[MINOR] | 打印分区表,或者分区 |
| quit
| 退出程序 |
| rescue
起始点 终止点 | 挽救临近“起始点”、“终止点”的遗失的分区 |
| resize MINOR
起始点 终止点 | 改变位于编号为 MINOR 的分区中文件系统的大小 |
| rm MINOR
| 删除编号为 MINOR 的分区 |
| select
设备 | 选择要编辑的设备 |
| set MINOR
标志 状态 | 改变编号为 MINOR 的分区的标志 |
注意
1、下面分类的都是针对parted单独功能说明的,并不是完整流程哈,所以不要以一个完整流程的心境去看下面分类,不然容易误导自己,有一个分类为完整流程参考,要看完整代码的看这个分类哈。
2、这个没有fdisk的w保存才生效机制,这个操作了就立即生效了,特别是要注意扩容新盘的时候啊,千万不要搞错命令了啊,parted中ctrl+c可以终止的哈
选择分区硬盘
首先类似fdisk一样,先选择要分区的硬盘,此处为/dev/vdb: ((parted)表示在parted中输入的命令,其他为自动打印的信息)
[root@node1 ~]# parted /dev/vdb
GNU Parted 3.1
使用 /dev/vdb
Welcome to GNU Parted! Type ‘help’ to view a list of commands.
(parted) help # 看一下常用命令
align-check TYPE N check partition N for TYPE(min|opt) alignment
help [COMMAND] print general help, or help on COMMAND
mklabel,mktable LABEL-TYPE create a new disklabel (partition table)
mkpart PART-TYPE [FS-TYPE] START END make a partition
name NUMBER NAME name partition NUMBER as NAME
print [devices|free|list,all|NUMBER] display the partition table, available devices, free space, all found partitions, or a particular partition
quit exit program
rescue START END rescue a lost partition near START and END
rm NUMBER delete partition NUMBER
select DEVICE choose the device to edit
disk_set FLAG STATE change the FLAG on selected device
disk_toggle [FLAG] toggle the state of FLAG on selected device
set NUMBER FLAG STATE change the FLAG on partition NUMBER
toggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBER
unit UNIT set the default unit to UNIT
version display the version number and copyright information of GNU Parted
创建分区
选择了/dev/vdb 作为我们操作的磁盘,接下来需要创建一个分区表(在parted中可以使用help命令打印帮助信息):
(parted) mklabel # 输入这个创建分区信息
Warning: The existing disk label on /dev/hdd will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? yes #警告用户磁盘上的数据将会被销毁,询问是否继续,我们这里是新的磁盘,输入yes后回车
New disk label type? [msdos]?gpt # 默认为msdos形式的分区,我们要正确分区大于2TB的磁盘,应该使用gpt方式的分区表,所以输入gpt后回车
分区操作
注:使用mklabel
创建好分区表以后,接下来才可以进行分区操作,执行mkpart
命令,分别输入分区名称,文件系统类型 和分区的 起止位置,如下:
(parted) mkpart #分区命令
Partition name? []? dp1 #分区名称(自定义)
File system type? [ext2]? ext3 #指定类型(ext3、ext4、xfs)
Start? 0 #起始位置,也可以用百分比表示,比如Start? 0% , End? 50%;
End? 1000 #大小(不加单位默认为M)
方式一
这种是常规操作哈,直接用G划分空间,也可以使用M,下面附详细说明:
起止位置说明:我们可以不加单位,默认为M,这样更方便分多个区,比如第一个区需要500个G,第二个区需要500G,第三个区为剩下的空间,那么我们可以这样划分(注,这种和直接使用mkpart有区别哈):
第一个区:(可以用计算器算的哈:1024x需要G数)
start? 1
end?512000
第二个区:
start?512001
end?1024001
第三个区:
start?1024002
end?-1
(-1就是剩下全部的意思)
下面是以G说明:
(parted) mkpart #分区命令
Partition name? []? dp1 #分区名称(自定义)
File system type? [ext2]? ext3 #指定类型(ext3、ext4、xfs)
Start? 0 #起始位置,也可以用百分比表示,比如Start? 0% , End? 50%;
End? 500GB #大小(不加单位默认为M)
方式二(不建议用这种)
起止位置说明:我们可以不加单位,默认为M,这样更方便分多个区,比如第一个区需要500个G,第二个区需要500G,第三个区为剩下的空间,那么我们可以这样划分(注,这种和直接使用mkpart有区别哈):
第一个区:mkpart primary 1 512000
(可以用计算器算的哈:1024x需要G数)
第二个区:mkpart primary 512001 1024001
第三个区:mkpart primary 1024002 -1
(-1就是剩下全部的意思)
GNU Parted 3.1
Using /dev/sdb
Welcome to GNU Parted! Type ‘help’ to view a list of commands.
(parted) mklabel gpt #将MBR磁盘格式化为GPT
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want
to continue?
Yes? yes
(parted) mkpart primary 1 3145728 #单位为M
(parted) mkpart primary 3145729 -1 # -1是将剩余空间划分为一个分区
(parted) p #打印结果
Model: AVAGO AVAGO (scsi)
验证分区信息
一般每分好一个区后都使用print命令打印分区信息,如果没错就可以直接输入:quit
退出了。
(parted) print # 也可以只输入一个 p
Model: VBOX HARDDISK (ide)
Disk /dev/sdb: 2199GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt #查询类型
Number Start End Size File system Name Flags
1 17.4kB 500GB 500GB dp1
删除分区示例
如果分区错了,可以使用rm命令删除分区,比如我们要删除上面的分区,然后打印删除后的结果
(parted) rm 1 #rm后面使用分区的号码,就是用print打印出来的Number
(parted) print #再次查看确认已删除
Model: VBOX HARDDISK (ide)
Disk /dev/sdb: 2147GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
上面parted整个流程完整代码展示(上面都懂可不看)
[root@node1 ~]# parted /dev/vdb
(parted) mkpart
Partition name? []? dp1
File system type? [ext2]? ext3
Start? 0
End? 500GB
(parted) mkpart
Partition name? []? dp2
File system type? [ext2]? ext3
Start? 500GB
End? 2199GB
(parted) print
Model: VBOX HARDDISK (ide)
Disk /dev/vdb: 2199GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 17.4kB 500GB 500GB dp1
2 500GB 2199GB 1699GB dp2
(parted) quit # 退出
信息: You may need to update /etc/fstab.
看完上面的还是有点懵逼? 那你继续往下看,有一个分类是开始分区(parted过程完整代码)中的方式一,每个都用 红色字体标注 了,如果这都还是不明白parted,那么这边建议你改行呢!
使用parted命令行分区
先把上面的搞懂了,回头看下面的,会发现,其实parted分区很简单的。
[root@controller01 ~]# parted -s /dev/vdb mklabel gpt
【格式化】
[root@controller01 ~]# parted -s /dev/vdb mkpart primary 2048s 20G
【开始分区,第一个分区,大小为20G】
[root@controller01 ~]# parted -s /dev/vdb mkpart primary 20G 40G
【第二个分区,想要多个分区,重复该步骤即可】
…
格式化及挂载等操作
由于parted内建的mkfs还不够完善,所以完成以后我们可以使用quit命令退出parted并使用 系统的mkfs命令对分区进行格式化了,此时如果使用fdisk -l命令打印分区表会出现警告信息,这是正常的
#下面内容我就全删了,只留下命令用来提示。
[root@node1 ~]# fdisk -l # 查看parted分区信息
[root@node1 ~]# mkfs.ext4 /dev/vdb1 #新建的分区格式化为ext4
#下面就是创建挂载目录以及挂载流程了
[root@node1 ~]# mkdir /data #创建挂载目录
[root@node1 ~]# mount /dev/vdb1 /data/ # 挂载
[root@node1 ~]# df -h
[root@node1 ~]# blkid # 查看分区的uid
[root@node1 ~]# vim /etc/fstab #利用uid写进fstab永久挂载
前提准备
我在vmware虚拟机上添加了一块大于2T的硬盘,所以你想做测试,也可以直接通过vmware添加一块大于2t的盘,亲自试验一次呢!
大于2T硬盘分区需要使用:parted
查看硬盘大小:fdisk -l
以第二块磁盘sdb为例:看看总容量是否大于2000G, 大于就使用GPT分区 反之使用普通分区即可。
[root@ccx ~]# lsblk | grep sdb
sdb 8:16 0 2.2T 0 disk
[root@ccx ~]# fdisk -l|grep sdb
Disk /dev/sdb: 2385.9 GB, 2385854332928 bytes, 4659871744 sectors
[root@ccx ~]#
开始分区(parted过程完整代码)
注意事项
这个没有fdisk的w保存才生效机制,这个操作了就立即生效了,特别是要注意扩容新盘的时候啊,千万不要搞错命令了啊,parted中ctrl+c可以终止的哈
流程概述
1、parted /dev/sdb
——进入parted分区
2、mklabel-gpg-有yes输yes即可
——创建分区并指定类型
3、mkpart-自定义分区名称-输入类型(如ext4,xfs)-输入起止位置(多种方式均可使用)
——如果需要添加多个分区,从mkpart开始重复该步骤)
4、p
——验证
5、rm Num
——如果不需要删除分区,跳过该步
6、quit
——退出
全部代码如下
[root@ccx ~]# parted /dev/sdb
#进入分区
GNU Parted 3.1
Using /dev/sdb
Welcome to GNU Parted! Type ‘help’ to view a list of commands.
(parted) mklabel
#创建分区 类型
New disk label type?gpt
#类型为gpt
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do
you want to continue?
Yes/No? yes
# 有验证输yes,没有不管
(parted) mkpart
# 创建分区
Partition name? []? test1
#自定义名称
File system type? [ext2]? ext4
#输入类型(理论上可以随便输,毕竟没效果)
Start? 1
#起始位置,默认单位是M
End? 512000
#终止位置,默认单位是M
(parted) mkpart
#需要添加多个分区,重复该步骤即可 ,没有直接p查看无问题后quit即可
Partition name? []? test2
#自定义名称
File system type? [ext2]? ext4
#输入类型(理论上可以随便输,毕竟没效果)
Start?512001
#起始位置,默认单位是M
End? 1024G
#终止位置,可以指定为G
(parted) p
#打印结果查看
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 2386GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 512GB 512GB test1
2 512GB 1024GB 512GB test2
(parted) mkpart
#需要添加多个分区,重复该步骤即可 ,没有直接p查看无问题后quit即可
Partition name? []?test3
#自定义名称
File system type? [ext2]? ext4
#输入类型(理论上可以随便输,毕竟没效果)
Start? 1024G
#起始位置,可以指定单位为G
End?-1
#终止位置,-1 是剩余全部的意思
(parted) p
#再次查看j分区信息
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 2386GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 512GB 512GB test1
2 512GB 1024GB 512GB test2
3 1024GB 2386GB 1362GB test3
(parted) quit
#退出 分区就完成了,lsblk可以直接查看
Information: You may need to update /etc/fstab.
验证分区并格式化分区
- 上面说明,quit退出以后就可以直接用lsblk查看到分区的。
[root@ccx ~]# lsblk | grep sdb
sdb 8:16 0 2.2T 0 disk
├─sdb1 8:17 0 476.9G 0 part
├─sdb2 8:18 0 476.9G 0 part
└─sdb3 8:19 0 1.2T 0 part
[root@ccx ~]#
- 格式化分区
格式化代码如下:
[root@ccx ~]#mkfs.ext4 /dev/sdb1
[root@ccx ~]#mkfs.xfs /dev/sdb2
[root@ccx ~]# mkfs.ext4 /dev/sdb3
- 也可以使用这种格式来格式化硬盘。
mkfs -t ext4 /dev/sdb1
mkfs -t ext4 /dev/sdb2
- 下面是格式化的详细信息,不确定自己格式化是否成功的,可以对比下内容。
[root@ccx ~]# mkfs
mkfs mkfs.cramfs mkfs.ext3 mkfs.fat mkfs.msdos mkfs.xfs
mkfs.btrfs mkfs.ext2 mkfs.ext4 mkfs.minix mkfs.vfat
[root@ccx ~]# mkfs.ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
31252480 inodes, 124999680 blocks
6249984 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2273312768
3815 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
[root@ccx ~]# mkfs.xfs /dev/sdb2
meta-data=/dev/sdb2 isize=256 agcount=4, agsize=31249984 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0
data = bsize=4096 blocks=124999936, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal log bsize=4096 blocks=61035, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@ccx ~]# mkfs.ext4 /dev/sdb3
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
83124224 inodes, 332483584 blocks
16624179 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2480930816
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
![img](https://img-blog.csdnimg.cn/img_convert/26b981aed0f68cc5d990e0fb136deac8.jpeg)
一线互联网大厂Java核心面试题库
正逢面试跳槽季,给大家整理了大厂问到的一些面试真题,由于文章长度限制,只给大家展示了部分题目,更多Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等已整理上传,感兴趣的朋友可以看看支持一波!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
家的负担。**[外链图片转存中…(img-V6j8wD3D-1713219340860)]
[外链图片转存中…(img-Kfk3lRaX-1713219340860)]
[外链图片转存中…(img-FQLfV3ya-1713219340860)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
![img](https://img-blog.csdnimg.cn/img_convert/26b981aed0f68cc5d990e0fb136deac8.jpeg)
一线互联网大厂Java核心面试题库
[外链图片转存中…(img-ttC5SIRj-1713219340861)]
正逢面试跳槽季,给大家整理了大厂问到的一些面试真题,由于文章长度限制,只给大家展示了部分题目,更多Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等已整理上传,感兴趣的朋友可以看看支持一波!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!