linux 磁盘命令详解

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

linux 系统学习笔   2008-05-14 09:54:10   阅读 1262   评论 0    字号:   订阅

1. du 命令详细用法

常用命令: [b]du[/b] –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 一些数值的说明;

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 保存退出;

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

  先提示一下;用 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

  如果我想加载 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 目录,然后存取文件了

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值