df、du、磁盘分区

原文链接:http://www.jianshu.com/p/dce0c9b3ddbe

目录

一、df命令
二、du命令
三、磁盘分区

一、df命令

命令df(disk filesystem)用于查看已挂载磁盘的总容量、使用容量、剩余容量等。默认单位为KB。

[root@minglinux-01 ~]# df
文件系统          1K-块    已用     可用 已用% 挂载点
/dev/sda3      29140072 1303852 27836220    5% /
devtmpfs         921776       0   921776    0% /dev
tmpfs            932636       0   932636    0% /dev/shm
tmpfs            932636    9764   922872    2% /run
tmpfs            932636       0   932636    0% /sys/fs/cgroup
/dev/sda1        201380  142392    58988   71% /boot
tmpfs            186528       0   186528    0% /run/user/0

各列表示含义:

第一列:分区名字。
第二列:分区总容量。
第三列:使用容量。
第四列:剩余容量。
第五列:使用容量的百分比。
第六列:挂载点。

df命令常用的选项有-i、-h、-k和-m,用法如下:

-i:显示inode的信息。如已使用100%,即使磁盘空间有富余,也会提示磁盘空间已满。

[root@minglinux-01 ~]# df -i | grep -v tmpfs      //grep -v过滤掉包含tmpfs字符串的行
文件系统          Inode 已用(I)  可用(I) 已用(I)% 挂载点
/dev/sda3      14577152   36370 14540782       1% /
/dev/sda1        102400     333   102067       1% /boot

-h:以可读性较高的方式来显示信息。

[root@minglinux-01 ~]# df -h |grep -v tmpfs
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        28G  1.3G   27G    5% /
/dev/sda1       197M  140M   58M   71% /boot

-k、-m:分别以KB和MB为单位显示。

[root@minglinux-01 ~]# df -k |grep -v tmpfs
文件系统          1K-块    已用     可用 已用% 挂载点
/dev/sda3      29140072 1303948 27836124    5% /
/dev/sda1        201380  142392    58988   71% /boot
[root@minglinux-01 ~]# df -m |grep -v tmpfs
文件系统       1M-块  已用  可用 已用% 挂载点
/dev/sda3      28458  1274 27184    5% /
/dev/sda1        197   140    58   71% /boot

二、du命令

命令du(disk useage)用来查看某个目录或文件所占空间的大小。其格式为du [选项] [文件或者目录名] 。

常用选项:

-a:显示全部文件和目录的大小。如果后面不加任何选项和参数,则只会列出目录的大小。默认单位是KB。

[root@minglinux-01 ~]# du /tmp/test_mv
0   /tmp/test_mv/dirb/dirc
4   /tmp/test_mv/dirb
4   /tmp/test_mv
[root@minglinux-01 ~]# du -a /tmp/test_mv
0   /tmp/test_mv/dirb/dirc
4   /tmp/test_mv/dirb/filee
4   /tmp/test_mv/dirb
4   /tmp/test_mv

-b:显示目录或文件大小时,以byte为单位。
-k:以KB(1024bytes)为单位输出。
-m:以MB为单位输出。
-h:系统自动调节单位,提高信息的可读性。当一个文件小于4KB时也会显示4KB。

[root@minglinux-01 ~]# du -b /etc/passwd
923 /etc/passwd
[root@minglinux-01 ~]# du -k /etc/passwd
4   /etc/passwd
[root@minglinux-01 ~]# du -m /etc/passwd
1   /etc/passwd
[root@minglinux-01 ~]# du -h /etc/passwd
4.0K    /etc/passwd

-c:除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。

[root@minglinux-01 ~]# du -c /tmp/test_mv/
0   /tmp/test_mv/dirb/dirc
4   /tmp/test_mv/dirb
4   /tmp/test_mv/
4   总用量

-s:仅显示总计,只列出最后加总的值。

[root@minglinux-01 ~]# du -s /tmp/test_mv/
4   /tmp/test_mv/

三、磁盘分区

  • 首先在虚拟机中添加一块大小为10GB的虚拟磁盘用于后面的实验。添加完成后重启一次虚拟机。
5298406-a5e4e3b312098bce.png
添加新的虚拟磁盘
  • fdisk命令
    fdisk命令用于观察硬盘实体使用情况,也可对硬盘分区。该命令格式为fdisk [-l] [设备名称]。示例命令如下:
[root@minglinux-01 ~]# fdisk -l

磁盘 /dev/sda:32.2 GB, 32212254720 字节,62914560 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000236bc

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      411647      204800   83  Linux
/dev/sda2          411648     4605951     2097152   82  Linux swap / Solaris
/dev/sda3         4605952    62914559    29154304   83  Linux

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区  
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

[root@minglinux-01 ~]# fdisk -l /dev/sdb

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

上例可以看到刚刚新增的磁盘/dev/sdb的信息。

fdisk不加-l选项,则会进入磁盘分区操作模式。示例命令如下:

[root@minglinux-01 ~]# fdisk -l /dev/sdb

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

[root@minglinux-01 ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0xe0240def 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):

输入m,会显示常用的命令,如下所示:

命令(输入 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)

介绍几个常用的命令:

p:打印磁盘目前的分区情况。

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xe0240def

   设备 Boot      Start         End      Blocks   Id  System

n:建立一个新的磁盘分区。
w:表示保存。
q:表示退出。
d:表示删除一个分区。

下面对/dev/sdb进行分区操作。首先建立第一个分区:

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

提示我们选p(主分区)还是e(扩展分区)。选择p建立主分区:

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): 
Using default response p
分区号 (1-4,默认 1):1
起始 扇区 (2048-20971519,默认为 2048):2048          
Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+2G
分区 1 已设置为 Linux 类型,大小设为 2 GiB

确认分区创建成功:

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xe0240def

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux

继续创建3个主分区:

命令(输入 m 获取帮助):n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p
分区号 (2-4,默认 2):
起始 扇区 (4196352-20971519,默认为 4196352):
将使用默认值 4196352
Last 扇区, +扇区 or +size{K,M,G} (4196352-20971519,默认为 20971519):+2G
分区 2 已设置为 Linux 类型,大小设为 2 GiB

命令(输入 m 获取帮助):n
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p): p
分区号 (3,4,默认 3):
起始 扇区 (8390656-20971519,默认为 8390656):
将使用默认值 8390656
Last 扇区, +扇区 or +size{K,M,G} (8390656-20971519,默认为 20971519):+1G
分区 3 已设置为 Linux 类型,大小设为 1 GiB

命令(输入 m 获取帮助):n
Partition type:
   p   primary (3 primary, 0 extended, 1 free)
   e   extended
Select (default e): p
已选择分区 4
起始 扇区 (10487808-20971519,默认为 10487808):
将使用默认值 10487808
Last 扇区, +扇区 or +size{K,M,G} (10487808-20971519,默认为 20971519):+1G
分区 4 已设置为 Linux 类型,大小设为 1 GiB

查看分区情况:

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xe0240def

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352     8390655     2097152   83  Linux
/dev/sdb3         8390656    10487807     1048576   83  Linux
/dev/sdb4        10487808    12584959     1048576   83  Linux

此时再想创建新分区时会出现问题:

命令(输入 m 获取帮助):n
If you want to create more than four partitions, you must replace a
primary partition with an extended partition first.

这是因为在Linux系统中最多只能创建4个主分区。

删除第四个分区:

命令(输入 m 获取帮助):d
分区号 (1-4,默认 4):4
分区 4 已删除

新建一个扩展分区:

命令(输入 m 获取帮助):n
Partition type:
   p   primary (3 primary, 0 extended, 1 free)
   e   extended
Select (default e): e
已选择分区 4
起始 扇区 (10487808-20971519,默认为 10487808):    
将使用默认值 10487808
Last 扇区, +扇区 or +size{K,M,G} (10487808-20971519,默认为 20971519):+4G
分区 4 已设置为 Extended 类型,大小设为 4 GiB

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xe0240def

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352     8390655     2097152   83  Linux
/dev/sdb3         8390656    10487807     1048576   83  Linux
/dev/sdb4        10487808    18876415     4194304    5  Extended

此时选择n创建分区就只能创建逻辑分区:

命令(输入 m 获取帮助):n
All primary partitions are in use
添加逻辑分区 5
起始 扇区 (10489856-18876415,默认为 10489856):
将使用默认值 10489856
Last 扇区, +扇区 or +size{K,M,G} (10489856-18876415,默认为 18876415):+1G
分区 5 已设置为 Linux 类型,大小设为 1 GiB

查看分区情况:

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xe0240def

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352     8390655     2097152   83  Linux
/dev/sdb3         8390656    10487807     1048576   83  Linux
/dev/sdb4        10487808    18876415     4194304    5  Extended
/dev/sdb5        10489856    12587007     1048576   83  Linux

删除sdb1主分区:

命令(输入 m 获取帮助):d
分区号 (1-5,默认 5):1
分区 1 已删除

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xe0240def

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb2         4196352     8390655     2097152   83  Linux
/dev/sdb3         8390656    10487807     1048576   83  Linux
/dev/sdb4        10487808    18876415     4194304    5  Extended
/dev/sdb5        10489856    12587007     1048576   83  Linux

删除sdb5逻辑分区:

命令(输入 m 获取帮助):d
分区号 (2-5,默认 5):5
分区 5 已删除

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xe0240def

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb2         4196352     8390655     2097152   83  Linux
/dev/sdb3         8390656    10487807     1048576   83  Linux
/dev/sdb4        10487808    18876415     4194304    5  Extended

删除sdb4扩展分区会删除整个扩展分区sdb4,也包含sdb4里面的逻辑分区sdb5。如下所示:

命令(输入 m 获取帮助):d
分区号 (2-4,默认 4):4
分区 4 已删除

命令(输入 m 获取帮助):p 

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xe0240def

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb2         4196352     8390655     2097152   83  Linux
/dev/sdb3         8390656    10487807     1048576   83  Linux

输入q退出,前面的分区操作会全部取消,然后我们重新再来分区:

命令(输入 m 获取帮助):q

[root@minglinux-01 ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0xbffc2ce5 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xbffc2ce5

   设备 Boot      Start         End      Blocks   Id  System

不划分主分区,直接划分扩展分区:

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): e
分区号 (1-4,默认 1):
起始 扇区 (2048-20971519,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):
将使用默认值 20971519
分区 1 已设置为 Extended 类型,大小设为 10 GiB

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xbffc2ce5

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    20971519    10484736    5  Extended

此时输入n建立主分区会报错:

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 1 extended, 3 free)
   l   logical (numbered from 5)
Select (default p): p
分区号 (2-4,默认 2):
No free sectors available

接下来建立两个逻辑分区:

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 1 extended, 3 free)
   l   logical (numbered from 5)
Select (default p): p
分区号 (2-4,默认 2):
No free sectors available

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

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

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xbffc2ce5

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    20971519    10484736    5  Extended
/dev/sdb5            4096     2101247     1048576   83  Linux
/dev/sdb6         2103296     4200447     1048576   83  Linux

建立完成后发现逻辑分区好是从sdb5开始的,这是因为前四个分区号是留给主分区和扩展分区的。所以逻辑分区号是从5开始并且连续的。

分区完成后需输入w命令保存,如下所示:

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

使用fdisk -l /dev/sdb查看分区情况,如下所示:

[root@minglinux-01 ~]# fdisk -l /dev/sdb

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xbffc2ce5

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    20971519    10484736    5  Extended
/dev/sdb5            4096     2101247     1048576   83  Linux
/dev/sdb6         2103296     4200447     1048576   83  Linux
扩展学习

fdisk分区工具,它的分区格式为MBR,特点是,最多分4个主分区,磁盘大小不能超过2T。而GPT分区格式,突破了这些限制,它没有主分区、扩展分区、逻辑分区之分,在一块磁盘上最多可以分128个分区出来,支持大于2T的分区,最大卷可达18EB。

磁盘容量与主分区、扩展分区、逻辑分区的关系:
硬盘的容量=主分区的容量+扩展分区的容量
扩展分区的容量=各个逻辑分区的容量之和

一个硬盘的主分区也就是包含操作系统启动所必需的文件和数据的硬盘分区,要在硬盘上安装操作系统,则该硬盘必须得有一个主分区。
主分区,也称为主磁盘分区,和扩展分区、逻辑分区一样,是一种分区类型。
扩展分区也就是除主分区外的分区,但它不能直接使用,必须再将它划分为若干个逻辑分区才行。
逻辑分区也就是我们平常在操作系统中所看到的D、E、F等盘。
不管使用哪种分区软件,我们在给新硬盘上建立分区时都要遵循以下的顺序:
建立主分区→建立扩展分区→建立逻辑分区→激活主分区→格式化所有分区。

parted分区gpt格式 http://www.apelearn.com/bbs/thread-7243-1-1.html

Linux主分区,扩展分区,逻辑分区的联系和区别 https://www.cnblogs.com/sddai/p/7853324.html

转载于:https://www.jianshu.com/p/dce0c9b3ddbe

展开阅读全文
博主设置当前文章不允许评论。

没有更多推荐了,返回首页