df:df用来检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。 df的参数有:代码:
- -a 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统。
- -k 以k字节为单位显示。
- -i 显示i节点信息,而不是磁盘块。
- -t 显示各指定类型的文件系统的磁盘空间使用情况。
- -x 列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反)。
- -T 显示文件系统类型。 对df命令进行详解:
引用:
- dongmh@home:~$ df
- Filesystem 1K-块 已用 可用 已用% 挂载点
- /dev/sda12 3842376 242424 3404764 7% /
这个就是最基本用法,你可能觉得奇怪已用和可用加在一起不等于前面的块的总值,这是因为默认状况下,有留给root的专门用于维护管理的保留空间,不用在意。其他的用法无非是加上不同的参数显示不同的信息,不再反复说明。
du:du用于统计目录或文件所占磁盘空间的大小。 它的参数如下:代码:
- -s 对每个Names参数只给出占用的数据块总数。
- -a 递归地显示指定目录中各文件及子孙目录中各文件占用的数据块数。
- 若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。
- -b 以字节为单位列出磁盘空间使用情况(系统缺省以k字节为单位)。
- -k 以1024字节为单位列出磁盘空间使用情况。
- -c 最后再加上一个总计(系统缺省设置)。
- -l 计算所有的文件大小,对硬链接文件,则计算多次。
- -x 跳过在不同文件系统上的目录不予统计。
二、Ubuntu硬盘分区
在 一个有win的电脑上,分区无疑是一件很简单的事。使用分区魔术师,对硬盘可以进行分区、合并、调整大小,所以大多数和我一样电脑上先有win的朋友在分 区方面一定不用愁,整理下数据,空出几个分区,然后在Ubuntu硬盘安装的时候就可以利用安装程序分好区,以后就没有什么可担忧的了,但是某些朋友因为 某些 需要,必须利用linux操作系统进行分区,那么以下的内容也许能有点价值。
首先谈谈基础知识,一个Ubuntu硬盘可以划分4个区,3个主要分区,一个扩展分区,而扩展分区里可以划分n个逻辑分区,扩展分区本身不能储存任何东西,也不能格式化成某种文件系统,只能用于区分逻辑分区。
我们主要应用的命令有三个:fdisk、cfdisk、gparted。其中前两个命令在breezy中已经安装好了,如果你需要gparted的话是需要另外安装的,我们的源里有,安装方法:代码:sudo apt-get install gparted
这三个软件的不同之处主要在于直观性、易用性,fdisk可以说最难用,而cfdisk有了字符的界面,gparted则有了基于gnome的更漂 亮的界面,从功能的角度上来说三个软件都差不多,但是有时不得不使用fdisk,这里我对三个软件的使用进行一定的说明:fdisk:代码:sudo fdisk -l会列出所有硬盘之实体使用情况。代码:sudo fdisk -l /dev/hda会列出第一快IDE硬盘的使用情况,响应的来讲可以换用/dev/sda等等。代码:sudo fdisk /dev/hda
进入硬盘分区模式,进入这个模式后所有操作不会立刻生效,只会在得到确认的命令后才会起作用。代码:
- m 显示所有命令提示。
- p 现实硬盘分区情况。
- a 设定硬盘起动区。
- n 设定新的硬盘分区。
- l 列出所有文件系统类型。
- e 在输入n的情况下才能用,指增加一个扩展分区。
- p 在输入n的情况下才能用,指增加一个主要分区。
- l 在输入n的情况下才能用,指增加一个逻辑分区。
- t 改变硬盘分区属性。
- d 删除硬盘分区。
- q 结束但不对硬盘进行修改。
- w 结束而且对硬盘进行修改。
现在对fdisk的结果进行详解,以下是在我的电脑上运行的例子:引用:
- dongmh@home:~$ sudo fdisk -l /dev/hda
- Disk /dev/hda: 60.0 GB, 60022480896 bytes
- 255 heads, 63 sectors/track, 7297 cylinders
- Units = cylinders of 16065 * 512 = 8225280 bytes
- Device Boot Start End Blocks Id System
- /dev/hda1 * 1 1276 10249438+ 7 HPFS/NTFS
- /dev/hda2 1277 7297 48363682+ f W95 Ext'd (LBA)
- /dev/hda5 1277 2551 10241406 7 HPFS/NTFS
- /dev/hda6 2552 3835 10313698+ 7 HPFS/NTFS
- /dev/hda7 3836 3957 979933+ 82 Linux swap / Solaris
- /dev/hda8 3958 4261 2441848+ 83 Linux
- /dev/hda9 4262 4869 4883728+ 83 Linux
- /dev/hda10 4870 7297 19502878+ 83 Linux
上面的提示表示,我的Ubuntu硬盘有60G,255个磁面,63个扇区,7297个磁柱;每个磁柱容量是8225280 Byte 大约是8225KB或者8MB。
Device Boot Start End Blocks Id System分区序列 引导 开始 终止 容量 分区类型ID 分区类型引导 表示引导分区,在上面的例子中 hda1 是引导分区;开始 表示的一个分区从X cylinder(磁柱)开始;结束 表示一个分区到 Y cylinder(磁柱)结束;然后进入分区模式:
引用:
- dongmh@home:~$ sudo fdisk /dev/hda
- The number of cylinders for this disk is set to 7297.
- There is nothing wrong with that, but this is larger than 1024,
- and could in certain setups cause problems with:
- 1) software that runs at boot time (e.g., old versions of LILO)
- 2) booting and partitioning software from other OSs
- (e.g., DOS FDISK, OS/2 FDISK)
- Command (m for help):
上面的提示大概的意思就是我的Ubuntu硬盘大于1024个磁柱所以呢,老板本的lilo会不买我的帐,可以不用在意。我们先尝试命令d
引用:
- Command (m for help): d
- Partition number (1-10):
它问你要删除哪个分区,一定要注意,如果删了扩展分区,那么所有逻辑分区一块跟着挂,一定要小心。我输入7,再输入p就可以看到自己的Ubuntu硬盘分区少了一个。
接下来我添加一个逻辑分区:引用:
- Command (m for help): n
- Command action
- l logical (5 or over)
- p primary partition (1-4)
- l
- First cylinder (3836-7297, default 3836):3836
- Last cylinder or +size or +sizeM or +sizeK (3836-3957, default 3957): 3957
这里的两个问题是,开始的磁柱是哪个,结束的磁柱是哪个。在结束的磁柱处可以用+sizeM +sizeK来输入。然后是对分区类型的改变,我输入t:
引用:- Command (m for help): t
- Partition number (1-10): 7
- Hex code (type L to list codes): L
输入L可以看到所有磁盘的文件类型列列表,然后再从输入相应的文件系统ID就可以对分区文件系统进行更改了。最后如果需要保存就输入w,不许要则输入q,这样分区修改就算结束了。
cfdisk、gparted:cfdisk有非常直观的界面,而gparted甚至是中文的,所以这里我就不再多作介绍。
三、Ubuntu硬盘格式化
分完区还不算完事,格式化后才能正常使用,这里介绍下Linux格式化命令:代码:sudo mkfs -t 文件系统 存储设备格式化就是这么简单,或者也可一这样输入命令:代码:
- sudo mkfs.ext3 /dev/sda6 把该设备格式化成ext3文件系统。
- sudo mke2fs -j /dev/sda6 把该设备格式化成ext3文件系统。
- sudo mkfs.ext2 /dev/sda6 把该设备格式化成ext2文件系统。
- sudo mke2fs /dev/sda6 把该设备格式化成ext2文件系统。
- sudo mkfs.reiserfs /dev/sda6 把该设备格式化成reiserfs文件系统。
- sudo mkfs.vfat /dev/sda6 把该设备格式化成fat32文件系统。
- sudo mkfs.msdos /dev/sda6 把该设备格式化成fat16文件系统,msdos文件系统就是fat16。
- sudo mkdosfs /dev/sda6 把该设备格式化成fat16文件系统,同mkfs.msdos
- sudo mkswap /dev/sda6 把该设备格式化成swap文件系统。
这样分好区,并且格式化结束,就可以进行挂载了。
四、Ubuntu硬盘挂载文件系统
挂载文件系统有两个方法,一种是利用mount命令,另外一种是修改/etc/fstab,因为修改/etc/fstab并不方便,所以我只介绍mount。mount命令的用法如下:
代码:sudo mount [-t 文件系统 ] [-o 选项] 设备 目录使用这个命令前需要先生成一个用于被挂的目录,创建了这样的目录后有个细节问题就是更改这个目录的权限,最起码要你可读写,这样才能使你挂载的硬盘可读写,当然ntfs的硬盘除外。代码:chmod 777 目录
而挂载时,也有可以省事的地方,比如说你不知道你的分区是什么文件类型你可以:代码:sudo mount -t auto 设备 目录或者也可以:代码:sudo mount 设备 目录顺便说下swap分区,一般不这样挂载,而采用加载命令进行加载:代码:sudo swapon 设备相应的也就产生了:代码:sudo swapoff 设备
五、Ubuntu硬盘对文件系统进行扫描
各 位朋友对Windows中的scandisk不寞生吧,在Linux中就有类似这样的工具fsck,不过fsck 可不仅仅是扫描,还能修正文件系统的一 些问题。一定要注意的是fsck 扫描文件系统时一定要在修复模式或把设备umount后进行,否则会有重大的问题发生。
其中fsck 默认支持 文件系统ext2,如果想支持ext3文件系统的扫描,应该加-j 参数,最好是我们应该根据不同的文件系统来调用不同的扫描工具,比 如 fsck.ext2,fsck.jfs,fsck.msdos,fsck.ext3,fsck.reiserfs。对于fsck.ext2和 fsck.ext3有几个常用参数,如下:代码:
- -p 自动修复文件系统存在的问题;
- -y 如果文件系统有问题,会跳出提示是否修复,如果修复请按y;
- -c 对文件系统进行坏块检查;这是一个极为漫长的过程;
- -n 不对文件系统做任何改变,只要扫描,以检测是否有问题;
那么使用它的方法就是:代码:sudo fsck.ext3 -p /dev/hda6任何对Ubuntu硬盘操作都是有危险的,千万不要随便练手,在可能的情况下尽量使用带有界面的gparted,不到万不得已不要随便 格式化。这是为了你的数据和Ubuntu硬盘寿命着想。