全国业务电话:
4.1 文件系统基础和相关操作
  对于任何一个成熟的操作系统而言,文件系统管理都是一个十分重要的部分。文件系统管理的好坏直接影响到操作系统的性能和安全。
 
4.1 文件系统基础和相关操作
 
  文件系统是操作系统在硬盘或者分区上保存文件信息的方法和数据结构,也就是文件在硬盘或分区上的组织方式。CGSL 系统的一个重要特征之一就是支持多种文件系统,更为灵活并可以和许多其他种类的操作系统交换数据,其中最常用的是以下几种:
 
  1、XFS:XFS 是 CGSL V5 默认文件系统并在所有架构中支持。XFS 是一个具有非常高性能且可扩展的文件系统,同时在大多数要求的应用程序中都会进行常规部署。XFS提供了一种健壮的、优秀的以及功能丰富的文件系统,它具有的可伸缩性能够满足最苛刻的存储需求。
 
  2、ext4: ext3 的升级版本,ext4 对 ext3 做了很多深层次的改进,设计更合理、性能更好、更可靠,同时还引入了一些新功能。
 
  3、ext3:ext2 的升级版本,其主要优点是在 ext2 的基础上加入了记录数据的日志功能。
 
  4、ext2:支持标准 Unix 文件类型,可用于多种存储介质,向上兼容性好。
 
  5、vfat:Windows 9x/2000 及 NT 操作系统使用的扩展 DOS 文件系统,提供了对长文件名的支持。
 
  6、Btrfs :Btrfs 是下一代 Linux 文件系统,可提供高级管理、可靠性和可扩展性功能。Btrfs 为文件和元数据提供 checksum 确认。它还提供快照和压缩功能以及整合的设备管理。
 
  7、NFS:允许在多台计算机之间共享文件系统的网络文件系统。

  8、iso9660:标准的 CD-ROM 文件系统。
 
4.1.1 建立文件系统
 
  一个分区或磁盘在作为文件系统被使用之前,先要初始化将记录数据的结构写入磁盘,这个过程叫做建立文件系统。
 
  命令 mkfs 用于创建文件系统。用 mkfs 命令可以在任何指定的块设备上建立不同类型的文件系统。mkfs 命令的语法格式如下:
 
    #mkfs [-V] [-t fstype] [fs-options] device [size]  
 
  mkfs 命令中各项参数的意义如下:
 
  -V:强迫产生长格式输出;
 
  -t fstype:选择文件系统的类型;
 
  fs-option:将要建立的文件系统选项,它可以是以下的选项:
 
  device:将创建文件系统所在设备的设备号;
 
  size:文件系统的大小:
 
  例如:要在硬盘上创建一个 ext4 的文件系统,用以下命令:
 
    #mkfs -t xfs /dev/sdb1  
 
4.1.2 挂载文件系统
 
  成功地建立了文件系统后,还需要将文件系统挂载或称安装(mount)到 Linux 目录树的某个位置才能使用。文件系统所连接到的目录被称为挂载点或安装点。对于系统硬件设备,Linux 并不使用设备号或驱动器来访问,而是将他们对应为/dev 目录下的一个(也可能是多个)文件。
 
  文件系统的挂载,可以在系统引导过程中自动挂载,也可以使用命令手工挂载。
 
  加载文件系统的命令为 mount ,该命令的语法格式如下:
 
    #mount [-fnrsvw] [-t vfstype] [-o options] device | dir  
 
  其中:device 代表文件系统的存储设备;dir代表文件系统将要被放置在目录系统中的位置,即挂载点。
 
  mount 命令常用如下几个选项:
 
  -a:加载符合要求的所有文件系统,如果不加其他参数,将加载/etc/fstab 文件中列出的所有文件系统。
 
  -o:用于确定文件系统的读/写限制,ro(只读)、rw(读写)等。
 
  -f:完成操作步骤,并不真正安装文件系统。
 
  例如:把/dev/sda8 上类型为 xfs 的文件系统挂载到目录/mnt/tmp 下,并使之按只读方式被安装。
 
    #mount -t xfs -o ro /dev/sda8 /mnt/tmp  
 
♣  提示:文件系统的加载位置必须是系统中已存在的目录,否则,需要在挂载前创建这个目录。
 
4.1.3 卸载文件系统
 
  除了根文件系统之外,其他文件系统都是可以拆卸的。卸载文件系统的命令是 umount , 其格式如下:
 
    #umount [-dflnrv] dir | device […]  
 
  该命令使用设备名或挂载点为参数,用于卸载与设备名或是挂载点对应的文件系统。
 
  例如,需要卸载已挂载在/mnt 目录的/dev/sdb1 文件系统,可使用以下命令:
 
    #umount /dev/sdb1  
 
  或者:
 
    #umount /mnt  
 
  警告:不能卸载当前正在使用的文件系统,这样系统会报错,正确的方法是完全退出挂载点所在目录后再执行卸载命令。
 
4.1.4 用 fstab 文件配置文件系统
 
  一般来说,用户经常使用的文件系统是比较固定的,如果每次使用时都进行挂载是很麻烦的,而且有时候需要一次安装很多的文件系统,可以考虑定义一个在系统引导时自动安装文件系统的方法。
 
  Linux 中使用/etc/fstab 文件能够完成这一功能,fstab 文件中列出了引导时需安装的文件系统的类型、挂载点及可选参数。fstab 文件是一个文本文件,可以方便地通过编辑工具进行修改。
 
  警告:请在安装前备份原来的/etc/fstab 文件,以防修改出错导致下次系统引导时文件系统不能正确加载。
 
  以下给出一个实际的/etc/fstab 文件(您的系统不一定与之相同):
 

图 4-1 /etc/fstab 文件
 
  /etc/fstab 文件也称为文件系统安装表,它的每一行代表一个需要安装的文件系统,其格式如下:
 
    device mountpoint fstype options dump passno  
 
  其中:
 
  device:指定要加载的文件系统设备
 
  mountpoint:指定文件系统的加载点
 
  fstype:指定安装文件系统的类型
 
  options:使用逗号隔开的安装参数列表
 
  dump:确定文件系统两次备份之间的时间
 
  passno:指定系统引导时检查文件系统的顺序,根文件系统为 1,其余值为 2,如果没有指定,表示引导时文件系统不被检查。

4.1.5 检查和修复文件系统
 
  文件系统是系统数据和资源的存储位置,所以应定期检查文件系统以发现损坏的文件并及时加以修补。
 
  对文件系统进行检查可以通过使用 fsck 工具来完成,该命令的格式为:
 
    #fsck [options] filesystem  
 
  fsck 的 -ap 选项是最常用的参数组合,能满足大部分情况下的修复需求,且修复后不会丢失数据,
 
  例如,要对/dev/sda1 进行文件系统的扫描和修复,常使用以下命令(该命令修复不会丢失数据):
 
    #fsck -ap /dev/sda1  
 
  当上述命令修复失败时,可以使用如下命令进行强制修复,此命令可能会丢失数据,请考虑后执行。
 
    #fsck -y /dev/sda1  
 
  警告:用 fsck 检查文件系统时,必须先卸载该文件系统,否则可能导致不可修复的文件系统损坏。
 
4.1.6 常用文件系统管理命令
 
df 命令
 
  使用 df 命令可以检查文件系统的磁盘空间占用情况,提供所有映射文件系统的空闲空间信息,其命令的语法格式为:
 
    #df [OPTION]… [FILE]…  
 
  该工具默认以 KB 为单位显示已用的和可用的磁盘空间,查看以 MB 和 GB 为单位的信息,使用 df -h 命令。
 
du 命令
 
  使用 du 命令可以显示被目录占用的空间的信息,此命令可以进入被统计目录的子目录中,并显示出子目录的统计信息,常用的选项如下:
 
  -a:同时显示出目录和文件的磁盘使用情况;

  -s:只显示磁盘的总体使用情况;
 
  使用不加目录名的 du 命令将会显示出当前目录下的所有信息。
 
4.1.7 使用设备
 
  在 CGSL 中,可以方便地使用各种驱动器、文件系统和网络设备,包括 Linux 分区、MS DOS 和 Windows 分区、USB 存储设备以及 CD-ROM 文件系统。
 
使用 CD-ROM
 
  将光盘放入光盘驱动器中,在 Shell 提示符下键入以下命令:
 
    #mount /dev/cdrom /mnt/cdrom  
 
  它通知操作系统自动探测文件系统并安装它,被安装的设备为/dev/cdrom,安装点为/mnt/cdrom。如果命令生效,光盘中的内容将出现在目录/mnt/cdrom 下。
 
  如果安装命令失败,首先要确认/dev/cdrom 设备存在。如果使用的是 IDE CD-ROM,对应设备文件名可能是/dev/hdb、/dev/hdc 等;如果使用 SCSI CD-ROM,对应设备文件名可能为/dev/sda,/dev/sdb…
 
  假设/dev/cdrom 不存在,而 CD-ROM 设备文件名为/dev/hdb,可以使用如下命令创建一个到/dev/cdrom 的符号链接。
 
    #ln -s /dev/hdb /dev/cdrom  
 
  如果系统提示“设备已经安装(mounted)或目录忙”,可能是由于当前目录是加载点/mnt/cdrom 造成的,必须切换到其它目录才能进行。
 
  执行完对光盘的操作后,在 Shell 提示符下键入以下命令卸载它。
 
    #umount /mnt/cdrom  
 
关于 mtools 工具
 
  安装了系统中提供的 mtools 工具后,就可以使用 m 系列命令实现对 DOS/Windows 格式软盘的快速访问了。这一系列命令包括:
 
表 4-1 mtools 命令


  • 操作系统微信公众号

  • CPI微信公众号

© 2004-2020 广东中兴新支点技术有限公司  版权所有  (www.gd-linux.com)  粤ICP备15061780号-2

新支点OS业务:

QQ客服