du,df,fdisk,mkfs.ext3命令详解

时间:2022-04-01 05:24:43

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卸载磁盘