day14:磁盘管理df/du/fdisk/parted命令
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了day14:磁盘管理df/du/fdisk/parted命令相关的知识,希望对你有一定的参考价值。
4.1:df命令:总称:report file system disk space usage
1、df:用来查看系统磁盘容量(总容量 已使用及剩余容量、)使用情况:默认是以KB为单位显示:
语法:df [ 选项 ] 参数
选项如下:
-h:使用合适的单位显示:
-i:查看inode的使用情况:
-k:以KB为单位显示:
-m:以MB为单位显示:
-a:显示系统中在用的所有分区(不常用)
[[email protected] ~]# df #默认df时,以KB为单位显示: 文件系统 1K-块 已用 可用 已用% 挂载点 /dev/sda3 17814528 1123440 16691088 7% / devtmpfs 489980 0 489980 0% /dev tmpfs 499848 0 499848 0% /dev/shm tmpfs 499848 6884 492964 2% /run tmpfs 499848 0 499848 0% /sys/fs/cgroup /dev/sda1 1038336 121732 916604 12% /boot
注:重点关注已用%,当超过80%-90%时要注意了:
上述示例简单说明:
第一列:该文件分区名称:
第二列:该分区的总容量大小:
第三列:该分区的已使用容量:
第四列:该分区的剩余容量:
2、常用选项-h:以合适(更人性化的单位显示)
[[email protected] ~]# df -h #显示更直观,更人性化 文件系统 容量 已用 可用 已用% 挂载点 /dev/sda3 17G 1.1G 16G 7% / devtmpfs 479M 0 479M 0% /dev tmpfs 489M 0 489M 0% /dev/shm tmpfs 489M 6.8M 482M 2% /run tmpfs 489M 0 489M 0% /sys/fs/cgroup /dev/sda1 1014M 119M 896M 12% /boot
3、常用选项还有-i:查看当前系统中inode的使用情况:
[[email protected] ~]# df -ih #则是以更人性化的单位来显示inode的使用情况: 文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点 /dev/sda3 8.5M 32K 8.5M 1% / devtmpfs 120K 381 120K 1% /dev tmpfs 123K 1 123K 1% /dev/shm tmpfs 123K 474 122K 1% /run tmpfs 123K 16 123K 1% /sys/fs/cgroup /dev/sda1 512K 327 512K 1% /boot tmpfs 123K 1 123K 1% /run/user/0 tmpfs 123K 1 123K 1% /run/user/1000
4.2:du命令: 默认以4KB的大小单位
1、du:用来查看某个文件或目录所占用空间的大小,默认显示是KB:
语法:du [ 选项 ] 参数
选项如下:
-a:显示当前目录下所有子文件和目录的大小:
-b:以byte为单位显示:
-k:以KB为单位显示:
-m:以MB为单位显示:
-h:以合适的单位显示:用法和df命令下h相同:
-c:显示各个文件/目录的大小,并列出总和:
-s:只显示总和,一般结合du -sh 使用:
[[email protected] ~]# du #默认以KB为单位显示: 16 ./.ssh 0 ./yuanhh/2 0 ./yuanhh/4 0 ./yuanhh 72 .
2、用法:sh:用于查看一个指定文件或目录的大小:
[[email protected] ~]# du -sh /tmp/ #查看/tmp/目录的大小,并只列出总和: 8.0K /tmp/
3、用法:分别用du和ls来查看某个文件,发现它俩的数值不一样:
[[email protected] ~]# du -sh /etc/passwd 4.0K /etc/passwd [[email protected] ~]# ls -lh /etc/passwd -rw-r--r-- 1 root root 964 11月 2 01:27 /etc/passwd
注:du命令显示的4KB(默认情况下不到4KB,也会以4KB显示,以为一个块是4KB).
ls命令是显示的真实大小964byte。
4.3:磁盘分区fdisk/parted
1、fdisk:用来给系统磁盘来分区(小于2TB):
ptarted:给大于2TB的硬盘来分区:
语法:fdisk -l 分区名称
选项:fdisk -l后不加分区名称,则列出系统的所有分区表:
fdisk -l加上分区名称,则只列出此设备分区的分区表:
[[email protected] ~]# fdisk -l /dev/sda #可以查看sda分区表的一些详细信息:
磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000cb780
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 6293503 2097152 82 Linux swap / Solaris
/dev/sda3 6293504 41943039 17824768 83 Linux
2、使用fdisk来对磁盘进行分区,首先在虚拟机里添加一块虚拟磁盘,如下:
对添加的磁盘/dev/sdb进行分区,并用p打印当前磁盘的使用情况:
[[email protected] ~]# fdisk /dev/sdb #使用fdisk命令来格式化分区: 欢迎使用 fdisk (util-linux 2.23.2)。 Device does not contain a recognized partition table 使用磁盘标识符 0x46fecc49 创建新的 DOS 磁盘标签。 命令(输入 m 获取帮助):m #分区的命令介绍: 命令操作 a toggle a bootable flag b edit bsd disklabel #磁盘标签编辑 c toggle the dos compatibility flag d delete a partition #删除一个分区,较常用 g create a new empty GPT partition table G create an IRIX (SGI) partition table l list known partition types m 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 disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit #保存后并退出 x extra functionality (experts only) 命令(输入 m 获取帮助):n #此时输入n新建分区 Partition type: 主+逻辑分区=4 p primary (0 primary, 0 extended, 4 free) #主分区 e extended #扩展分区 Select (default p): p #输入创建主分区 分区号 (1-4,默认 1):1 #默认是分区号1. 起始 扇区 (2048-10485759,默认为 2048): 将使用默认值 2048 Last 扇区, +扇区 or +size{K,M,G} (2048-10485759,默认为 10485759):+1.5G #可默认也可以手动设置。 分区 1 已设置为 Linux 类型,大小设为 1 GiB
此时我们按照如上步骤分别创建分区2 分区3 分区4:
创建完成后,我们用p命令来查看下:
命令(输入 m 获取帮助):p #使用p命令来查看
磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x41fc3f2d
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 83 Linux
/dev/sdb2 2099200 4196351 1048576 83 Linux
/dev/sdb3 4196352 6293503 1048576 83 Linux
/dev/sdb4 6293504 10485759 2096128 83 Linux
命令(输入 m 获取帮助):n
If you want to create more than four partitions, you must replace a
primary partition with an extended partition first.
如上:当我们创建四个分区后,再创建时,系提示如果要创建分区,你必须删除一个分区才可以:
3、那我们如何删除一个分区呢:如下:
命令(输入 m 获取帮助):d #输入d命令则删除。
分区号 (1-4,默认 4):3 #删除第三个分区:
分区 3 已删除
命令(输入 m 获取帮助):p
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 83 Linux
/dev/sdb2 2099200 4196351 1048576 83 Linux
/dev/sdb4 6293504 8390655 1048576 83 Linux
注意:如上列发现,虽然我们删除的分区3,但是分区4不会向上顶替。
4、当需要创建多个磁盘时,则需要创建先创建扩展分区,再创建逻辑分区:如下:
注意:逻辑分区可以N个,没有上限,主要依据容量大小:
命令(输入 m 获取帮助):n
Partition type:
p primary (3 primary, 0 extended, 1 free)
e extended
Select (default e): e #选择扩展分区:
已选择分区 3
起始 扇区 (4196352-10485759,默认为 4196352):
Last 扇区, +扇区 or +size{K,M,G} (4196352-6293503,默认为 6293503):+500M
分区 3 已设置为 Extended 类型,大小设为 500 MiB
命令(输入 m 获取帮助):n
All primary partitions are in use
添加逻辑分区 5 #添加创建逻辑分区5
Last 扇区, +扇区 or +size{K,M,G} (4198400-5220351,默认为 5220351):+150M
分区 5 已设置为 Linux 类型,大小设为 150 MiB
命令(输入 m 获取帮助):N
添加逻辑分区 5 #添加创建逻辑分区6
起始 扇区 (4507648-5220351,默认为 4507648):
Last 扇区, +扇区 or +size{K,M,G} (4507648-5220351,默认为 5220351):
分区 6 已设置为 Linux 类型,大小设为 348 MiB
命令(输入 m 获取帮助):N
All primary partitions are in use
添加逻辑分区 7
No free sectors available
如上例:当磁盘没有容量时,会提示没有空间:
5、此时再使用p查看分区表信息:如下:
命令(输入 m 获取帮助):p #使用命令来查看:
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 83 Linux
/dev/sdb2 2099200 4196351 1048576 83 Linux
/dev/sdb3 4196352 5220351 512000 5 Extended
/dev/sdb5 4198400 4812799 307200 83 Linux
/dev/sdb6 4814848 5220351 202752 83 Linux
会发现,创建的逻辑分区是从/dev/sdb5开始的,并不会向向上移动,也就是说,逻辑分区一定是从sdb5开始的。
5、如果删除一个逻辑分区的话,下面的分区会不会向上移动的逻辑分区号呢。如下:
我们删除/dev/sdb5:
命令(输入 m 获取帮助):d #删除一个分区:
分区号 (1-6,默认 6):5
分区 5 已删除
命令(输入 m 获取帮助):p
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 83 Linux
/dev/sdb2 2099200 4196351 1048576 83 Linux
/dev/sdb3 4196352 5220351 512000 5 Extended
/dev/sdb4 6293504 8390655 1048576 83 Linux
/dev/sdb5 4814848 5220351 202752 83 Linux
总结:如果我们删除了其中一个逻辑分区的话,它的下一个逻辑分区号会顶替它的逻辑分区号,往前面排序:
注意:退出保存的话一个要按W才可以:
11:高级分区工具:parted
parted 用法
parted /dev/sdb mklable #创建分区表:
parted /dev/sdb mklable ext3 0 500000 #创建500G的分区sdb1:
mkfs.ext3 /dev/sdb1 #将分区/dev/sdb1格式化成ext3格式:
创建swap交换分区:
parted /dev/sdb mkpart swap 500000 504000 #创建4G的交换分区:
mkswap /dev/sdb2 #将deb/sdb2创建为交换分区:
swapon /dev/sdb2 #激活/dev/sdb2这个分区:
如果想让系统挂载这个分区,需手工编辑/etc/fstab文件:
/dev/sdb1 / ext3 defaults 0 0
/dev/sdb2 swap ext3 defaults 0 0
注意:如果有分区被误删除,可以立即恢复:如下:
parted /dev/sdb rm 3 #删除/dev/sdb3
parted /dev/sdb rescue 504000 514000 #然后依照显示,输入yes即可:
附记:以下内容来自于百度:
1、磁盘分区注意事项总结:
当我们在创建磁盘分区的时候,有三种分区可选,扩展分区(e),主分区(p),逻辑分区(l)。
我们最多只能创建4个分区(4个中不包括逻辑分区),如果想创建多个分区,可以是3个主分区和1个扩展分区组合。然后在扩展分区中,创建逻辑分区(可以创建无限个逻辑分区)。
需要注意的是,扩展分区相当于一个空壳子,是不可以格式化的(不可以使用),只有它的子分区才可以格式化。在fdisk中划分分区的时候,使用d选项可以删除你想要删除的那个分区,需要注意的是,当扩展分区中有子分区(逻辑分区)的时候,删除扩展分区会连同子分区一起删除,所以当我们在删除分区的时候,一定要谨慎,谨慎,谨慎!!!
2、扩展学习 parted分区gpt格式 http://www.apelearn.com/bbs/thread-7243-1-1.html
3、扩展分区parted
parted工具常用功能:
我们在课上讲的fdisk分区工具,它的分区格式为MBR,特点是,最多分4个主分区,磁盘大小不能超过2T。而GPT分区格式,突破了这些限制,它没有主分区、扩展分区、逻辑分区之分,在一块磁盘上最多可以分128个分区出来,支持大于2T的分区,最大卷可达18EB。 相信,随着存储级别的升级,将来的分区格式逐渐会淘汰MBR,而GPT成为主流.
当在命令行输入parted后,进入parted命令的交互模式。输入help会显示帮助信息,下面讲一下常用功能:
check:简单检查文件系统。建议使用其他命令检查文件系统,如fsck
help:显示帮助信息
mklabel:创建分区表,即使用msdos(MBR)还是使用gpt,或者是其他方式分区表
mkfs:创建文件系统。该命令不支持ext3格式,因此建议不使用,最好使用parted分区完成之后,退出parted交互模式,用其他命令济宁分区,eg:mkfs.ext3
mkpart:创建分区
语法:
mkpart PART-TYPE [FS-TYPE] START ENDPART-TYPE类型主要有primary(主分区), extended(扩展分区), logical(逻辑区). 扩展分区和逻辑分区只对msdos。
fs-type 文件系统类型,主要有fs32,NTFS,ext2,ext3等。
start end 分区的起始和结束位置。
mkpartfs: 建立分区及其文件系统。目前还不支持ext3文件系统,因此不建议使用该功能。最后是分好区后,退出parted,然后用其他命令建立文件系统。
print: 输出分区信息。该功能有3个选项:
free: 显示该盘的所有信息,并显示磁盘剩余空间
number: 显示指定的分区的信息
all: 显示所有磁盘信息
resize: 调整指定的分区的大小。目前对ext3格式支持不是很好,所以不建议使用该功能。
rescue: 恢复不小心删除的分区。如果不小心用parted的rm命令删除了一个分区,那么可以通过rescue功能进行恢复。恢复时需要给出分区的起始和结束的位置。然后parted就会在给定的范围内去寻找,并提示恢复分区。
rm:删除分区。命令格式 rm number 。如:rm 3 就是将编号为3的分区删除。
select:选择设备。当输入parted命令后直接回车进入交互模式是,如果有多块硬盘,需要用select 选择要操作的硬盘。如:select /dev/sdb。
set:设置标记。更改指定分区编号的标志。标志通常有如下几种:boot hidden raid lvm 等。 boot 为引导分区,hidden 为隐藏分区,raid 软raid,lvm 为逻辑分区。eg:set 3 boot on 设置3分区为启动分区。
注: 以上内容为parted常用的功能,由于该工具目前对ext3支持得不是很好,因此有些功能无法应用,比如move(移动分区)和resize等。
以上是关于day14:磁盘管理df/du/fdisk/parted命令的主要内容,如果未能解决你的问题,请参考以下文章
Day14 RAID&进程管理&日志&systemctl(Service03)