du命令、df命令、磁盘分区

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

原文地址:https://www.cnblogs.com/twodog/p/12137527.html