查看Linux磁盘空间的大小
第一,df命令;
Df来自coreutils软件包,安装时系统自带。通过这个命令,我们可以检查磁盘的使用情况和文件系统挂载的位置;
例如:
[root@localhost beinan]# df -lh
文件系统容量已用可用已用%装载点
/dev/hda8 11G 6.0G 4.4G 58% /
/dev/shm 236M 0 236M 0% /dev/shm
/dev/sda1 56G 22G 35G 39% /mnt/sda1
我们可以看到系统安装在/dev/hda8中;还有一个56G的磁盘分区/dev/sda1挂载在/mnt/sda1中;
其他参数请参考手册df。
二、fdsik
Fdisk是一个强大的磁盘操作工具,它来自于util-linux软件包。这里只说如何查看磁盘分区表和分区结构。参数-l,通过-l参数,可以得到机器中所有硬盘的分区;
[root@localhost beinan]# fdisk -l
Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units=cylinders of 16065 * 512=8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 765 6144831 7 HPFS/NTFS
/dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)
/dev/hda3 2806 7751 39728745 5 Extended
/dev/hda5 2806 3825 8193118+ 83 Linux
/dev/hda6 3826 5100 10241406 83 Linux
/dev/hda7 5101 5198 787153+ 82 Linux swap/Solaris
/dev/hda8 5199 6657 11719386 83 Linux
/dev/hda9 6658 7751 8787523+ 83 Linux
在上面的块中,表示分区的大小,块的单位是字节,我们可以换算成m,比如第一个分区/dev/hda1的大小换算成m,应该是6144831/1024=6000M。
也就是6G左右,其实也没那么麻烦。粗略看一下把小数点往前移三位,就知道大概体积有多大;
System代表的文件系统,如/dev/hda1,为NTFS格式;/dev/hda2表示fat32格式的文件系统;
在这个例子中,我们要特别注意/dev/hda3分区,这是一个扩展分区;它下面有一个逻辑分区,实际上相当于一个容器;从属于她的是HDA5、HDA6、HDA7、HDA8、HDA9
我们还注意到没有hda4。为什么hda4不包含在扩展分区中?一个磁盘最多可以有四个主分区;Hda1-4都是主分区;Hda4不能包含在扩展分区中,扩展分区也被认为是主分区;在这种情况下,
hda4没有分区。当然我们可以把其中一个分区设置为主分区,但是我分区的时候没有这么做。
仔细统计了一下,看看这个磁盘还有没有空间。Hda1 hda2 hda3=现实世界的分区体积,
所以我们可以这样计算hda 1 hda 2 hda 3=6144831 16386300 39728745=62259876(b),换算成m个单位,小数点前移三位。
因此,目前分区面积约为62259.876平方米。
其实最准确的计算是62259876/1024=60800.67(m);磁盘大小为80.0 GB(80026361856字节)。
实际上实际尺寸是78150.744(m);通过我们的一系列计算,可以得出这个硬盘还有使用空间;还有18G左右的未分区空间;
Fdisk -l可以列出机器中所有磁盘的数量,也可以列出所有磁盘分区;例如:
[root@localhost beinan]# fdisk -l
Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units=cylinders of 16065 * 512=8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 765 6144831 7 HPFS/NTFS
/dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)
/dev/hda3 2806 7751 39728745 5 Extended
/dev/hda5 2806 3825 8193118+ 83 Linux
/dev/hda6 3826 5100 10241406 83 Linux
/dev/hda7 5101 5198 787153+ 82 Linux swap/Solaris
/dev/hda8 5199 6657 11719386 83 Linux
/dev/hda9 6658 7751 8787523+ 83 Linux
Disk /dev/sda: 60.0 GB, 60011642880 bytes
64 heads, 32 sectors/track, 57231 cylinders
Units=cylinders of 2048 * 512=1048576 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 57231 58604528 83 Linux
从上面我们可以知道这台机器有两个硬盘,我们也可以指定fdisk -l来检查其中一个硬盘的分区。
[root@localhost beinan]# fdisk -l /dev/sda
Disk /dev/sda: 60.0 GB, 60011642880 bytes
64 heads, 32 sectors/track, 57231 cylinders
Units=cylinders of 2048 * 512=1048576 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 57231 58604528 83 Linux
从上面我们可以知道,disk /dev/sda中只有一个分区;使用率几乎是100%;
我们还可以检查/dev/hda的
[root@localhost beinan]# fdisk -l /dev/hda
自己试试?
3.cfdisk来自util-linux的软件包;
Cfdisk也是一个很好的分区工具;在某些发行版中,这个工具已经从util-linux包中排除了;Cfdisk简单易用。类似于DOS中的fdisk在这个标题中,
我们只说明如何检查机器中使用的磁盘分区状态和文件系统;
检查磁盘分区cfdisk -Ps磁盘设备名称的使用情况;
例如
[root@localhost beinan]cfdisk -Ps
[root@localhost beinan]cfdisk -Ps /dev/hda
[root@localhost beinan]cfdisk -Ps
Partition Table for /dev/hda
First Last
# Type Sector Sector Offset Length Filesystem Type (ID) Flag
-- ------- ----------- ----------- ------ ----------- -------------------- ----
1 Primary 0 23438834 63 23438835 Linux (83) Boot
2 Primary 23438835 156296384 0 132857550 Extended (05) None
5 Logical 23438835 155268224 63 131829390 Linux (83) None
6 Logical 155268225 156296384 63 1028160 Linux swap (82) None
我们只使用参数-Ps来列出磁盘的分区;目前Slackware Debian Mandrake等主流发行版中都有cfdisk。
而fedora 4.0淘汰了这个小玩意;很可惜;这是我在Slackware做的;
这样做的话,会更直观;
[root@localhost beinan]cfdisk磁盘设备名
例如:
[root@localhost beinan]cfdisk /dev/hda
您看到的是以下模式:
cfdisk 2.12a
Disk Drive: /dev/hda
Size: 80026361856 bytes, 80.0 GB
Heads: 255 Sectors per Track: 63 Cylinders: 9729
Name Flags Part Type FS Type [Label] Size (MB)
-------------------------------------------------------------------------------------------
hda1 Boot Primary Linux ReiserFS 12000.69
hda5 Logical Linux ReiserFS 67496.65
hda6 Logical Linux swap 526.42
[Bootable] [ Delete ] [ Help ] [Maximize] [ Print ] [ Quit ]
[ Type ] [ Units ] [ Write ]
Toggle bootable flag of the current partition
您已经进入cfdisk的操作界面;用键盘移动指针到【Quit】退出;
4.功能好的分区工具;Fedora 4.0里有腰带,可以自己装;本主题只讲如何检查磁盘的分区;
调用方法很简单。parted默认为/dev/hda,也可以自己指定。比如parted /dev/hda或者/dev/sda;退出方法是退出。
[root@localhost beinan]# parted
使用/dev/hda
(parted) p
/dev/hda的磁盘几何:0.000-76319.085兆。
磁盘标签类型:msdos
次要起点终点类型文件系统标志
1主分区的0.031 6000.842 ntfs引导。
2 6000.842 22003.088主分区fat32 lba
3 22003.088 60800.690扩展分区
5 22003.119 30004.211逻辑分区reiserfs
6 30004.242 40005.615逻辑分区reiserfs
7 40005.646 40774.350逻辑分区linux交换
8 40774.381 52219.094逻辑分区ext3
9 52219.125 60800.690逻辑分区reiserfs
在partd的操作界面上,我们可以用p列出当前磁盘的分区,如果要查看其他磁盘,可以使用select函数,比如select/dev/sda;
第五,qtparted,parted相关的软件也有qtparted,还可以查看磁盘的结构和使用的文件系统,是图形化的;
[beinan@localhost ~]# qtparted
图形化的查看,一目了然;
六、sfdisk 也是一个分区工具,功能也多多;我们在这里只说他的列磁盘分区情况的功能;
[root@localhost beinan]# sfdisk -l
自己看看吧;
sfdisk 有几个很有用的功能;有兴趣的弟兄不妨看看;
七、partx 也简要的说一说,有些系统自带了这个工具,功能也简单,和fdisk 、parted、cfdisk 来说不值一提;不用也罢;
用法: partx 设备名
[root@localhost beinan]# partx /dev/hda
# 1: 63- 12289724 ( 12289662 sectors, 6292 MB)
# 2: 12289725- 45062324 ( 32772600 sectors, 16779 MB)
# 3: 45062325-124519814 ( 79457490 sectors, 40682 MB)
# 4: 0- -1 ( 0 sectors, 0 MB)
# 5: 45062388- 61448624 ( 16386237 sectors, 8389 MB)
# 6: 61448688- 81931499 ( 20482812 sectors, 10487 MB)