df:汇报文件系统的磁盘使用空间
[root@localhost ~]# df
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/sda3 29140072 1022920 28117152 4% /
devtmpfs 496332 0 496332 0% /dev
tmpfs 506188 0 506188 0% /dev/shm
tmpfs 506188 6904 499284 2% /run
tmpfs 506188 0 506188 0% /sys/fs/cgroup
/dev/sda1 201380 99180 102200 50% /boot
tmpfs 101240 0 101240 0% /run/user/0
第一列:磁盘分区的名字
第二列:磁盘总大小,单位是KB
第三列:是已使用多少,单位也是KB
第四列:是可用多少空间,单位是KB
第五列:是已用百分比,这是我们最为关注的一项,如果到80%~90%我们就要注意了。
第六列:是挂载点,就是linux中的目录。
linux的磁盘不能直接访问,只能通过挂载点访问
df还有一个参数h加上这个参数后,他可以按照磁盘的大小显示适当的单位

[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 28G 999M 27G 4% /
devtmpfs 485M 0 485M 0% /dev
tmpfs 495M 0 495M 0% /dev/shm
tmpfs 495M 6.8M 488M 2% /run
tmpfs 495M 0 495M 0% /sys/fs/cgroup
/dev/sda1 197M 97M 100M 50% /boot
tmpfs 99M 0 99M 0% /run/user/0

我们也可以以M单位来显示
[root@localhost ~]# df -m
文件系统 1M-块 已用 可用 已用% 挂载点
/dev/sda3 28458 999 27459 4% /
devtmpfs 485 0 485 0% /dev
tmpfs 495 0 495 0% /dev/shm
tmpfs 495 7 488 2% /run
tmpfs 495 0 495 0% /sys/fs/cgroup
/dev/sda1 197 97 100 50% /boot
tmpfs 99 0 99 0% /run/user/0

其中的tmpfs是一个临时文件系统,即使在挂载点中写入文件,重启是也会消失,我们需要关注的是dev文件,swap则要用fell这个命令查看
[root@localhost ~]# free
total used free shared buff/cache available
Mem: 1012376 126624 755076 6904 130676 731804
Swap: 2097148 0 2097148

df还有一个参数是-i,这是查看这个分区有多少inode和inode的使用情况的,inode的多少和你磁盘分区大小是有关系的
[root@localhost ~]# df -i
文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点
/dev/sda3 14577152 26453 14550699 1% /
devtmpfs 124083 388 123695 1% /dev
tmpfs 126547 1 126546 1% /dev/shm
tmpfs 126547 466 126081 1% /run
tmpfs 126547 16 126531 1% /sys/fs/cgroup
/dev/sda1 102400 327 102073 1% /boot
tmpfs 126547 1 126546 1% /run/user/0

有时候我们会遇到这种情况,明明磁盘有空间,但是就是写不进去文件,这时候我们就要用df -i来查看inode是否有剩余,如果inode已经没有剩余了,就算是磁盘有空间,我们也不可能再往里写入文件了。

du:查看文件大小,常用参数可以加sh
[root@localhost ~]# du -sh /root
32K /root
以合适的单位显示文件大小

磁盘分区
在日常工作中,我们经常要给设备增加一块磁盘,给他分区,格式化,挂载等。
首先我们先在虚拟机中增加一块磁盘,然后保持默认。在服务器上,我们可以热拔插硬盘的。
怎样查看我们新增加的硬盘呢?输入命令fdisk,除此之外,它还可以给磁盘分区。
刚开始我们会查不到新加的硬盘,只要重启一下就可以查到了

[root@localhost ~]# fdisk -l

磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xbade897a

设备 Boot Start End Blocks Id System

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

设备 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 Linu

/dev/sdb就是我们新加的硬盘
下面我们要给/dev/sdb/分区
分区命令是fdisk /dev/sdb/
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

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

在这里我们要记住几个常用的字母
命令(输入 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:5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xbade897a

设备 Boot Start End Blocks Id System
发现下面什么都没有,然后我们新建一个分区,输入n
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
这里的p代表主分区,e代表扩展分区,一个磁盘中只能有4个主分区,如果我想划分多个,那我们可以划分3个主分区和1个扩展分区,然后我们可以扩展分区中划分逻辑分区。
然后我们开始分区,首先分主分区,所以我们要先输入字母“n”新建
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
然后我们输入字母“p”,这是主分区
Select (default p): p
下一步是给分区编号,默认分区编号是1-4,所以我们只要按照顺序来就可以。
分区号 (1-4,默认 1):1
下一步是起始的扇面,这里默认的是2048
起始 扇区 (2048-10485759,默认为 2048):
将使用默认值 2048
然后我们给这个分区设置大小,比如我们要给这个分区设置大小为2G,这里要注意的是,表示磁盘大小的字母一定要是大写。
Last 扇区, +扇区 or +size{K,M,G} (2048-10485759,默认为 10485759):+2G

分区 1 已设置为 Linux 类型,大小设为 2 GiB
然后我们会看到上面的提示↑

我们也可以输入字母“p”查看一下
命令(输入 m 获取帮助):p

磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xbade897a

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

然后我们默认往下分,直到我们分了4个主分区后,会出现如下的提示
If you want to create more than four partitions, you must replace a
primary partition with an extended partition first.
如果要创建四个以上的分区,则必须首先用扩展分区替换主分区。意思就是我们必须要删除一个主分区,然后再去创建一个扩展分区。

然后我们输入字母“d”
命令(输入 m 获取帮助):d

下面会出现1-4序号,我们只要选择一个序号输入就可以,我们选择了4号,然后确认。
分区号 (1-4,默认 4):4

然后会显示4号分区已删除
分区 4 已删除

然后我们输入字母“e”建立逻辑分区,和分主分区的步骤一样。
命令(输入 m 获取帮助):n
Partition type:
p primary (3 primary, 0 extended, 1 free)
e extended
Select (default e): e
已选择分区 4
起始 扇区 (8390656-10485759,默认为 8390656):
将使用默认值 8390656
Last 扇区, +扇区 or +size{K,M,G} (8390656-10485759,默认为 10485759):+900M
分区 4 已设置为 Extended 类型,大小设为 900 MiB
然后我们就会发现分区4的类型以是Extended,而不再是Linux,然后我们继续向下分。

命令(输入 m 获取帮助):n
All primary partitions are in use这时候的分区就不再分主分区和扩展分区了,而是只能添加逻辑分区。
添加逻辑分区 5
起始 扇区 (8392704-10233855,默认为 8392704):
将使用默认值 8392704
Last 扇区, +扇区 or +size{K,M,G} (8392704-10233855,默认为 10233855):+500M
分区 5 已设置为 Linux 类型,大小设为 500 MiB

命令(输入 m 获取帮助):n
All primary partitions are in use
添加逻辑分区 6
起始 扇区 (9418752-10233855,默认为 9418752):
将使用默认值 9418752
Last 扇区, +扇区 or +size{K,M,G} (9418752-10233855,默认为 10233855):+400M
值超出范围。
Last 扇区, +扇区 or +size{K,M,G} (9418752-10233855,默认为 10233855):+300M
分区 6 已设置为 Linux 类型,大小设为 300 MiB

然后 我们查看一下,又多了两个分区,sdb5,和sdb6
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 4196351 2097152 83 Linux
/dev/sdb2 4196352 6293503 1048576 83 Linux
/dev/sdb3 6293504 8390655 1048576 83 Linux
/dev/sdb4 8390656 10233855 921600 5 Extended
/dev/sdb5 8392704 9416703 512000 83 Linux
/dev/sdb6 9418752 10033151 307200 83 Linux
这里面的我们还可以看出在,Id号是查看分区类型的,83代表主分区或者逻辑分区,5代表扩展分区,而blocks下面的数字是磁盘的大小,单位是k。

如果我们对我们的分区不满意,那我们就可以删除他,删除的时候只要输入相应的磁盘编号,磁盘编号就在每行的第一列最后一个数字,比如/dev/sdb4 ,那么这个磁盘的编号就是3号,然后输入字母“d”就可以删除。
命令(输入 m 获取帮助):d

比如,下面会出现1-4序号,我们只要选择一个序号输入就可以,我们选择了4号,然后确认。
分区号 (1-4,默认 4):4

然后会显示4号分区已删除
分区 4 已删除。

如果我们想重新分区,那么就直接输入“q”退出。

然后我们重新划分,这次我们直接先划分一个扩展分区

命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): e
分区号 (1-4,默认 1):1
起始 扇区 (2048-10485759,默认为 2048):+3G
Last 扇区, +扇区 or +size{K,M,G} (6291456-10485759,默认为 10485759):
将使用默认值 10485759
分区 1 已设置为 Extended 类型,大小设为 2 GiB
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 1 extended, 3 free)
l logical (numbered from 5)
这时候我们发现提示变了,提示直接是让我们划分主分区还是逻辑分区。

然后我们划分一个主分区
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 1 extended, 3 free)
l logical (numbered from 5)
Select (default p): p
分区号 (2-4,默认 2):3
起始 扇区 (6293504-10485759,默认为 6293504):
将使用默认值 6293504
Last 扇区, +扇区 or +size{K,M,G} (6293504-10485759,默认为 10485759):+1G
分区 3 已设置为 Linux 类型,大小设为 1 GiB

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

输入“p”查看一下

设备 Boot Start End Blocks Id System
/dev/sdb1 2048 6293503 3145728 5 Extended
/dev/sdb3 6293504 8390655 1048576 83 Linux
/dev/sdb5 4096 2101247 1048576 83 Linux
这事我们发现,磁盘的序号出现了不连续的现象,然后我们连续划分多个逻辑分区,再查看一下

设备 Boot Start End Blocks Id System
/dev/sdb1 2048 6293503 3145728 5 Extended
/dev/sdb3 6293504 8390655 1048576 83 Linux
/dev/sdb5 4096 2101247 1048576 83 Linux
/dev/sdb6 2103296 2308095 102400 83 Linux
/dev/sdb7 2310144 2719743 204800 83 Linux
/dev/sdb8 2721792 2926591 102400 83 Linux

然后我们删除分区6,然后再查询
命令(输入 m 获取帮助):d
分区号 (1,3,5-8,默认 8):6
分区 6 已删除
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 6293503 3145728 5 Extended
/dev/sdb3 6293504 8390655 1048576 83 Linux
/dev/sdb5 4096 2101247 1048576 83 Linux
/dev/sdb6 2310144 2719743 204800 83 Linux
/dev/sdb7 2721792 2926591 102400 83 Linux
这时我们发现,虽然我们已经删除了分区6,但是查看后依然有分区6的编号存在

所以我们得出结论逻辑分区必须要连续,主分区和扩展分区可以不连续。当我们先分扩展分区的话,那系统就会提示我们下一步是要分主分区,还是逻辑分区,主分区和扩展分区的总和小于4,也就是说一块磁盘的只能有4个主分区,逻辑分区是从第5个号开始,而且是连续的。扩展分区不知处格式化,他只是个壳子,真正装数据的是扩展分区下面的逻辑分区。

转载于:https://blog.51cto.com/13067688/2070421

du命令、df命令、磁盘分区的更多相关文章

  1. 使用du与df命令查看磁盘容量不一致

    在Linux系统的ECS实例中,执行du与df命令查看磁盘容量,出现不一致的现象 执行df -h命令查看文件系统的使用率,可以看到500G 执行du / -sh 命令只使用250G 执行du和df命令 ...

  2. du和df命令的区别

    du和df命令都被用于获得文件系统大小的信息:df用于报告文件系统的总块数及剩余块数,du -s /<filesystem>用于报告文件系统使用的块数.但是,我们可以发现从df命令算出的文 ...

  3. du及df命令的使用

    在本文中,我将讨论 du 和 df 命令.du 和 df 命令都是 Linux 系统的重要工具,来显示 Linux 文件系统的磁盘使用情况.这里我们将通过一些例子来分享这两个命令的用法. du 命令 ...

  4. du 和 df命令的区别(超赞)

    du和df命令都被用于获得文件系统大小的信息:df用于报告文件系统的总块数及剩余块数,du -s /<filesystem>用于报告文件系统使用的块数.但是,我们可以发现从df命令算出的文 ...

  5. Linux du与df命令的差异

    今天上午查看磁盘空间,df命令查看的时候:93%,du命令查看的时候:90%.回想起昨天在用ftp传输过程中,rm掉文件,应该是文件虽然表明上删除掉了,但是空间实际是未释放的. 由于du与df命令实施 ...

  6. du和df显示磁盘空间使用差异大的几种情况

     接触客户多了,发现经常有客户遇到du看到系统只使用了一部分磁盘空间,但df看时磁盘空间已经满了,或者差异较大,我遇到过三次不一样的原因,下面做一下总结,恶补一下!也希望对大家有点帮助! 现象:有客户 ...

  7. linux包之coreutils之du和df命令

    [root@localhost ~]# rpm -qf /usr/bin/ducoreutils-8.4-31.el6.x86_64[root@localhost ~]# rpm -qf /bin/d ...

  8. [转]linux的du和df命令

    转自:http://blog.csdn.net/kmesg/article/details/6570800 今天也有同学问我Linux下查看目录大小的命令,现在也将前阵子学习到du/df两个命令总结一 ...

  9. linux的du和df命令

    今天也有同学问我Linux下查看目录大小的命令,现在也将前阵子学习到du/df两个命令总结一下吧.前阵子测试工作中有遇到过由于磁盘空间满导致程序无法执行到情况,所以使用了df和du两个命令. du查看 ...

  10. Linux中的du和df命令

    现在也将前阵子学习到du/df两个命令总结一下吧.前阵子测试工作中有遇到过由于磁盘空间满导致程序无法执行到情况,所以使用了df和du两个命令. du查看目录大小,df查看磁盘使用情况.我常使用的命令( ...

随机推荐

  1. redis持久化(RDB、AOF、混合持久化)

    redis持久化(RDB.AOF.混合持久化) 1. RDB快照(snapshot) 在默认情况下, Redis 将内存数据库快照保存在名字为 dump.rdb 的二进制文件中. 你可以对 Redis ...

  2. 数据库服务软件类型和配置redis

                                                        ql-day11     数据库服务软件类型和配置redis   l 数据库服务软件类型 ² R ...

  3. Git应用详解第五讲:远程仓库Github与Git图形化界面

    前言 前情提要:Git应用详解第四讲:版本回退的三种方式与stash 这一节将会介绍本地仓库与远程仓库的一些简单互动以及几款常用的Git图形化界面,让你更加方便地使用git. 一.Git裸库 简单来说 ...

  4. JS数据结构与算法 - 剑指offer二叉树算法题汇总

    ❗❗ 必看经验 在博主刷题期间,基本上是碰到一道二叉树就不会碰到一道就不会,有时候一个下午都在搞一道题,看别人解题思路就算能看懂,自己写就呵呵了.一气之下不刷了,改而先去把二叉树的基础算法给搞搞懂,然 ...

  5. 003-scanf函数使用和表达式-C语言笔记

    003-scanf函数使用和表达式-C语言笔记 学习目标 1.[掌握]输入函数scanf的基本使用方法 2.[掌握]输入函数scanf运行原理和缓冲区理解 3.[掌握]算术运算符和算术表达式的使用 4 ...

  6. SpringCloud-服务注册中心「Eureka」的介绍与使用

    Eureka 两大组件

  7. 软件包管理rpm和yum

    rpm的使用: 安装的包相关包信息会保存在/var/lib/rpm目录下的文件中 安装参数: -i install安装 -v 显示详细信息 -h 打印####号 -V 校验软件包,会到/var/lib ...

  8. Html5移动端弹幕动画实现示例代码

    已知20条内容要有弹幕效果,分成三层,速度随机. 先来看看效果: 所以这里不考虑填写生成的.只是一个展现的效果. 如果要看填写生成的,请不要浪费Time 思路 把单个内容编辑好,计算自身宽度,确定初始 ...

  9. mysql相关面试题(一)

    1.主键自增,姓名字段重复.删除重复的姓名数据,只留一条 -- Every derived table must have its own alias 子查询要起别名 -- 思路:分组后只会显示一条, ...

  10. API加密框架monkey-api-encrypt发布1.2版本

    框架介绍 monkey-api-encrypt 是我之前写的一个API加密的框架,主要是将加密/解密的逻辑交给框架实现,等数据到达Controller后自动解密了,让开发人员不需要关注数据的加解密操作 ...