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 目录,然后存取文件了