当前位置:Linux教程 - Linux - Linux文件系统管理问答(下)

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 来自:赛迪网