Linux 查看磁盘分区、文件系统、使用情况的命令和相关工具介绍
提要:
Linux 磁盘分区表、文件系统的查看、统计的工具很多,有些工具是多功能的,不仅仅是查看磁盘的分区表,而且也能进行磁盘分区的操作;
一、 df 命令
df 是来自于 coreutils 软件包,系统安装时,就自带的;我们通过这个命令可以查看磁盘的使用情况以及文件系统被挂载的位置;
举例:
[root@localhost]# df -lh
Filesystem            容量  已用 可用 已用% 挂载点
/dev/hda8              11G  6.0G  4.4G  58% /
/dev/shm              236M     0  236M   0% /dev/shm
/dev/sda1              56G   22G   35G  39% /mnt/sda1
二、 fdsik
fdisk 是一款强大的磁盘操作工具,通过 -l 参数,能获得机器中所有的硬盘的分区情况;
[root@localhost]# 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
在上面 Blocks 中,表示的是分区的大小, Blocks 的单位是 byte
System 表示的文件系统;
/dev/hda3 2806 7751 39728745 5 Extended 这是扩展分区;他下面包含着逻辑分区;
fdisk -l 能列出机器中所有磁盘的个数,也能列出所有磁盘分区情况; 比如:
[root@localhost]# 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/hda 1 * 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/sda 1 1 57231 58604528 83 Linux
/dev/had /dev/sda 有两块硬盘,我们也可以指定 fdisk -l 来查看其中一个硬盘的分区情况;
[root@localhost]# 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
三、 cfdisk 来自于 util-linux 的软件包;
 cfdisk 也是一款不错的分区工具;在有些发行版中,此工具已经从 util-linux 包中剔除; cfdisk 简单易用是他的特点;
查看磁盘分区的用法 cfdisk -Ps 磁盘设备名;
[root@localhost]cfdisk -Ps /dev/hda
[root@localhost]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
[root@localhost]cfdisk 磁盘设备名
举例:
[root@localhost]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] 就可以退出;
四、 parted 功能不错的分区工具;
调用方法简单, parted 默认是打开的设备是 /dev/hda ,也可以自己指定;退出的方法是 quit
[root@localhost]# parted
使用 /dev/hda
(parted) p
/dev/hda 的磁盘几何结构:0.000-76319.085 兆字节
磁盘标签类型:msdos
Minor 起始点 终止点 类型 文件系统 标志
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-swap
8 40774.381 52219.094 逻辑分区 ext3
9 52219.125 60800.690 逻辑分区 reiserfs
我们在 partd 的操作面上,用 p 就可以列出当前磁盘的分区情况,如果想要查看其它磁盘,可以用 select 功能,比如 select /dev/sda
五、 qtparted ,与 parted 相关的软件还有 qtparted ,也能查看到磁盘的结构和所用的文件系统,是图形化的;
# qtparted           图形化的查看工具;
六、 sfdisk 也是一个分区工具 ,功能也多多;我们在这里只说他的列磁盘分区情况的功能;
[root@localhost]# sfdisk -l
七、 partx 也简要的说一说,有些系统自带了这个工具,功能也简单,和 fdisk parted cfdisk 来说不值一提;不用也罢;
用法: partx 设备名
[root@localhost]# 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)
# 7: 81931563- 83505869 ( 1574307 sectors, 806 MB)
# 8: 83505933-106944704 ( 23438772 sectors, 12000 MB)
# 9: 106944768-124519814 ( 17575047 sectors, 8998 MB)
 
八、查看目前机器中的所有磁盘及分区情况:
[root@localhost]# cat /proc/partitions
major minor #blocks name
   3 0 78150744 hda
   3 1 6144831 hda1
   3 2 16386300 hda2
   3 5 8193118 hda5
   3 6 10241406 hda6
   3 7 787153 hda7
   3 8 11719386 hda8
   3 9 8787523 hda9
   8 0 58605120 sda
   8 1 58604528 sda1
 
九、 mac-fdisk 这个工具 主要是用在 Powerpc 版本的 Linux 中,咱们常用 X86 版本中没有这个工具;这个只是介绍一下;