Linux文件系统管理问答(下)
Linux文件系统管理问答(下)
周迪
Q:怎样得到当前已装载的文件系统的有关信息?
A:不带任何参数的Mount命令将给出系统当前已装载的文件系统的信息,包含了文件系统类型、装载点、读写模式等内容。
# mount
/dev/hda1 on/type ext2(rw)
none on/proc type proc(rw)
/dev/hda6 on/mnt/wind type vfat(rw)
/dev/fd0 on/mnt/floppy type vfat(rw)
df(Disk Free)命令将给出当前已装载文件系统使用情况的信息。
# df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/hda1 972M 869M 53M 94%/
/dev/fd0 1.4M 2.0K 1.4M 0%/mnt/ floppy
/dev/hda6 1002M 712M 290M 71%/mnt/ wind
其中-h参数表示用直观的、符合人们常用习惯的方式表达文件系统信息。另外,细心的人可能已注意到在根文件系统/dev/hda1上已使用空间(Used)与可分配空间(Avail)之和小于整体空间(Size): 869MB+53MB=922M<972MB,而(972MB-922MB)/972MB×100%=5.4%,其实这5%的系统空间是系统特意给Root账户保留的,这样如果文件系统满了,还可能无须删除任何东西做系统管理。
du(Disk Usage)命令显示一个目录和其内所有文件使用了多少磁盘空间。
# du -h /home/ftp
308KB ftp/bin
16KB ftp/etc
974KB ftp/lib
1.3MB ftp/pub
2.6MB ftp
其余还有dumpe2fs显示一个EXT2文件系统的信息。
# dumpe2fs /dev/hda1
这条命令给出了完整的/dev/hda1上EXT2文件系统的信息,限于篇幅,不作介绍。
Q:删除了EXT2文件系统上的文件,还可以恢复它吗?
A:有一些办法可恢复文件,但不是100%可行。建议用rm -i命令在删除任何一个文件之前提示用户。
Q:如何检查EXT2文件系统?
A:先用Umount命令卸下该EXT2文件系统,然后用fsck命令检查。如:fsck -t ext2 /dev/hda2。
但是,很显然,无法将根文件系统卸下后再检查。检查根文件系统的方法是:
a.用软盘启动,使用软盘上的根文件系统,不装载硬盘根文件系统,然后用软盘上的fsck检查。
b.在LILO引导提示符后使用ro参数,将根文件系统装载为只读方式,并使用single参数将系统引导为单用户模式。例如:LILO: linux single ro。
待系统启动后用fsck命令检查根文件系统,检查完毕重新启动计算机。
Q:如何在硬盘或软盘上建立文件系统?
A:先用Fdisk工具给硬盘分区。对于软盘最好做一次格式化,以3.5英寸高密盘为例:Fdformat/dev/fd0H1440
最后选择文件系统类型,建立文件系统,如:
mkfs -t ext2/dev/hda2(在硬盘第二个主分区上建立EXT2文件系统)
mkfs -t msdos/dev/fd0(在软盘上建立MSDOS文件系统)
Q:怎样检查磁盘物理错误?
A:Linux系统有一个工具程序BadBlocks可以检查磁盘坏块。如下两条命令检查硬盘分区/dev/hda2的物理错误,然后使用fsck命令将其记录在文件系统数据结构中,使操作系统存储数据时不使用这些坏块。
BadBlocks/dev/hda2>bad-blocks.txt
fsck -t ext2 -l bad-blocks.txt/dev/ hda2
另外,在磁盘上建立文件系统时最好使用-c参数检查一下磁盘坏块,它可达到如上两条命令同样的效果。如:mkfs -t ext2 -c/dev /hda2。
Q:EXT2文件系统有碎片整理工具吗?
A:RedHat Linux 5.1 中有一个磁盘碎片整理工具Defrag,但RedHat Linux 6.1以后不知为什么没了,可到ftp://ftp.redhat.com/pub/contrib/libc6/i386/defrag-0.73-5.i386.rpm下载。由于涉及到磁盘块的操作,虽然Defrag是安全的,但每次使用Defrag之前最好对某些重要文件作一次备份,以免在整理过程中出现不可预料的错误而带来损失。需要注意的是,基于LILO的多系统引导程序在整理之后也可能出错,这时只要运行LILO命令将其复写一次即可。
Q:系统每隔几天或重新启动几次之后就要完整地检查一次文件系统,费时费力,而我每次都是正常关机的,能使它们间隔时间长一点吗?
A:为了保证文件系统的完整,系统每隔几天或重新启动几次之后就要完整地检查一次,这对于工作站及服务器确实很有必要。但对于个人及家用系统,可以用Tune2fs工具作一些调整。假设根文件系统在/dev/hda1上,如调整每2次完整地检查根文件系统的装载次数为100次:
# tune2fs -c 100 /dev/hda1
tune2fs 1.10, 24-Apr-97 for EXT2 FS 0.5b, 95/08/09
Setting maximal mount count to 100
调整每2次完整地检查根文件系统的时间间隔为5周:
# tune2fs -i 5w /dev/hda1
tune2fs 1.10, 24-Apr-97 for EXT2 FS 0.5b, 95/08/09
Setting interval between check 3024000 seconds
另外,系统保留空间也可用tune2fs调整,如调整根文件系统保留空间为40000个磁盘块:
# tune2fs -r 40000 /dev/hda1
tune2fs 1.10, 24-Apr-97 for EXT2 FS 0.5b, 95/08/09
Setting reserved blocks count to 40000
Q:还有其它EXT2文件系统工具吗?
A:还有Debugfs 是一个文件系统调试器。它允许直接存取磁盘上的文件系统数据结构,可用于修复fsck 不能自动修复的磁盘。它也可用于恢复被删除的文件。但是,Debugfs要求你非常理解你所干的事,错误的理解和操作将破坏你的所有数据!
Dump和Restore可用于备份一个EXT2文件系统,它们是传统UNIX备份工具的EXT2版。
发布人:gemini 来自:赛迪网