- 简介
- 第一章 - 关于 CD
- 第二章 - 基本命令
- Hack-7 Grep
- Hack-8 Grep 与正则表达式
- Hack-9 Find 命令
- Hak-10 重定向
- Hack-11 Join 命令
- Hack-12 Tr 命令
- Hack-13 Xargs 命令
- Hack-14 Sort 命令
- Hack-15 Uniq 命令
- Hack-16 Cut 命令
- Hack-17 Stat 命令
- Hack-18 Diff 命令
- Hack-19 Ac 命令
- Hack-20 让命令在后台执行
- Hack-21 Sed 替换基础
- Hack-22 Awk 简介
- Hack-23 VIM 基本入门
- Hack-24 Chmod 命令
- Hack-25 Tail -f -f
- Hack-26 Less 命令
- Hack-27 Wget 下载器
- 第三章 - SSH 技巧
- 第四章 - 日期设置
- 第五章 - PS* 介绍
- 第六章 - 压缩和打包
- 第七章 - 历史命令
- 第八章 - 系统任务管理
- 第九章 - 安装软件
- 第十章 - LAMP 套装
- 第十一章 - Bash 脚本
- 第十二章 - 系统性能监控
- 第十三章 - 额外的技巧
Hack-66 Parted 命令
Parted 命令
知道 Gparted
吧? 这个 parted
就是它的无图形化界面。
我还是推荐大家用 Gparted
, 因为操作很直观嘛. 当然,学了 parted
更好啦,有些时候没有图形化界面,就得需要命令行界面了。
还要记住一点,每次操作的时候,你必须清楚地明白你在做什么,否则没有后悔药给你吃的。
你也知道数据恢复是多么的昂贵。
正餐开始(看看就好,不必上手操作的):
选择要操作的分区
当你直接输入 parted
的时候,默认的操作对象是系统中第一个可用的分区。
下面的例子中,它自动选择了 /dev/sda
做为操作对象,因为这是系统中第一个可用的分区。
# parted
GNU Parted 2.3
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)
To choose a different hard disk, use the select command as shown below.
(parted) select /dev/sdb
当他找不到所选择的分区时,就会抛出一个错误:
Error: Error opening /dev/sdb: No medium found
Retry/Cancel? y
用 print
显示所有可操作的磁盘
用这个命令可以显示出所有可操作的磁盘分区,他还能够显示一些磁盘的属性,比如模式,大小,蔟大小,分区表信息等等。
(parted) print
Model: ATA WDC WD5000BPVT-7 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Number Start End Size Type Filesystem Flags
1 1049kB 106MB 105MB primary fat16 diag
2 106MB 15.8GB 15.7GB primary ntfs boot
3 15.8GB 266GB 251GB primary ntfs
4 266GB 500GB 234GB extended
5 266GB 269GB 2682MB logical ext4
7 269GB 270GB 524MB logical ext4
8 270GB 366GB 96.8GB logical lvm
6 366GB 370GB 3999MB logical linux-swap(v1)
9 370GB 500GB 130GB logical ext4
用 mkpart
在硬盘中创建主分区
mkpart
命令可以创建主分区和逻辑分区,他所需要的参数是 START
和 END
. 也就是标记从哪儿分,分到哪儿. 单位是 MB
.
下面的例子分了一个 15G 的区:
(parted) mkpart primary 106 16179
你也可以用下面的例子来开启磁盘的 boot
标志,使之作为一个启动硬盘. Linux 保留了 1-4 或者 1-3 作为主分区,把其他的数字所谓扩展分区。
(parted) set 1 boot on
用 mkpart
在硬盘中创建逻辑分区
在执行操作之前,我们先看看磁盘的信息:
(parted) print
Model: ATA WDC WD5000BPVT-7 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Number Start End Size Type Filesystem Flags
1 1049kB 106MB 105MB primary fat16 diag
2 106MB 15.8GB 15.7GB primary ntfs boot
3 15.8GB 266GB 251GB primary ntfs
4 266GB 500GB 234GB extended
5 266GB 316GB 50.0GB logical ext4
6 316GB 324GB 7999MB logical linux-swap(v1)
7 324GB 344GB 20.0GB logical ext4
8 344GB 364GB 20.0GB logical ext2
用下面的命令来创建一个 128G 的逻辑分区:
(parted) mkpart logical 372737 500000
现在我们再来查看一下磁盘信息:
(parted) print
Model: ATA WDC WD5000BPVT-7 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Number Start End Size Type Filesystem Flags
1 1049kB 106MB 105MB primary fat16 diag
2 106MB 15.8GB 15.7GB primary ntfs boot
3 15.8GB 266GB 251GB primary ntfs
4 266GB 500GB 234GB extended
5 266GB 316GB 50.0GB logical ext4
6 316GB 324GB 7999MB logical linux-swap(v1)
7 324GB 344GB 20.0GB logical ext4
8 344GB 364GB 20.0GB logical ext2
9 373GB 500GB 127GB logical
用 mkfs
创建文件系统
有了磁盘还不算完,还要在里面创建文件系统,当然,这种操作也是极其危险的,因为格式化之后的数据将会全部丢失. Parted
支持的文件系统有:ext2, mips, fat16, fat32, linux-swap 和 reiserfs(如果安装了 libreiserfs 的话).
下面的例子把第八块儿分区的格式从 ext4
变为了 ext2
:
(parted) print
Model: ATA WDC WD5000BPVT-7 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Number Start End Size Type Filesystem Flags
1 1049kB 106MB 105MB primary fat16 diag
2 106MB 15.8GB 15.7GB primary ntfs boot
3 15.8GB 266GB 251GB primary ntfs
4 266GB 500GB 234GB extended 5 266GB 316GB 50.0GB logical ext4
6 316GB 324GB 7999MB logical linux-swap(v1)
7 324GB 344GB 20.0GB logical ext4
8 344GB 364GB 20.0GB logical ext4
9 364GB 500GB 136GB logical ext4
然后开始格式化:
(parted) mkfs
Warning: The existing file system will be destroyed and
all data on the partition will be lost. Do you want to
continue?
Yes/No? y
Partition number? 8
File system type?
[ext2]? ext2
执行完成之后我们再来看一下:
(parted) print
Model: ATA WDC WD5000BPVT-7 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Number Start End Size Type Filesystem Flags
1 1049kB 106MB 105MB primary fat16 diag
2 106MB 15.8GB 15.7GB primary ntfs boot
3 15.8GB 266GB 251GB primary ntfs
4 266GB 500GB 234GB extended 5 266GB 316GB 50.0GB logical ext4
6 316GB 324GB 7999MB logical linux-swap(v1)
7 324GB 344GB 20.0GB logical ext4
8 344GB 364GB 20.0GB logical ext2
9 364GB 500GB 136GB logical ext4
(没错我就是复制上面的内容然后再把 4 改成 2 的.)
用 mkpartfs
既划分磁盘又对分区进行格式化
其实就是把上面的两条命令组合了起来,可以这么理解。
先是看一下原分区什么样:
(parted) print
Model: ATA WDC WD5000BPVT-7 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Number Start End Size Type Filesystem Flags
1 1049kB 106MB 105MB primary fat16 diag
2 106MB 15.8GB 15.7GB primary ntfs boot
3 15.8GB 266GB 251GB primary ntfs
4 266GB 500GB 234GB extended 5 266GB 316GB 50.0GB logical ext4
6 316GB 324GB 7999MB logical linux-swap(v1)
7 324GB 344GB 20.0GB logical ext4
8 344GB 364GB 20.0GB logical
然后我们新建一个分区并格式化:
(parted) mkpartfs logical fat32 372737 500000
然后再看看新的磁盘信息:
(parted) print
Model: ATA WDC WD5000BPVT-7 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Number Start End Size Type Filesystem Flags
1 1049kB 106MB 105MB primary fat16 diag
2 106MB 15.8GB 15.7GB primary ntfs boot
3 15.8GB 266GB 251GB primary ntfs
4 266GB 500GB 234GB extended 5 266GB 316GB 50.0GB logical ext4
6 316GB 324GB 7999MB logical linux-swap(v1)
7 324GB 344GB 20.0GB logical ext4
8 344GB 364GB 20.0GB logical 9 373GB 500GB 127GB logical fat32 lba
(parted)
用 resize
来改变分区大小
(parted) resize 9
Start? [373GB]? 373GB
End? [500GB]? 450GB
很简单的,选中要操作的对象,然后选择开始,在选择结束,就 OK 了.(其实用 Gparted
更简单,直接拖动就好了...)
然后下面还是一堆磁盘信息,节省篇幅,我就不贴了。
用 cp
来复制分区
这个命令有点厉害,类似于 dd
, 他可以把整个分区都复制到别处(别的分区). 需要注意的是,保存被复制的分区的大小一定要足够,还有,这是一个覆盖操作。
(作者又打印了一遍磁盘信息,我在此略过)
建议把要操作的两块磁盘都先卸载,以免有其他的程序对他们进行读写。
# mount /dev/sda8 /mnt
# cd /mnt
# ls -l
total 52
-rw-r--r-- 1 root root
-rw-r--r-- 1 root root
0 2011-09-26 22:52 part8
20 2011-09-26 22:52 test.txt
# umount /mnt
# mount /dev/sda10 /mnt
# cd /mnt
# ls -l
total 48
-rw-r--r-- 1 root root 0 2011-09-26 22:52 part10
用 cp
命令把 8 复制到 10:
(parted) cp 8 10
growing file system... 95% (time left 00:38)
下面是复制完成之后的结果:
# mount /dev/sda10 /mnt
# cd /mnt
# ls -l
total 52
-rw-r--r-- 1 root root 0 2011-09-26 22:52 part8
-rw-r--r-- 1 root root 20 2011-09-26 22:52 test.txt
另外需要注意的是,如果目标磁盘和被复制的磁盘的文件系统不一致,这个复制操作将会重建目标磁盘的文件系统使其和被复制的磁盘分区一样.(也就是说,复制操作使得两个分区一模(mu) 一样.)
用 rm
命令移除某个分区
(parted) rm
Partition number? 9
(parted)
也很简单...
这样一删的话,里面的东西就全没了 :)
本书简介:
- Linux 进阶技巧
- 巧妙的命令组合
- Bash 某些技巧
- 一共一百零一个(包括充数的)
- 最后有个奖励章(额外技巧)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论