坚持以客户需求至上原则
中国老牌优质服务商

linux查看硬盘大小与挂载硬盘的实现

linux的硬盘有挂载和未挂载两种(类似windows上的硬盘分区(C、D、E盘))

(1)查看已经挂载的硬盘大小:df -h

(2)查看详细的硬盘分区情况(包括挂载和未挂载两种的硬盘大小):fdisk -l

介绍:

(1)df用于检查文件系统磁盘占用情况

(2)du检查磁盘空间占用情况

(3)fdisk用于磁盘分区

详解:

1.df

df命令可以获取硬盘被占用了多少空间,目前还剩下多少空间等信息,它也可以显示所有文件系统对i节点和磁盘块的使用情况。

df命令各个选项的含义如下:

-a:显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统。
-k:以k字节为单位显示。
-i:显示i节点信息,而不是磁盘块。
-t:显示各指定类型的文件系统的磁盘空间使用情况。
-x:列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反)。
-T:显示文件系统类型。

我们先看看使用df命令的例子:

1
2
3
4
5
6
7
8
9
//列出各文件系统的磁盘空间使用情况
#df
Filesystem   1k-blocks  Used Available Use% Mounted on
/dev/hda5    381139  332921  28540 93% /
/dev/hda1    46636  6871  37357 16% /boot
/dev/hda3    10041144 6632528 2898556 70% /home
none     127372   0 127372 0% /dev/shm
/dev/hda2    27474876 24130460 1948772 93% /usr
/dev/hda6    256667 232729  10686 96% /var

第1列是代表文件系统对应的设备文件的路径名(一般是硬盘上的分区);第2列给出分区包含的数据块(1024字节)的数目;第3,4列分别表示已用的和可用的数据块数目。

◆用户也许会感到奇怪,第3,4列块数之和不等于第2列中的块数。这是因为默认的每个分区都留了少量空间供系统管理员使用的缘故。即使遇到普通用户空间已满的情况,管理员仍能登录和留有解决问题所需的工作空间。清单中Use%列表示普通用户空间使用的百分比,若这一数字达到100%,分区仍然留有系统管理员使用的空间。

最后,Mounted on列表示文件系统的安装点。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//列出各文件系统的i节点使用情况。
#df - - /proc
/dev/hda1    12048  38 12010 1% /boot
none      0  0  0 ia
Filesystem   Inodes IUsed IFree IUse% Mounted on
/dev/hda5    98392 23919 74473 25% /
none      0  0  0 - /dev/pts
/dev/hda3   1275456 355008 920448 28% /home
none     31843  1 31842 1% /dev/shm
/dev/hda2   3489792 133637 3356155 4% /usr
/dev/hda6    66264 9876 56388 15% /var
//列出文件系统的类型。
#df -T
Filesystem Type 1k-blocks  Used Available Use% Mounted on
/dev/hda5  ext3  381139 332921  28540 93% /
/dev/hda1  ext3  46636  6871  37357 16% /boot
/dev/hda3  ext3 10041144 6632528 2898556 70% /home
none   tmpfs  127372   0 127372 0% /dev/shm
/dev/hda2  ext3 27474876 24130460 1948772 93% /usr
/dev/hda6  ext3  256667 232729  10686 96% /var2

2. du

du的英文原义为“disk usage”,含义为显示磁盘空间的使用情况,统计目录(或文件)所占磁盘空间的大小。该命令的功能是逐级进入指定目录的每一个子目录并显示该目录占用文件系统数据块(1024字节)的情况。若没有给出指定目录,则对当前目录进行统计。

df命令的各个选项含义如下:

-s:对每个Names参数只给出占用的数据块总数。
-a:递归地显示指定目录中各文件及子目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。
-b:以字节为单位列出磁盘空间使用情况(系统默认以k字节为单位)。
-k:以1024字节为单位列出磁盘空间使用情况。
-c:最后再加上一个总计(系统默认设置)。
-l:计算所有的文件大小,对硬链接文件,则计算多次。
-x:跳过在不同文件系统上的目录不予统计。
-h:转化成方便阅读的2M、2G这种格式的显示出来。

下面举例说明du命令的使用:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//查看/mnt目录占用磁盘空间的情况
#du –abk /mnt
/mnt/cdrom
/mnt/floppy
/mnt
//列出各目录所占的磁盘空间,但不详细列出每个文件所占的空间
#du
3684 ./log
84  ./libnids-1.17/doc
720  ./libnids-1.17/src
32  ./libnids-1.17/samples
1064 ./libnids-1.17
4944 .

输出清单中的第1列是以块为单位计的磁盘空间容量,第2列列出目录中使用这些空间的目录名称。

◆这可能是一个很长的清单,有时只需要一个总数。这时可在du命令中加-s选项来取得总数:

1
2
3
4
5
6
7
8
#du –s /mnt
/mnt
//列出所有文件和目录所占的空间(使用a选项),并以字节为单位(使用b选项)来计算大小
#du –ab /root/mail
6144 mail/sent-mail
1024 mail/saved-messages
8192 mail

3、fdisk

fdisk可以划分磁盘分区。下面给出使用Fdisk命令进行磁盘分区的操作步骤:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#fdisk /dev/had //使用/dev/had作为默认的分区设备
Command (m for help): m //选择命令选项
Command action
 a toggle a bootable flag
 b edit bsd disklabel
 c toggle the dos compatibility flag
 d delete a partition
 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”,可以显示Fdisk命令各个参数的说明。

Fdisk有很多参数,可是经常使用的只有几个。

◆在Linux分区过程,一般是先通过p参数来显示硬盘分区表信息,然后根据信息确定将来的分区。如下所示:

1
2
3
4
5
6
7
8
9
Disk /dev/sda: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
 Device Boot Start  End Blocks Id System
/dev/hda1 *  41  522 3871665 83 Linux
/dev/hda2    1  40 321268+ 82 Linux swap
Partition table entries are not in disk order
Command (m for help):

◆如果想完全改变硬盘的分区格式,就可以通过d参数一个一个地删除存在的硬盘分区。删除完毕,就可以通过n参数来增加新的分区。当按下“n”后,可以看到如下所示:

1
2
3
4
5
6
7
8
Command (m for help): n
Command action
 e extended
 p primary partition (1-4)
 p
 Partiton number(1-4):1
 First cylinder(1-1023):1
 Last cylinder or + size or +sizeK or + sizeM(1-1023):+258M

这里要选择新建的分区类型,是主分区还是扩展分区;并选择p或是e。然后就是设置分区的大小。

◆要提醒注意的是,如果硬盘上有扩展分区,就只能增加逻辑分区,不能增加扩展分区。

◆在增加分区的时候,其类型都是默认的Linux Native,如果要把其中的某些分区改变为其他类型,例如Linux Swap或FAT32等,可以通过命令t来改变,当按下“t”改变分区类型的时候,系统会提示要改变哪个分区、以及改变为什么类型(如果想知道系统所支持的分区类型,键入l),如下所示:

1
2
3
4
Command (m for help): t
Partition number (1-4): 1
Hex code (type L to list codes): 82
Changed system type of partition 1 to 82 (Linux swap)

改变完了分区类型,就可以按下“w”,保存并退出。如果不想保存,那么可以选择“q”直接退出,如下所示:

1
Command (m for help):w

通过如上的操作,就可以按照需要成功地划分磁盘分区了。

赞(21)

更专业 更快速 更方便

华夏名网VIP服务