4.1 df命令

4.2 du命令

4.3/4.4 磁盘分区



4.1 df命令

df:汇报文件系统的磁盘空间使用情况。

直接df

2018-4-9_磁盘分区

第一列:磁盘分区的名字

第二列:磁盘的总大小,单位kb

挂载点,其实就是系统里的目录。linux的磁盘是不能够直接访问的,要有一个挂载点,通过这个挂载点才能进入这个磁盘

读数据写数据。


df -h

2018-4-9_2018-4-9_02

会根据磁盘的大小,选择比较合适的单位(byte字节,1024字节=1kb,1024kb=1mb,1024mb=1gb,1024gb=1tb)。


装系统的时候划了三个分区,/boot ,swap ,/。左边还有一些/dev等分区

只要是带tmpfs的比如tmpfs和devtmpfs,说明这个文件系统是一个临时的文件系统,重启消失。

/dev/shm 这个是内存(大小是物理内存的一半)。


用free命令可以看到swap

2018-4-9_磁盘分区_03

total:一共有多大,free:还剩多少


df -i

2018-4-9_2018-4-9_04

看这个分区下有多少inode,以及inode的使用情况。

创建好分区后格式化,然后往里面写东西。格式化的过程就是再创建这些inode。这个分区多大有多少inode都是事先分配好的(与分区有关)。


有时候磁盘还有空间,但是写不进去了,这时候查看一下inode。如果inode满了就算磁盘空间有空余也写不进去了。


还可以df -m以兆位单位显示。

2018-4-9_磁盘分区_05







4.2 du命令

du:查看文件的大小

常用的du -sh 比如

2018-4-9_磁盘分区_06


2018-4-9_2018-4-9_07

用ls -lh查看时不一样 一个1.1k一个4.0k,这涉及到块的概念(当这个文件小于4kb也会显示4kb,一个块4kb)。

再后面的磁盘分区再了解


du什么都不加

2018-4-9_2018-4-9_08

用在目录上时会把下面的所有文件都列出来,没有单位不怎么好用。


查看一个文件大小建议用 du -sh /root 如果不加h不会显示单位。






4.3/4.4 磁盘分区

比如给虚拟机增加一块磁盘

右键2018-4-9_磁盘分区_09

设置,然后添加

2018-4-9_磁盘分区_10

默认就是硬盘,下一步

2018-4-9_2018-4-9_11

保持默认,下一步下一步,大小设置10个G,完成。

2018-4-9_磁盘分区_12




查看硬盘 fdisk

2018-4-9_磁盘分区_13


fdisk -l可以把目前有的硬盘列出来

2018-4-9_磁盘分区_14

只有一个/dev/sda,刚创建的10g的硬盘没看到。


重启reboot,大概要等一分钟,新加了一块硬盘系统需要识别。

再fdisk

2018-4-9_磁盘分区_15

有了/dev/sdb:10.7GB。


w(后面详细讲)

2018-4-9_2018-4-9_16

0.07 0.12 0.05这个是负载,如果比较高的话说明负载比较高,重启会比较慢。



fdisk /dev/sdb 给磁盘分区

2018-4-9_2018-4-9_17

(如果一整个盘不划分分区,直接格式化也可以后面再提)

输入m

2018-4-9_2018-4-9_18

常用的有: n重新创建新的分区   p列举  w写入保存  d删除


p

2018-4-9_磁盘分区_19

没有任何分区


n

2018-4-9_磁盘分区_20

让选择分区,primary是主分区,extended是扩展分区。

0 0 4 ,0个主分区 0个扩展分区 4个空余,也就是说总数只能有4个分区(并且最高支持两个t),比如可以4个主分区,或者3个主分区1个扩展分区。主+扩《=4


如果想划分多个,先划分3个主分区1个扩展分区。再在扩展分区中继续划分逻辑分区。


划分一个主分区p

2018-4-9_2018-4-9_21

分区号的选择范围1-4,默认1

2018-4-9_磁盘分区_22

选择扇区,其实就是用来定义分区大小的,默认从2048开始。

然后按照格式划分2G

2018-4-9_2018-4-9_23


p一下,可以看到多了一个分区sdb1,blocks就是他的大小

2018-4-9_2018-4-9_24


继续分,主分区2个G

2018-4-9_2018-4-9_25

2018-4-9_磁盘分区_26


再加一个主分区 1G(这里打错如果不能删除用ctrl+u清空)

2018-4-9_磁盘分区_27


再加一个1g的主分区,四个了

2018-4-9_磁盘分区_28


再n

2018-4-9_2018-4-9_29

会提示不能再继续分区,因为四个用完了。

如果还想用 那删除一个主分区

d

2018-4-9_磁盘分区_30

默认删除4


现在三个

继续分n

分e,4个G(5个应该不够)

2018-4-9_2018-4-9_31

2018-4-9_磁盘分区_32

通过blocks查看大小。4194是兆 304是k,4G。 id号是查看分区类型 83是Linux主分区或逻辑分区,5是扩展分区,还有lvm(后面介绍)。


现在再想创建新的分区n,就是逻辑分区了,+1G2018-4-9_磁盘分区_33

p一下

2018-4-9_2018-4-9_34

再继续划分+1G逻辑分区

2018-4-9_2018-4-9_35

db5 6都是逻辑分区

现在是3个主分区 1个扩展分区 2个逻辑分区


现在删除一个主分区,比如sdb1

2018-4-9_磁盘分区_36

2018-4-9_2018-4-9_37


在删一个逻辑分区,5

2018-4-9_磁盘分区_38

p一下发现还有个db5,这个db5其实就是原来的db6。可以看start end。因为分区号是不会留空的

2018-4-9_磁盘分区_39


如果按w就保存了,按q就是不保存退出。

2018-4-9_2018-4-9_40


重新开始2018-4-9_2018-4-9_41

这一次一来就以直接划分扩展分区e

2018-4-9_2018-4-9_42


p一下

2018-4-9_磁盘分区_43

db1就是一个扩展分区


再增加一个主分区

2018-4-9_2018-4-9_44

这个时候 提示出现了改变,当既有主分区和扩展分区的时候会提示要求划分主分区还是逻辑分区

选p,默认2选择3,1G

2018-4-9_2018-4-9_45

再p一下

2018-4-9_2018-4-9_46

没问题


然后划分一个逻辑分区

2018-4-9_2018-4-9_47

p

2018-4-9_2018-4-9_48

看分区号1 3 5。主分区的时候没选2选了3,然后4也没了也留空了是因为前4个号都是给主分区逻辑分区的。

只有 5开始才给逻辑分区


再加3个100M的逻辑分区

2018-4-9_2018-4-9_49

有5 6 7 8四个逻辑分区。

删除掉6 

2018-4-9_磁盘分区_50

6还在 8没了其实就是7 8变成了 6 7。因为逻辑分区需要一个连续的分区号,主分区和扩展分区可以不连续。

q退出来,再分一次就分一个主分区5G

2018-4-9_磁盘分区_51

w保存并退出

fdisk -l

2018-4-9_磁盘分区_52

可以看到这个主分区,多了这个分区,不想要再删除就可以了。



总结:n提示分区类型,总分区和扩展分区的总和小于4,逻辑分区从第五个分区号开始并且是连续的。扩展分区本身不支持格式化他只算一个壳真正起作用的是逻辑分区,输入都是写到逻辑分区里的。

          fdisk分区工具,它的分区格式为MBR,特点是,最多分4个主分区,磁盘大小不能超过2T。而GPT分区格式,突破了这些限制,它没有主分区、扩展分区、逻辑分区之分,在一块磁盘上最多可以分128个分区出来,支持大于2T的分区,最大卷可达18EB。 相信,随着存储级别的升级,将来的分区格式逐渐会淘汰MBR,而GPT成为主流。


    扩展parted分区GPT格式


     parted 工具常用功能:
当在命令行输入parted后,进入parted命令的交互模式。输入help会显示帮助信息。下面就简单介绍一下常用的功能
1、check 简单检查文件系统。建议用其他命令检查文件系统,比如fsck
2、help 显示帮助信息
3、mklabel 创建分区表, 即是使用msdos(MBR)还是使用gpt,或者是其他方式分区表
4、 mkfs 创建文件系统。该命令不支持ext3 格式,因此建议不使用,最好是用parted分好区,然后退出parted交互模式,用其他命令进行分区,比如:mkfs.ext3
5、mkpart 创建新分区。
格式:mkpart PART-TYPE  [FS-TYPE]  START  END
PART-TYPE 类型主要有primary(主分区), extended(扩展分区), logical(逻辑区). 扩展分区和逻辑分区只对msdos。
fs-type   文件系统类型,主要有fs32,NTFS,ext2,ext3等
start end 分区的起始和结束位置。
6、mkpartfs 建立分区及其文件系统。目前还不支持ext3文件系统,因此不建议使用该功能。最后是分好区后,退出parted,然后用其他命令建立文件系统。
7、print 输出分区信息。该功能有3个选项,
free 显示该盘的所有信息,并显示磁盘剩余空间
number 显示指定的分区的信息
all 显示所有磁盘信息
8、resize 调整指定的分区的大小。目前对ext3格式支持不是很好,所以不建议使用该功能。
9、rescue 恢复不小心删除的分区。如果不小心用parted的rm命令删除了一个分区,那么可以通过rescue功能进行恢复。恢复时需要给出分区的起始和结束的位置。然后parted就会在给定的范围内去寻找,并提示恢复分区。
10、rm 删除分区。命令格式 rm  number 。如:rm 3 就是将编号为3的分区删除
11、select 选择设备。当输入parted命令后直接回车进入交互模式是,如果有多块硬盘,需要用select 选择要操作的硬盘。如:select /dev/sdb
12、set 设置标记。更改指定分区编号的标志。标志通常有如下几种:boot  hidden   raid   lvm 等。
boot 为引导分区,hidden 为隐藏分区,raid 软raid,lvm 为逻辑分区。
如:set 3  boot  on   设置分区号3 为启动分区
注:以上内容为parted常用的功能,由于该工具目前对ext3支持得不是很好,因此有些功能无法应用,比如move(移动分区)和resize等。

parted分区功能事例。
1、用命令模式 为/dev/sdb创建gpt类型文件分区表,并分500G分区。然后为该分区创建ext3文件系统。并将该分区挂载在/test文件夹下。
#  parted  /dev/sdb  mklabel     —创建分区表
#  parted  /dev/sdb  mkpart  ext3  0  500000    —创建500G分区/dev/sdb1
# mkfs.ext3  /dev/sdb1      —-将分区/dev/sdb1格式化成ext3格式文件系统
# mount  /dev/sdb1 /test   —将/dev/sdb1 挂载在/test下
如果让系统自动挂载/dev/sdb1 需手工编辑/etc/fstab文件。并在文件末尾添加如下内容:
/dev/sdb1             /test                ext3    defaults        0 0
2、创建大小为4G的交互分区。由于已经创建了500G的/dev/sdb1 ,因此再创建的分区为/dev/sdb2
# parted /dev/sdb mkpart swap 500000 504000 —创建4G分区/dev/sdb2
# mkswap  /dev/sdb2   —-将/dev/sdb2创建为交换分区
# swapon /dev/sdb2   —-激活/dev/sdb2
如果让系统自动挂载/dev/sdb2这个交换分区,需手工编辑/etc/fstab文件。并在文件末尾添加如下内容:
/dev/sdb2             swap                swap    defaults        0 0
3、恢复被误删除的分区(也可以参考testdisk命令)。由于parted直接写磁盘,因此一旦不小心删除了某一分区,建议立即用rescue恢复。下面通过事例来理解恢复过程。
# parted /dev/sdb mkpart ext3 504000 514000 —-创建10G分区/dev/sdb3
# mkfs.ext3 /dev/sdb3  —将/dev/sdb3格式化成ext3文件系统。
# parted /dev/sdb rm 3 —-删除/dev/sdb3
# parted /dev/sdb rescue 504000 514000    —依照屏幕提示,输入yes即可恢复被误删除分区