df、du、fdisk:Linux磁盘管理三板斧


df命令:用于检查文件系统磁盘占用情况

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

选项:

 -a:显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统。

 -k:以k字节为单位显示。

 -i:显示i节点信息,而不是磁盘块。

 -t:显示各指定类型的文件系统的磁盘空间使用情况。

 -x:列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反)。

 -T:显示文件系统类型。

 -P:显示时不自动换行。

 -h: 进行单位换算显示。

举例:

1、列出各文件系统的磁盘空间使用情况

#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

2、列出各文件系统的i节点使用情况

#df -ia

Filesystem            Inodes   IUsed   IFree IUse% Mounted on

/dev/hda5              98392   23919   74473   25% /

none                       0       0       0    -  /proc

/dev/hda1              12048      38   12010    1% /boot

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

3、列出文件系统的类型

#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


du命令:检查磁盘空间占用情况

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

选项:

   -s:对每个Names参数只给出占用的数据块总数。

   -a:递归地显示指定目录中各文件及子目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。

   -b:以字节为单位列出磁盘空间使用情况(系统默认以k字节为单位)。

   -k:以1024字节为单位列出磁盘空间使用情况。

   -c:最后再加上一个总计(系统默认设置)。

   -l:计算所有的文件大小,对硬链接文件,则计算多次。

   -x:跳过在不同文件系统上的目录不予统计。

   -h: 进行单位换算显示。

举例:

1、查看/mnt目录占用磁盘空间的情况

#du –abk /mnt

1       /mnt/cdrom

1       /mnt/floppy

3       /mnt

2、列出各目录所占的磁盘空间,但不详细列出每个文件所占的空间

#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列列出目录中使用这些空间的目录名称。

3、列出所有文件和目录所占的空间(使用a选项),并以字节为单位(使用b选项)来计算大小

#du –ab /root/mail

6144    mail/sent-mail

1024    mail/saved-messages

8192    mail

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

#du –s /mnt

3       /mnt

fdisk命令:用于磁盘分区


下面给出使用Fdisk命令进行磁盘分区的操作帮助


#fdisk /dev/had    //使用/dev/had作为默认的分区设备

Command (m for help): m  //选择命令选项,用户通过提示键入“m”,可以显示Fdisk命令各个参数的说明

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)