1. du命令详细用法

常用命令:du –a

查询档案或目录的磁盘使用空间

a:显示全部目录和其次目录下的每个档案所占的磁盘空间

b:大小用bytes来表示 (默认值为k bytes)

c:最后再加上总计 (默认值)

s:只显示各档案大小的总合

x:只计算同属同一个档案系统的档案

L:计算所有的档案大小

引用

指令 du 能以指定的目录下的子目录为单位,显示每个目录内所有档案所占用的磁盘空间大小。使用 -h 参数来显示 human-readable 的格式。例如:

#

du -h /etc


104K /etc/defaults


6.0K /etc/X11

在查看目录的使用情形时,我们可以将输出结果导到 sort 指令进行排序,以了解哪个档案用了最多的空间:

#

du /etc | sort -nr | more


1746 /etc


388 /etc/mail


318 /etc/rc.d


2. df命令详细用法

常用命令:df –hi

a:显示全部的档案系统和各分割区的磁盘使用情形

i:显示i -nodes的使用量

k:大小用k来表示 (默认值)

t:显示某一个档案系统的所有分割区磁盘使用量

x:显示不是某一个档案系统的所有分割区磁盘使用量

T:显示每个分割区所属的档案系统名称

指令 df 可以显示目前所有档案系统的最大可用空间及使用情形,请看下列这个例子:

#

df –h


Filesystem              Size  Used   Avail     Use%     Mounted on


/dev/mapper/VolGroup00-LogVol00


37G  3.6G   32G      11%  /


/dev/sda1               99M   12M   83M     13%  /boot


tmpfs                  506M     0  506M      0%  /dev/shm


3. 实例解说Linux中fdisk分区使用方法


一、fdisk 的介绍;

fdisk - Partition table manipulator for Linux ,译成中文的意思是磁盘分区表操作工具;本人译的不太好,也没有看中文文档;其实就是分区工具;

fdsik 能划分磁盘成为若干个区,同时也能为每个分区指定分区的文件系统,比如linux 、fat32、 linux 、linux swap 、fat16 以及其实类Unix类操作系统的文件系统等;当然我们用fdisk 对磁盘操作分区时,并不是一个终点,我们还要对分区进行格式化所需要的文件系统;这样一个分区才能使用;这和DOS中的fdisk 是类似的;


二、合理规划您的硬盘分区;

在操作分区之前,我们要明白硬盘分区一点理论,比如硬盘容量和分区大小的计算;对一个硬盘如何规划分区等,请参考如下文档,谢谢;

《合理规划您的硬盘分区》


三、fdisk -l 查看硬盘及分区信息;

通过《合理规划您的硬盘分区》,我们知道主分区(包括扩展分区)的总个数不能超过四个;也不能把扩展分区包围在主分区之间;根据这个原则,我们划分硬盘分区就比较容易的多;也能为以后减少不必要的麻烦;

1、通过fdisk -l 查看机器所挂硬盘个数及分区情况;

硬盘总容量=主分区(包括扩展分区)总容量

扩展分区容量=逻辑分区总容量

2、关于fdisk -l 一些数值的说明;


fdisk -l


Disk /dev/hda: 80.0 GB, 80026361856 bytes


255 heads, 63 sectors/track, 9729 cylinders


Units = cylinders of 16065 * 512 = 8225280 bytes

这个硬盘是80G的,有255个磁面;63个扇区;9729个磁柱;每个 cylinder(磁柱)的容量是 8225280 bytes=8225.280 K(约为)=8.225280M(约为);

分区序列 引导 开始 终止 容量分区类型ID 分区类型


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 9729 55617030 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


/dev/hda10 7752 9729 15888253+ 83 Linux

说明:

硬盘分区的表示:在Linux 是通过hd*x 或 sd*x 表示的,其中 * 表示的是a、b、c …… …… x表示的数字 1、2、3 …… …… hd大多是IDE硬盘;sd大多是SCSI或移动存储;

引导(Boot):表示引导分区,在上面的例子中 hda1 是引导分区;

Start (开始):表示的一个分区从X cylinder(磁柱)开始;

End (结束):表示一个分区到 Y cylinder(磁柱)结束;

id和System 表示的是一个意思,id看起来不太直观,我们要在fdisk 一个分区时,通过指定id来确认分区类型;比如 7表示的就NTFS 分区;这个在fdisk 中要通过t功能来指定。下面的部份会提到;

Blocks(容量):这是我翻译的,其实不准确,表示的意思的确是容量的意思,其单位是K;一个分区容量的值是由下面的公式而来的;

Blocks = (相应分区End数值 - 相应分区Start数值)x 单位cylinder(磁柱)的容量

所以我们算一下 hda1的 Blocks 的大小 :

hda1 Blocks=(765-1)x8225.280=6284113.92 K = 6284.113.92M

注:换算单位以硬盘厂家提供的10进位算起,如果以操作系统二进制来算,这个分区容量应该更少一些,得出的这个值和我们通过 fdisk -l 看到的 /dev/hda1的值是大体相当的,因为换算方法不一样,所以也不可能尽可能的精确;再加上分区时的一点损失之类,有时或大或小是存在的;

我们查看分区大小或者文件的时候,还是用十进制来计算比较直观;推算办法是 byte 向前推小数点三位就是K ,K单位的值向前推小数点三位就是M,M向前推小数点三位就是G…… …… 一般也差不了多少;这么算就行;


四、fdisk 对硬盘及分区的操作,进入fdisk 对硬盘操作阶段;

我们可以对硬盘进行分区操作,前提是您把fdisk -l 弄明白了;通过fdisk -l ,我们能找出机器中所有硬盘个数及设备名称;比如上面的例子,我们会看到两个设备一个是/dev/hda ,另一个是/dev/sda ;

fdisk 操作硬盘的命令格式如下:

[root@localhost ]# fdisk 设备

比如我们通过 fdisk -l 得知 /dev/hda 或者 /dev/sda设备;我们如果想再添加或者删除一些分区,可以用

[root@localhost ]# fdisk /dev/hda

[root@localhost ]# fdisk /dev/sda

注 在以后的例子中,我们要以 /dev/sda设备为例,来讲解如何用fdisk 来操作添加、删除分区等动作;

1、fdisk 的说明;

当我们通过 fdisk 设备,进入相应设备的操作时,会发现有如下的提示;以 fdisk /dev/sda 设备为例,以下同;

[root@localhost ]#

fdisk /dev/sda


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 注:l是列出分区类型,以供我们设置相应分区的类型;

m print this menu 注:m 是列出帮助信息;

n add a new partition 注:添加一个分区;

o create a new empty DOS partition table

p print the partition table 注:p列出分区表;

q quit without saving changes 注:不保存退出;

s create a new empty Sun disklabel

t change a partition's system id 注:t 改变分区类型;

u change display/entry units

v verify the partition table

w write table to disk and exit 注:把分区表写入硬盘并退出;

x extra functionality (experts only) 注:扩展应用,专家功能;

其实我们常用的只有注有中文的,其它的功能我们不常用(呵,主要是我不会用,否则早会卖弄一下了);x扩展功能,也不是常用的;一般的情况下只要懂得 d l m p q t w 就行了;

下面以实例操作来详述,没有例子没有办法就,新手也看不懂;

2、列出当前操作硬盘的分区情况,用p;


Command (m for help):


p


Disk /dev/sda: 1035 MB, 1035730944 bytes


256 heads, 63 sectors/track, 125 cylinders


Units = cylinders of 16128 * 512 = 8257536 bytes


Device Boot Start End Blocks Id System


/dev/sda1 1 25 201568+ c W95 FAT32 (LBA)


/dev/sda2 26 125 806400 5 Extended


/dev/sda5 26 50 201568+ 83 Linux


/dev/sda6 51 76 200781 83 Linux

然后我们根据前面所说通过t指令来改变分区类型;

最后不要忘记w保存退出;


五、对分区进行格式化,以及加载;

查看磁盘文件格式(ext3, ext4等):


[root@AY14020816093477605eZ ~]#


df -T /dev/xvdb




// 查看磁盘数据格式,为 ext4



Filesystem    Type   1K-blocks      Used Available Use% Mounted on



/dev/xvdb     ext4


2113787824 799853080 1206560564  40% /data

[root@AY14020816093477605eZ ~]#


df -T /dev/xvdc





// 查看磁盘数据格式,还没有格式化




Filesystem    Type   1K-blocks      Used Available Use% Mounted on



-                -


16430492       164  16430328   1% /dev

先提示一下;用 mkfs.bfs mkfs.ext2 mkfs.jfs mkfs.msdos mkfs.vfatmkfs.cramfs mkfs.ext3 mkfs.minix mkfs.reiserfs mkfs.xfs 等命令来格式化分区,比如我想格式化 sda6为ext3文件系统,则输入;


[root@localhost ]#


mkfs.ext3 /dev/sda6





sudo

mkfs.ext3 /dev/sda6



sudo mkfs -t ext3

/dev/sda6


或者格式化成 ext4:


sudo mkfs -t ext4

/dev/sda6


如果我想加载 sda6到目前系统来存取文件,应该有mount 命令,但首先您得建一个挂载目录;比如 /mnt/sda6 ;


[root@localhost ]# mkdir /mnt/sda6


[root@localhost ]#


mount /dev/sda6 /mnt/sda6


[root@localhost ]# df -lh

Filesystem 容量 已用 可用 已用% 挂载点


/dev/hda8 11G 8.4G 2.0G 81% /


/dev/shm 236M 0 236M 0% /dev/shm


/dev/hda10 16G 6.9G 8.3G 46% /mnt/hda10


/dev/sda6 191M 5.6M 176M 4% /mnt/sda6

这样我们就能进入 /mnt/sda6目录,然后存取文件了


umount 卸载磁盘

方式1) umount /mnt/sda6

方式2) umount /dev/sda6

卸载磁盘目标文件夹,或卸载磁盘源,都可以umount卸载磁盘