WenCoo 2011-07-03
在向大家详细介绍Ubuntu硬盘操作之前,首先让大家了解下Ubuntu硬盘操作,然后全面介绍Ubuntu硬盘操作,希望对大家有用。Ubuntu硬盘操作参考。
第一部分查看Ubuntu硬盘操作上的状态
Ubuntu硬盘操作上有些什么、文件们都有多大,在有些时候我们是需要关心的,所以这里简单介绍两个命令:df、du。
df:df用来检查文件系统的磁盘空间占用情况。可以利用该命令来获取Ubuntu硬盘操作被占用了多少空间,目前还剩下多少空间等信息。df的参数有:
代码:
-a显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统。
-k以k字节为单位显示。
-i显示i节点信息,而不是磁盘块。
-t显示各指定类型的文件系统的磁盘空间使用情况。
-x列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反)。
-T显示文件系统类型。
对df命令进行详解:
引用:
dongmh@home:~$df
Filesystem1K-块已用可用已用%挂载点
/dev/sda12384237624242434047647%/
这个就是最基本用法,你可能觉得奇怪已用和可用加在一起不等于前面的块的总值,这是因为默认状况下,有留给root的专门用于维护管理的保留空间,不用在意。其他的用法无非是加上不同的参数显示不同的信息,不再反复说明。
du:du用于统计目录或文件所占磁盘空间的大小。它的参数如下:
代码:
-s对每个Names参数只给出占用的数据块总数。
-a递归地显示指定目录中各文件及子孙目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。
-b以字节为单位列出磁盘空间使用情况(系统缺省以k字节为单位)。
-k以1024字节为单位列出磁盘空间使用情况。
-c最后再加上一个总计(系统缺省设置)。
-l计算所有的文件大小,对硬链接文件,则计算多次。
-x跳过在不同文件系统上的目录不予统计。
这个命令也如同df一样简单,因为特殊缘故所以不举例,大家可以自己试下,很刷屏的。
第二部分分区
在一个有win的电脑上,分区无疑是一件很简单的事。使用分区魔术师,对硬盘可以进行分区、合并、调整大小,所以大多数和我一样电脑上先有win的朋友在分区方面一定不用愁,整理下数据,空出几个分区,然后在ubuntu安装的时候就可以利用安装程序分好区,以后就没有什么可担忧的了,但是某些朋友因为某些需要,必须利用linux操作系统进行分区,那么以下的内容也许能有点价值。
首先谈谈基础知识,一个硬盘可以划分4个区,3个主要分区,一个扩展分区,而扩展分区里可以划分n个逻辑分区,扩展分区本身不能储存任何东西,也不能格式化成某种文件系统,只能用于区分逻辑分区。
我们主要应用的命令有三个:fdisk、cfdisk、gparted。其中前两个命令在breezy中已经安装好了,如果你需要gparted的话是需要另外安装的,我们的源里有,安装方法:
代码:
sudoapt-getinstallgparted
这三个软件的不同之处主要在于直观性、易用性,fdisk可以说最难用,而cfdisk有了字符的界面,gparted则有了基于gnome的更漂亮的界面,从功能的角度上来说三个软件都差不多,但是有时不得不使用fdisk,这里我对三个软件的使用进行一定的说明:
fdisk:
代码:
sudofdisk-l
会列出所有Ubuntu硬盘操作之实体使用情况。
代码:
sudofdisk-l/dev/hda
会列出第一快IDE硬盘的使用情况,响应的来讲可以换用/dev/sda等等。
代码:
sudofdisk/dev/hda
进入硬盘分区模式,进入这个模式后所有操作不会立刻生效,只会在得到确认的命令后才会起作用。
代码:
m显示所有命令提示。
p现实硬盘分区情况。
a设定硬盘起动区。
n设定新的硬盘分区。
l列出所有文件系统类型。
e在输入n的情况下才能用,指增加一个扩展分区。
p在输入n的情况下才能用,指增加一个主要分区。
l在输入n的情况下才能用,指增加一个逻辑分区。
t改变硬盘分区属性。
d删除硬盘分区。
q结束但不对硬盘进行修改。
w结束而且对硬盘进行修改。
现在对fdisk的结果进行详解,以下是在我的电脑上运行的例子:
引用:
dongmh@home:~$sudofdisk-l/dev/hda
Disk/dev/hda:60.0GB,60022480896bytes
255heads,63sectors/track,7297cylinders
Units=cylindersof16065*512=8225280bytes
DeviceBootStartEndBlocksIdSystem
/dev/hda1*1127610249438+7HPFS/NTFS
/dev/hda21277729748363682+fW95Ext'd(LBA)
/dev/hda512772551102414067HPFS/NTFS
/dev/hda62552383510313698+7HPFS/NTFS
/dev/hda738363957979933+82Linuxswap/Solaris
/dev/hda8395842612441848+83Linux
/dev/hda9426248694883728+83Linux
/dev/hda104870729719502878+83Linux
上面的提示表示,我的硬盘有60G,255个磁面,63个扇区,7297个磁柱;每个磁柱容量是8225280Byte大约是8225KB或者8MB。
DeviceBootStartEndBlocksIdSystem
分区序列引导开始终止容量分区类型ID分区类型
引导表示引导分区,在上面的例子中hda1是引导分区;
开始表示的一个分区从Xcylinder(磁柱)开始;
结束表示一个分区到Ycylinder(磁柱)结束;
然后进入分区模式:
引用:
dongmh@home:~$sudofdisk/dev/hda
Thenumberofcylindersforthisdiskissetto7297.
Thereisnothingwrongwiththat,butthisislargerthan1024,
andcouldincertainsetupscauseproblemswith:
1)softwarethatrunsatboottime(e.g.,oldversionsofLILO)
2)bootingandpartitioningsoftwarefromotherOSs
(e.g.,DOSFDISK,OS/2FDISK)
Command(mforhelp):
上面的提示大概的意思就是我的硬盘大于1024个磁柱所以呢,老板本的lilo会不买我的帐,可以不用在意。
我们先尝试命令d
引用:
Command(mforhelp):d
Partitionnumber(1-10):
它问你要删除哪个分区,一定要注意,如果删了扩展分区,那么所有逻辑分区一块跟着挂,一定要小心。
我输入7,再输入p就可以看到自己的硬盘分区少了一个。
接下来我添加一个逻辑分区:
引用:
Command(mforhelp):n
Commandaction
llogical(5orover)
pprimarypartition(1-4)
l
Firstcylinder(3836-7297,default3836):3836
Lastcylinderor+sizeor+sizeMor+sizeK(3836-3957,default3957):3957
这里的两个问题是,开始的磁柱是哪个,结束的磁柱是哪个。在结束的磁柱处可以用+sizeM+sizeK来输入。
然后是对分区类型的改变,我输入t:
引用:
Command(mforhelp):t
Partitionnumber(1-10):7
Hexcode(typeLtolistcodes):L
输入L可以看到所有磁盘的文件类型列列表,然后再从输入相应的文件系统ID就可以对分区文件系统进行更改了。
最后如果需要保存就输入w,不许要则输入q,这样分区修改就算结束了。
cfdisk、gparted:
cfdisk有非常直观的界面,而gparted甚至是中文的,所以这里我就不再多作介绍。
第三部分格式化
分完区还不算完事,格式化后才能正常使用,这里介绍下linux的格式化命令:
代码:
sudomkfs-t文件系统存储设备
格式化就是这么简单,或者也可一这样输入命令:
代码:
sudomkfs.ext3/dev/sda6把该设备格式化成ext3文件系统。
sudomke2fs-j/dev/sda6把该设备格式化成ext3文件系统。
sudomkfs.ext2/dev/sda6把该设备格式化成ext2文件系统。
sudomke2fs/dev/sda6把该设备格式化成ext2文件系统。
sudomkfs.reiserfs/dev/sda6把该设备格式化成reiserfs文件系统。
sudomkfs.vfat/dev/sda6把该设备格式化成fat32文件系统。
sudomkfs.msdos/dev/sda6把该设备格式化成fat16文件系统,msdos文件系统就是fat16。
sudomkdosfs/dev/sda6把该设备格式化成fat16文件系统,同mkfs.msdos
sudomkswap/dev/sda6把该设备格式化成swap文件系统。
这样分好区,并且格式化结束,就可以进行挂载了。
第四部分挂载文件系统
挂载文件系统有两个方法,一种是利用mount命令,另外一种是修改/etc/fstab,因为修改/etc/fstab并不方便,所以我只介绍mount。mount命令的用法如下:
代码:
sudomount[-t文件系统][-o选项]设备目录
使用这个命令前需要先生成一个用于被挂的目录,创建了这样的目录后有个细节问题就是更改这个目录的权限,最起码要你可读写,这样才能使你挂载的Ubuntu硬盘操作可读写,当然ntfs的硬盘除外。
代码:
chmod777目录
而挂载时,也有可以省事的地方,比如说你不知道你的分区是什么文件类型你可以:
代码:
sudomount-tauto设备目录
或者也可以:
代码:
sudomount设备目录
顺便说下swap分区,一般不这样挂载,而采用加载命令进行加载:
代码:
sudoswapon设备
相应的也就产生了:
代码:
sudoswapoff设备
第五部分对文件系统进行扫描
各位朋友对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不对文件系统做任何改变,只要扫描,以检测是否有问题;
那么使用它的方法就是:
代码:
sudofsck.ext3-p/dev/hda6
第六部分结语
任何对Ubuntu硬盘操作都是有危险的,千万不要随便练手,在可能的情况下尽量使用带有界面的gparted,不到万不得已不要随便格式化。这是为了你的数据和硬盘寿命着想。