一,查看磁盘状态
这里简单介绍两个命令:
df
、
du
。
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
硬盘寿命着想。