《Linux操作系统第6章文件系统管理课件.pptx》由会员分享,可在线阅读,更多相关《Linux操作系统第6章文件系统管理课件.pptx(99页珍藏版)》请在三一办公上搜索。
1、第6章 文件系统管理,6.1 文件系统基础 6.2 创建文件系统 6.3 文件系统的安装和卸载 6.4 文件系统的维护 习题,第6章 文件系统管理 6.1 文件系统基础,6.1 文件系统基础,6.1.1 磁盘的分区 Linux系统使用各种存储介质来保存永久的数据,例如:硬盘、软盘、光盘、磁带等。其中硬盘是不可缺少的介质,硬盘有容量大、速度快、价格低的特点。我们常常对硬盘进行分区,使得每个分区在逻辑上是独立的。这样我们就可以在每个分区安装一个操作系统,而多个操作系统就可以共处在同一个硬盘上。软盘的容量小,不进行分区;光盘则作为一个大盘更易于使用,也不进行分区。,6.1 文件系统基础 6.1.1
2、磁盘的分区,硬盘分区的信息保存在硬盘的第一个扇区(即第一面第一磁道第一扇区),这个扇区称为MBR(主引导记录),主引导记录包含有一段小程序。计算机启动时BIOS会执行这一段小程序,小程序又会读入分区表,检查哪个分区是活动分区(也叫启动分区),并读入活动分区的第一扇区(称为分区的启动扇区)。启动扇区也包含另一个程序,这个程序实际上是操作系统的一部分。它将负责操作系统的启动。,硬盘分区的信息保存在硬盘的第一个扇区,一个硬盘的分区最多只能有四个基本分区。有些时候这个数量太少了,于是人们就发明了扩展分区。扩展分区是在基本分区的基础上把分区再细分成多个子分区,每个子分区都是逻辑分区。一般情况下,只能允许
3、存在一个扩展分区,即磁盘可以有三个基本分区和一个扩展分区。硬盘的分区结构如图6-1所示,硬盘的分区信息可以使用命令“fdisk -l”获得。,一个硬盘的分区最多只能有四个基本分区。有些时候这个数量太少了,图6-1 硬盘分区结构,图6-1 硬盘分区结构,【实例6.1】root redflag /root#fdisk -l /dev/hdaDisk /dev/hda: 255 heads, 63 sectors, 2482 cylindersUnits = cylinders of 16065 * 512 bytes,【实例6.1】,Device Boot Start End Blocks IdS
4、ystem/dev/hda1 * 1 383 307641683 Linux/dev/hda2 384 447 514080 82 Linux swap/dev/hda3 448 454 56227+ 83 Linux/dev/hda4 455 467 104422+82 Linux swap,Device Boot Start End,以上输出中带“*”号的是启动分区。我们随后将详细介绍fdisk命令的使用。 Linux对硬盘分区的命名和DOS对硬盘分区的命名有很大的不同。在DOS下软盘为“A:”、“B:”,而硬盘为“C:”、“D:”,等等。Linux则使用/dev/hda0等来命名它们。以
5、/dev/hd开头的表示IDE接口的硬盘,以/dev/sd开头的表示SCSI接口的硬盘,随后的abcd等代表第几个硬盘,而数字1、2、3、4代表硬盘的第几个分区。例如,/dev/hda1表示第一个IDE硬盘的第一个分区。表6-1列举了常用的分区命名方法。,以上输出中带“*”号的是启动分区。我们随后,表6-1 分区的命名,表6-1 分区的命名设 备分区的命名软盘/d,第二个IDE硬盘第二个分区/dev/hdb2第一个S,6.1.2 什么是文件系统 文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构,即在磁盘上组织文件的方法。分区或磁盘在作为文件系统使用前需要初始化,并将记录数据结构写到
6、磁盘上,这个过程叫建立文件系统。我们在DOS下常常进行的格式化磁盘进程也是一个建立文件系统的过程。不同的操作系统所支持的文件系统是不同的,一个文件系统在一个操作系统下可以正常地被使用,转移到另一操作系统时往往会出问题。,6.1.2 什么是文件系统,Linux支持多种类型的文件系统。而红旗Linux3.0版又增加了几种新类型的文件系统。下面是几个重要的文件系统: minix:最早的Minix系统的文件系统。 ext2:Linux系统的文件系统,目前是使用最广泛的文件系统。 swap:用于交换分区和交换文件的文件系统。 sysv:Unix里广泛使用的SystemV。 iso9660:标准的CD-R
7、OM的文件系统。,Linux支持多种类型的文件系统。而红旗L,vfat:扩展的DOS文件系统,支持长文件名,被Windows98采用。msdos:与MS-DOS/FAT 16兼容的文件系统。hpfs:OS/2文件系统。nfs:网络文件系统,允许多台计算机间共享的文件系统。ntfs:用于Windows NT和Windows 2000的文件系统。reiserfs:安全性和效能比ext2都好的文件系统。ext3:ext2的后续者,红旗Linux3.0版(Linux内核2.4.17)已经把它加入。smb:支持SMB协议的高性能文件系统。,vfat:扩展的DOS文件系统,支持长文件名,被Window,一
8、般情况下没有理由用不同类型的文件系统来组成Linux系统,除非原有的文件系统已经存在。由于历史的原因,当前ext2的使用最为广泛,而reiserfs是红旗Linux3.0安装时默认的文件系统类型,ext3是当前最新的文件系统类型。ext2比起以往的文件系统在文件性能方面有很大的提高,但也存在不少的问题,例如,文件系统在异常关机等情况下容易遭到破坏,使用“fsck”命令检查文件系统要检查整个文件系统,对于较大的文件系统,常常需花费几个小时的检查时间。,一般情况下没有理由用不同类型的文件系,为了解决这个问题,出现日志型文件系统,如reiserfs和ext3。日志型文件系统比传统的文件系统安全,因为
9、它用独立的日志文件跟踪磁盘内容的变化。就像关系型数据库(RDBMS),日志文件系统可以用事务处理的方式提交或撤消文件系统的变化。日志机制保证了在每个实际数据修改之前,相应的日志已经写入硬盘。正因为如此,在系统突然崩溃时,在下次启动几秒钟后就能恢复成一个完整的系统,系统也就能很快地使用了。,为了解决这个问题,出现日志型文件系统,如reiser,reiserfs除了具有日志型文件系统的特性,还具有适合处理大量小文件(如5000个50字节的文件)和特大文件(例如2GB以上)的特点。ext3则是ext2的后续者,它也是日志型文件系统,更为难得的是,它的磁盘格式和ext2的相同,ext2和ext3的转换
10、相当的容易,对于ext2的升级十分有利。没有一种文件系统适合所有的应用,因此我们要选择适合自己的文件系统。对于新安装的系统,我们建议采用reiserfs或ext3。,reiserfs除了具有日志型文件系统的特性,还具有适合处理,Linux采用虚拟文件系统(VFS)技术,因此Linux可以支持多种文件。每一文件系统都提供一个公共的接口给VFS,不同文件系统的所有细节由软件进行转换。而从Linux内核和Linux运行的程序来看,不同的文件系统之间没有差别。例如,用户可以把自己原有的Windows分区挂接到Linux中的一个目录下,也可以同时把NFS(网络文件系统)挂接在另一目录,它们可以和平地融合
11、为一体。,Linux采用虚拟文件系统(VFS)技术,,文件系统是所有数据的基础,所有文件和目录都驻留在文件系统上。在Linux系统中,所有的文件系统都被连接到一个总的目录上,这个目录就叫根目录,是由系统自动建立的。根目录下有许多分支,分支又有子分支,从而整个目录呈树状结构,如图6-2所示。,文件系统是所有数据的基础,所有文件和目录都,图6-2 树状的目录结构,图6-2 树状的目录结构,文件系统连接目录树上的一点,这个点就叫安装点。图6-2中的每个虚框就是一个文件系统,所有不在虚框的部分也是一个文件系统,一共有四个文件系统。就这样,不同的文件系统形成了一个无缝的整体。,文件系统连接目录树上的一点
12、,这个点就叫安装,6.1.3 文件 文件是有名字的一组相关信息的集合,它有多种的分类方法,如根据文件的用途我们把文件分为以下四种。 (1) 普通文件。文件可以是千差万别的,如普通的Word文件、图像文件、声音文件、网页HTML文件,也可以是脚本文件、程序员编写的可执行文件。我们可进一步把文件分类为文本文件和二进制文件。,6.1.3 文件,文本文件即ASCII码文件,可以使用cat、more等命令查看,Linux系统的多种配置文件、源程序、HTML文件都属于此类。二进制文件,一般不能被直接查看,而必须使用相应的软件才行,如图像文件、声音文件、可执行文件都属于此类。 (2) 目录文件。Linux中
13、把目录也看成文件,这是和DOS/Windows不太相同的地方。目录可以包含下一级目录和普通文件。 (3) 链接文件。我们在第2章已经介绍了链接,有软链接和硬链接之分。链接的一个好处是不占用过多的磁盘空间。,文本文件即ASCII码文件,可以使用cat、more等命令查,(4) 设备文件。Linux中把系统中的设备也当成文件,用户可以像访问普通文件一样来访问系统中的设备,并且所有设备文件都放在/dev目录下。设备文件可以分为块设备和字符设备两类。例如,打印机是字符设备,磁盘是块设备。把设备当成文件的好处是使得Linux系统能够保证设备的独立性。计算机外设不断更新,但是操作系统不可能为了刚出现的设备
14、文件而经常修改。当需要增加新的设备时,只需要在内核添加必要的设备驱动程序就可以了。这样一来,使用不同外设时内核就可以用完全一样的方式来进行处理。,(4) 设备文件。Linux中把系统中的设,设备文件中有一特殊的文件是/dev/null,称为空设备。它是一个类似“黑洞”的设备,所有放入该设备的东西将不复存在,例如: root redflag /root#mv test.zip /dev/null 该命令执行的结果是test.zip文件永远被删除了。,设备文件中有一特殊的文件是/dev/null,还有一种很特殊的文件是管道文件,它主要用于在进程间传递信息,是一个先进先出(FIFO)的缓冲区,管道文
15、件类似我们日常生活中的管道,一端进入的是某个进程的输出,另一端输出的是另一个进程的输入。例如: root redflag /root#cat /etc/passwd | more 该命令使用了管道“|”,命令cat /etc/passwd的输出是管道的输入,经过管道后,成为了命令more的输入。,还有一种很特殊的文件是管道文件,它主要用于,使用命令“ls l”可以显示文件的类别,每个输出行中的第一个字符表示的就是文件的类别,例如,“b”代表块设备,“p”代表管道文件,“c”代表字符设备,“d”代表目录文件。,使用命令“ls l”可以显示文件的类别,每,6.1.4 Linux系统的目录结构 Li
16、nux系统中,目录是一个层次(或树状结构),根是所有 目录的起始点,根目录下主要有以下子目录。 /bin:包含二进制文件,即可执行程序,这些程序是系统必需的文件。 /sbin:也用于存储二进制文件,但不同的是它们不给普通用户使用,只有超级用户root可以使用。,6.1.4 Linux系统的目录结构,/etc:用于存放Linux系统的配置文件,该目录的文件相当重要,例如:passwd、host、fstab、inittab等等,我们将在不同的章节使用到这个目录下的文件。 /boot:Linux系统引导时加载器使用的文件,系统中非常重要的内核vmlinux就是放在该目录下。 /dev:存放设备文件,
17、用户可以通过这些文件访问外部设备。 /lib:存放根文件系统中的程序运行所需要的库文件。,/etc:用于存放Linux系统的配置文件,/temp:存放各种临时文件。 /mnt:管理员临时安装文件系统的安装点,下面有几个意义明确的子目录,如软盘、光驱等。如下:drwxrwxr-x 2 root root 48 10月 9 1998 cdromdrwxrwxr-x 2 root root 48 2月 6 1996 floppy,/temp:存放各种临时文件。,/root:超级用户的个人主目录。/usr:该目录占用的空间一般比较大,用于安装各种应用程序。/proc:是一个虚拟的目录,存放当前内存的映
18、像,该文件系统由内核自动产生。/var:存放一些会随时改变的文件。例如,spool目录、其他的暂存文件。/opt:是放置额外安装的应用程序包的地方。,/root:超级用户的个人主目录。,6.2 创建文件系统,要在硬盘创建文件系统,首先要进行硬盘分区。硬盘分区有很多的工具,如:Fdisk、Cfdisk等,用得最多的还是Fdisk。,6.2 创建文件系统 要在硬盘创建文件系统,6.2.1 Fdisk的使用 1. fdisk -l显示所有分区的信息 【实例6.2】Disk /dev/hda: 255 heads, 63 sectors, 2482 cylindersUnits = cylinders
19、 of 16065 * 512 bytes,6.2.1 Fdisk的使用,Device Boot Start End Blocks IdSystem/dev/hda1 * 1 383 307641683 Linux/dev/hda2 384 447 514080 82 Linux swap/dev/hda3 448 486 313267+ 83 Linux,Device Boot Start End,以上显示了惟一的一个磁盘/dev/hda的参数和分区情况,磁盘有255个磁头,2482个柱面,每柱面63个扇区,第四行起是分区的情况,依次是分区名、是否是启动分区、起始柱面、终止柱面、分区的总块数
20、、分区ID(分区类型的数字值)、分区的类型。如/dev/hda1分区是启动分区(带“*”号),起始柱面是1, ,终止柱面是383,分区大小是3076416块(每块的大小是1024字节,即总共300MB左右的空间)。每柱面的扇区数等于磁头数乘以每柱面扇区数,每两个扇区为一块,因此分区的块数等于分区占用的总柱面数乘以磁头数,再乘以每柱面扇区数后除以二。例如: /dev/hda2的总块数=6425563/2=514080,以上显示了惟一的一个磁盘/dev/,2. fdisk 驱动器名创建磁盘分区【实例6.3】root redflag /root#fdisk /dev/hdaThe number of
21、 cylinders for this disk is set to 2482.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)Comma
22、nd (m for help):m,2. fdisk 驱动器名创建磁盘分区,使用“m”可以获得如下帮助:Command actionatoggle a bootable flagb edit bsd disklabelc toggle the dos compatibility flagd delete a partitionl list known partition typesm print this menun add a new partitiono create a new empty DOS partition tablep print the partition table,使用
23、“m”可以获得如下帮助:,q quit without saving changess create a new empty Sun disklabelt change a partitions system idu change display/entry unitsv verify the partition tablew write table to disk and exitx extra functionality (experts only),q quit without saving changes,其中常用的命令有:a:切换分区的启动标志。d:删除分区。l:显示已知的分区类型。
24、m:显示命令的帮助。n:添加新的分区。p:显示当前硬盘的分区情况。q:退出并且不保存分区的结果。t:改变分区的类型。w:保存分区的结果并退出。,其中常用的命令有:,Command (m for help): l,Command (m for help): l0 Empt,7 HPFS/NTFS 41 PPC PReP Boot,数字是各种的分区类型的ID,典型的有:5表示扩展分区、7表示NTFS分区、b表示Windows 95分区、82表示Linux交换分区、83表示Linux分区。使用“p”命令可以显示当前分区的情况:Command (m for help): pDisk /dev/hda:
25、 255 heads, 63 sectors, 2482 cylindersUnits = cylinders of 16065 * 512 bytes,数字是各种的分区类型的ID,典型的有:5表,Device Boot Start EndBlocksId System/dev/hda1 * 1 383 307641683 Linux/dev/hda2 384 447 51408082 Linux swap/dev/hda3 448 486 313267+ 83 Linux使用“d”命令可以删除分区:Command (m for help): dPartition number (1-4):
26、3,Device Boot Start EndBlo,使用“n”命令可以创建分区:Command (m for help): nCommand actione extendedp primary partition (1-4)创建分区时选择p,则创建的是基本分区,选择e,则创建的是扩展分区,我们选择p。Partition number (1-4): 3输入分区号“3”。,使用“n”命令可以创建分区:,First cylinder (448-2482, default 448):输入分区的起始柱面,不输入时就是缺省值448。Using default value 448Last cylinder
27、 or +size or +sizeM or +sizeK (448-2482, default 2482): +50M输入分区的终止柱面,也可以输入分区的大小,用+50000000表示50000000字节,+50M表示50MB,+50000K表示50000KB。,First cylinder (448-2482, defa,使用“t”命令可以改变分区的类型:Command (m for help): tPartition number (1-4): 3Hex code (type L to list codes): 83Changed system type of partition 3 t
28、o 83 (Linux)红旗Liunx3.0缺省创建的文件系统类型是83(Linux)。,使用“t”命令可以改变分区的类型:,再次使用“p”命令显示分区的情况:Command (m for help): pDisk /dev/hda: 255 heads, 63 sectors, 2482 cylindersUnits = cylinders of 16065 * 512 bytesDevice Boot Start End Blocks Id System/dev/hda1 * 1 383 307641683 Linux/dev/hda2 384447 51408082 Linux swap
29、/dev/hda3 448454 56227+83 Linux,再次使用“p”命令显示分区的情况:,可以看到新的分区/dev/hda3已经创建好了。使用“w”命令保存分区结果并退出,如果不想保存结果,可使用“q”命令。Command (m for help): wThe partition table has been altered!Calling ioctl() to re-read partition table.Re-read table failed with error 16: Device or resource busy.,可以看到新的分区/dev/hda3已经创建好了。,Re
30、boot your system to ensure the partition table is updated.WARNING: If you have created or modified any DOS 6.xpartitions, please see the fdisk manual page for additionalinformation.Syncing disks.硬盘分区后,要重新启动系统。,Reboot your system to ensure t,6.2.2 文件系统的建立 硬盘进行分区后,下一步的工作就是文件系统的建立,这和格式化磁盘类似。在一个分区上建立文件系
31、统会冲掉分区上的所有数据,并且不能恢复,因此建立文件系统前要确认分区上的数据不再使用。建立文件系统的命令是mkfs。mkfs的命令格式如下:,6.2.2 文件系统的建立,mkfs 参数 文件系统参数选项:-t:指定要创建的文件系统类型,缺省是ext2。-c:建立文件系统之前首先要检查坏块。-l file:从文件file中读磁盘坏块列表,该文件一般是由磁盘坏块检查程序产生的。-V:输出建立文件系统详细信息。,mkfs 参数 文件系统,【实例6.4】root redflag /root#mkfs -V -t ext3 -c /dev/hda3mkfs version 2.10s (Aug 30 2
32、001)mkfs.ext3 -c /dev/hda3mke2fs 1.27 (8-Mar-2002)Filesystem label=OS type: LinuxBlock size=1024 (log=0)Fragment size=1024 (log=0),【实例6.4】,14056 inodes, 56227 blocks2811 blocks (5.00%) reserved for the super userFirst data block=17 block groups8192 blocks per group, 8192 fragments per group2008 inod
33、es per groupSuperblock backups stored on blocks:8193, 24577, 40961Checking for bad blocks (read-only test): done,14056 inodes, 56227 blocks,Writing inode tables: doneCreating journal (4096 blocks): doneWriting superblocks and filesystem accounting information: doneThis filesystem will be automatical
34、ly checked every 27 mounts or180 days, whichever comes first. Use tune2fs -c or -i to override.,Writing inode tables: done,以上命令是在磁盘分区/dev/hda3建立ext3类型的文件系统,建立文件系统时检查磁盘坏块,并且显示详细信息。 对于在软盘建立文件系统稍有不同,我们不必对软盘进行分区,而是先直接格式化:root redflag /root#fdformat -n /dev/fd0Double-sided, 80 tracks, 18 sec/track. Total
35、 capacity 1440 kB.Formatting . done,以上命令是在磁盘分区/dev/hda3建立,其次,使用badblocks命令检查软盘上的坏块,把坏块信息保存在文件bad中:root redflag /root#badblocks /dev/fd0 1440 bad再用mkfs命令建立文件系统:root redflag /root#mkfs -t ext2 -l bad /dev/fd0mke2fs 1.27 (8-Mar-2002)Filesystem label=OS type: Linux,其次,使用badblocks命令检查软盘上的坏块,把坏块信息,Block s
36、ize=1024 (log=0)Fragment size=1024 (log=0)184 inodes, 1440 blocks72 blocks (5.00%) reserved for the super userFirst data block=11 block group8192 blocks per group, 8192 fragments per group,Block size=1024 (log=0),184 inodes per groupWriting inode tables: doneWriting superblocks and filesystem accoun
37、ting information: doneThis filesystem will be automatically checked every 26 mounts or180 days, whichever comes first. Use tune2fs -c or -i to override.,184 inodes per group,6.2.3 交换分区 如果在Linux运行时物理内存不够,Linux会把内存的数据先写到磁盘上,当需要数据时再读回到物理内存中,这个过程就叫交换,而用于交换的磁盘空间就叫交换空间。这些技术和Windows的虚拟内存技术类似,但Linux支持两种形式的交
38、换空间:独立的磁盘交换分区和交换文件。,6.2.3 交换分区,独立的磁盘交换分区是专门分出一个磁盘分区用于交换,而交换文件则是创建一个文件用于交换。使用交换分区比使用交换文件效率要高,因为独立的交换分区保证了磁盘块的连续,Linux系统读写数据的速度较快。交换空间的大小一般是物理内存的1.52倍。如果内存是256MB,则交换空间大小为500MB左右较为合适。,独立的磁盘交换分区是专门分出一个磁盘分区用,1. 交换分区的建立和激活 交换分区的建立和其他分区的建立没有太大的差别,惟一不同是用fdisk命令建立分区时要使用“t”命令把分区类型改成82(Linux Swap),如下的/dev/hda4
39、是新建的交换分区。root redflag /root# fdisk -lDisk /dev/hda: 255 heads, 63 sectors, 2482 cylinders,1. 交换分区的建立和激活,Units = cylinders of 16065 * 512 bytes Device Boot Start End Blocks Id System/dev/hda1 * 1 383 3076416 83 Linux/dev/hda2 384 447 514080 82 Linux swap/dev/hda3 448 454 56227+ 83 Linux/dev/hda4 455
40、467 104422+ 82 Linux swap,Units = cylinders of 16065 * 5,Linux系统下可以有多个交换分区。创建好交换分区后,要使用mkswap命令“格式化”分区。root redflag /root#mkswap -c /dev/hda4Setting up swapspace version 1, size = 106921984 bytes最后还要激活交换分区:root redflag /root#swapon /dev/hda4,Linux系统下可以有多个交换分区。创建好交换分区后,要使用,以上命令是手工激活的方法,但交换分区通常是在系统启动时
41、就自动激活,自动激活可以在/etc/fstab文件中配置(见下节介绍)。关闭交换分区的命令为:root redflag /root#swapoff /dev/hda4,以上命令是手工激活的方法,但交换分区通常是在系统启动时就自动,2. 交换文件的建立和激活 交换文件一般用在临时增加交换空间的情形。对交换文件的要求是不能有空洞,即文件要占据一片连续的物理空间。建立交换文件和激活的过程如下:,2. 交换文件的建立和激活,(1) 创建一个指定大小的文件。如下: root redflag /root#dd if=/dev/zero of=/swap bs=1024 count=50000 50000+
42、0 records in 50000+0 records out 以上命令在根目录下创建了一个25MB(等于50000块)的交换文件swap。/dev/zero是一个特殊的设备文件,对它的读操作总是返回零值字节。,(1) 创建一个指定大小的文件。如下:,(2) 创建交换文件并修改文件的权限为600。如下:root redflag /root#mkswap /swapSetting up swapspace version 1, size = 25595904 bytesroot redflag /root#chmod 600 /swap,(2) 创建交换文件并修改文件的权限为600。如下:,(
43、3) 激活交换文件。如下:root redflag /root#swapon /swap同样关闭交换文件的使用,可以使用命令:root redflag /root#swapoff /swap交换文件关闭后,如果不再继续使用,可以删除。,(3) 激活交换文件。如下:,6.3 文件系统的安装和卸载,Linux文件系统的组织方式和DOS、Windows文件系统的组织方式有很大的差别。Windows把磁盘分区后用不同驱动器名字来命名,如“C:”、“D:”、“E:”等等,我们把它们当成逻辑独立的硬盘来使用,每个逻辑盘有自己的根目录。而Linux系统只有一个总的根目录,或者说只有一个目录树,不同磁盘的不同
44、分区都只是这个目录树的一部分。,6.3 文件系统的安装和卸载 Lin,在Linux中创建文件后,用户还不能直接使用它,要把文件系统安装(mount)后才能使用。安装文件系统首先要选择一个安装点(mount point)。所谓的安装点就是要安装的文件系统的根目录所在的目录。如图6-3和图6-4所示,安装后/home就是第二个文件系统的安装点,因为第二个文件系统的根目录在这一目录下。这样整个文件是由多个文件系统构成的,但对于用户来说整个文件系统却是无缝的,感觉不到是在不同的文件系统工作。文件系统的安装点不同,目录树的结构也会发生变化,如图6-5所示。,在Linux中创建文件后,用户还不能直接使,图
45、6-3 未安装的两个独立的文件系统,图6-3 未安装的两个独立的文件系统,图6-4 安装后的文件系统,图6-4 安装后的文件系统,图6-5 文件系统安装点不同引起目录树结构的不同,图6-5 文件系统安装点不同引起目录树结构的不同,6.3.1 手工安装和卸载文件系统 手工安装文件系统常常用于临时使用文件系统的场合,尤其是软盘和光盘的使用。手工安装文件系统使用mount命令,其格式如下: mount 参数 设备名 安装点 参数选项: -a:安装/etc/fstab中的所有设备。 -f:不执行真正的安装,只是显示安装过程中的信息。 -n:不在/etc/mtab登记此安装。,6.3.1 手工安装和卸载
46、文件系统,-r:用户对被安装的文件系统只有读权限。-w:用户对被安装的文件系统有写权限。-t type:指定被安装的文件系统的类型,常用的有:minix、ext、ext2、ext3、msdos、hpfs、nfs、iso9660、vfat、reiserfs、umdos、smbfs。-o:指定安装文件系统的安装选项。,-r:用户对被安装的文件系统只有读权限。,例如: root redflag /root#mount -t ext3 /dev/hda3 /mnt/disk1该命令将/dev/hda3分区的文件系统安装在/mnt/disk1目录下,文件系统的类型是ext3,安装点是/mnt/disk1
47、。 安装文件系统时,用户不能处在安装点(即当前目录是安装点),否则安装文件系统后,用户看到的内容仍是没有安装文件系统前安装点目录原来的内容。安装文件系统后,安装点原有的内容会不可见。卸载文件系统后,安装点原有的内容又会可见。,例如:,使用mount命令时,mount会试着测试文件系统的类型,因此常常可以不指明文件系统的类型,但mount并非总能成功检测出文件系统的类型,例如:root redflag /root#mount /dev/hda3 /mnt/disk1 安装文件系统只能由超级用户root来进行,一般用户不能执行此项操作。对于软盘这样的设备,如果只允许超级用户来使用的话不是很合理,这
48、时可以在/etc/fstab加入相应的行来控制。我们随后介绍/etc/fstab的用法。,使用mount命令时,mount会试着测试,如果不打算在一个文件系统上写入任何数据的话,可以使用-r开关。这将停止任何对此文件的写要求,也将停止对i节点的文件存取时间的更改。root redflag /root#mount -r -t ntfs /dev/hdb1 /mnt/disk2,如果不打算在一个文件系统上写入任何数据的话,以上命令把/dev/hdb1(Windows2000)安装在/mnt/disk2目录下,只是为了在Linux中能够读取Windows 2000系统下的数据,但不允许改动,以免影响
49、Windows 2000的正常工作。 Linux系统会把已经安装的文件系统信息写到/etc/mtab文件中,用不带任何参数的mount命令也可以显示已经安装的文件系统的信息。,以上命令把/dev/hdb1(Window,【实例6.5】root redflag /root#mount/dev/hda1 on / type reiserfs (rw,notail)none on /proc type proc (rw)usbdevfs on /proc/bus/usb type usbdevfs (rw)none on /dev/pts type devpts (rw,gid=5,mode=620
50、)以上是当前已经安装文件系统的信息。要卸载文件系统则相当简单,使用以下命令:,【实例6.5】,umount安装点或umount设备名root redflag /root#umount /mnt/disk1卸载文件系统时,不能有用户正在使用文件系统,例如,用户当前目录是/mnt/disk1,则以上命令会失败。要先切换到别的目录,再执行umount,例如:root redflag /root#cdroot redflag /root#umount /mnt/disk1,umount安装点或umount设备名,6.3.2 文件系统的自动安装 我们可以使用mount命令手工安装文件系统,对于用户经常使