您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 第08章__文件系统管理
第08章文件系统管理本书在第7章中已经介绍了如何通过分区来管理磁盘的存储空间,如果用户要在分区上存储文件,还需要在分区上创建文件系统。本章将介绍Linux文件系统的结构,创建和挂载文件系统,以及如何对文件系统中的目录、文件和相关权限进行管理。8.1文件系统简介在操作系统中,文件命名、存储和组织的总体结构就称为文件系统(FileSystem)。Linux的文件系统采用多层次的树型结构,它的结构与平时所使用的Windwos操作系统有很大的区别。在本节中将介绍Linux文件系统的结构、特点、与Windows操作系统的区别,此外还对Linux操作系统的默认安装目录结构进行说明。8.1.1Linux文件系统简介不同的操作系统对文件的组织方式会有所区别,其所支持的文件系统类型也会不一样。对于Linux系统,文件系统是指格式化后用于存储文件的设备(硬盘分区、光盘、软盘、闪盘及其他存储设备),其中包含有文件、目录以及定位和访问这些文件和目录所必须的信息,此外,文件系统还会对存储空间进行组织和分配,并对文件的访问进行保护和控制。这些文件和目录的命名、存储、组织和控制的总体结构就统称为文件系统。在Linux操作系统中,文件系统的组织方式是采用树状的层次式目录结构,在这个结构中处于最顶层的是根目录,用“/”代表,往下延伸就是其各级子目录。8.1.1Linux文件系统简介/bindevetchomelibvarusrtmpftpspoollocallogoptcronlpdmail8.1.2Linux支持的文件系统类型Linux操作系统所能支持的文件系统类型很多,除了UNIX所能支持的各种常见文件系统类型外,还支持包括FAT16、FAT32、NTFS在内的各种Windows文件系统。也就是说,Linux用户可以通过“加载”的方式把Windows操作系统的分区挂到Linux的某个目录下进行访问。Linux操作系统所能支持的文件系统类型可以在/usr/src/kernels/2.6.18-92.el5xen-i686/fs目录下找到,该目录下的每个子目录都是Linux所能支持的文件系统类型。8.1.3Linux的默认安装目录Linux操作系统在安装过程中会创建一些默认的目录,这些默认目录都是有特殊功能的。用户在不确定的情况下最好不要更改这些目录下的文件,以免造成系统的错误。8.2文件系统的管理ext2和ext3是Linux操作系统目前最常用的文件系统类型,在本节中将主要以这两种文件系统为例,介绍如何在Linux中管理文件系统,包括创建文件系统、挂载文件系统、文件系统空间管理及管理文件系统中的文件和目录。8.2.1创建文件系统在第7章中已经介绍了如何对磁盘进行分区,但这是不够的,为了能真正利用分区上的磁盘空间,还要在磁盘分区上创建文件系统。选项说明atime每次访问都更新I节点的访问时间async使用异步IOauto设置该选项的文件系统可以通过mount–a命令挂载defaults该选项与rw,suid,dev,exec,auto,nouser和async这7个选项是等价的,也就是说指定了该选项后相当于设置了上述7个选项。dev解析字符和块设备exec允许在该文件系统上执行二进制可执行文件noatime不更新文件系统的访问时间nouser限制除root用户以外的用户不能挂载该文件系统owner允许设备的所有者挂载该文件系统ro以只读方式挂载rw以可读写方式挂载suid允许使用setuid和setgid,关于setuid和setgid的详细介绍见14.3.3一节中的介绍sync使用同步IOusers允许所有用户挂载该文件系统8.2.2查看已挂载文件系统通过df命令,可以查看文件系统的信息,包括文件系统对应的设备文件名、总空间、已用空间、剩余空间、空间使用百分比和挂载点等。例如,要查看系统当前所有已经挂载的文件系统,命令如下所示。#dfFilesystem1K-blocksUsedAvailableUse%Mountedon/dev/hda159522523618672202634065%/tmpfs23765602376560%/dev/shm/dev/hda519527803573618178482%/new8.2.3使用fstab文件自动挂载文件系统通过mount命令挂载的文件系统,在计算机重启后并不会自动重新挂载,而必须要手工再执行mount命令。如果希望文件系统在计算机启动的时候就自动挂载,可以使用/etc/fstab文件。下面是该文件的一个示例。LABEL=/1/ext3defaults11tmpfs/dev/shmtmpfsdefaults00devpts/dev/ptsdevptsgid=5,mode=62000sysfs/syssysfsdefaults00proc/procprocdefaults00LABEL=SWAP-hda12swapswapdefaults008.3文件和目录管理“一切皆是文件”是Linux系统的基本哲学之一。在Linux中,普通文件、目录、字符设备、块设备、套接字等都是以文件形式存在,所以对于一个Linux用户来说,熟悉文件的管理操作非常重要。本节将对Linux系统中的各种文件类型进行分析,并对Linux文件的查看、添加、删除以及修改等操作进行介绍。8.3.1查看文件和目录属性ls命令是Linux中查看文件的主要命令,可以列出目录中的文件以及子目录等内容,或者查看某些指定文件和目录的属性,其命令格式如下所示。ls[OPTION]...[FILE]...文件属性由8个部分组成,以空格分隔。8.3.2文件类型Linux有4种基本文件系统类型:普通文件、目录文件、链接文件和特殊文件。通过“ls-l”命令可以返回文件的相关属性,其中第一个字符就是用于标识文件的类型。1.普通文件2.目录文件3.链接文件4.特殊文件8.3.3链接文件Linux下的链接文件有点类似于Windows的快捷方式,但又不完全一样。链接文件有两种,一种是硬链接(HardLink),另外一种是符号链接(SymbolicLink)。Linux中使用ln命令创建链接文件,该命令默认创建的是硬链接。例如,在/share目录下创建一个名为messages的硬链接文件到源文件/var/log/messages,命令如下所示。#ln/var/log/messages/share/messages8.3.4查看文件内容Linux提供了多种命令用于查看文件内容,接下来介绍如何查看文件的完整内容,分页显示文件内容以及实时显示文件内容等。1.查看文件的所有内容2.分屏查看文件内容3.实时查看文件内容8.3.5删除文件和目录rm命令用于删除文件和目录,如果要删除的目录非空,那么目录下所有的文件和子目录都会被一并删除;如果要删除的是链接文件,那么只删除链接,链接所指向的原文件会被保留。其命令格式如下:rm[OPTION]...FILE...常用命令选项说明如下所述。-f:强制删除,不提示用户确认。-r或-R:递归删除目录中的所有子目录和文件。要删除目录必须使用该选项。-i:与-f选项相反,在删除每个文件前都提示用户确认。FILE:文件或目录名,不同的目录和文件之间使用空格分隔。8.3.6更改当前目录与DOS一样,Linux操作系统也是使用cd命令更改当前目录的位置。所不同的是,在DOS中文件路径是使用正斜杠“\”来分隔,而在Linux中则是使用反斜杠“/”。除此之外,在DOS中文件和目录是不区分大小写的,而在Linux是严格区分的。在Linux中,目录和文件路径的表示方法有两种:绝对路径和相对路径。1.绝对路径2.相对路径8.3.7文件名通配符为了能一次处理多个文件,Shell提供了一些特别字符,称为文件名通配符。通过使用通配符可以让Shell查询与用户指定格式相符的文件名;用做命令参数的文件或目录的缩写;以简短的名称访问长文件名。文件名通配符可以用于任何与文件或目录相关的命令中。星号(*):问号(?):方括号([]):8.3.8查看目录空间大小使用du命令可以查看目录或文件占用的空间的大小,其命令格式如下:du[OPTION]...[FILE]...常用选项说明如下所示。•-b:使用byte为单位。•-m:使用MB为单位。•-S:不统计子目录所占用的空间。•-s:显示命令中指定的每个文件或目录的总大小。•--exclude=PATTERN:排除选项中所指定的文件。8.3.9复制文件和目录cp命令用于复制文件和目录,包括目录下所有的子目录和文件,与DOS下的copy命令相似。其命令格式如下:cp[OPTION]...[-T]SOURCEDESTcp[OPTION]...SOURCE...DIRECTORYcp[OPTION]...-tDIRECTORYSOURCE...常用的选项说明如下所示。•-a:等价于-dpR这3个选项。•-d:保留文件链接。•-f:复盖已经存在的文件和目录,复盖前不提示用户确认。•-i:与-f选项相反,复盖文件前提示用户确认再进行。•-p:保持复制后的文件属性与原文件一样。•-r或-R:递归复制目录下的所有子目录和文件。8.3.10移动文件和目录使用mv命令可以移动文件或目录以及目录下所有的子目录和文件,相当于Windows中的剪贴,以删除原来位置上的文件或目录。cp命令运行完成后会有两份一摸一样的数据,但是使用mv命令,只会有一份数据。如果源文件或目录和目标文件或目录是处于同一个文件系统内的话,那么mv命令并不是复制数据,而只是更改文件或目录的元信息,把它的路径改为目标路径,所以在同一个文件系统内移动文件的速度是非常快的。mv命令的格式如下:mv[OPTION]...[-T]SOURCEDESTmv[OPTION]...SOURCE...DIRECTORYmv[OPTION]...-tDIRECTORYSOURCE...8.4文件和目录权限管理Linux系统是一个典型的多用户系统,不同的用户处于不同的地位。为了保护系统和用户数据的安全,Linux系统对不同用户访问同一文件和目录的权限做了不同的限制。本节将介绍Linux文件的权限体系,并介绍如何通过更改文件的权限位以及所有者和属组,控制文件的访问权限。8.4.1Linux文件和目录权限简介在Linux中的每一个文件或目录都有自己的访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。文件和目录的权限有3种:r、w和x,它们在文件和目录中所代表的意义不尽相同。权限文件目录r可以查看文件的内容,例如可以使用cat、more等命令查看文件的内容可以列出目录中的内容,例如使用ls命令列出目录内容w可以更改文件的内容,例如使用VI等文本编辑工具编辑文件的内容可以在目录中添加删除文件,例如使用rm、mv等命令对目录中的文件进行操作x可以执行文件,需要同时具有r权限可以进入目录,例如使用cd命令8.4.2更改文件和目录的所有者chown命令用于更改文件或者目录的所有者和属组,包括目录下的各级子目录和文件。其命令格式如下:chown[OPTION]...[OWNER][:[GROUP]]FILE...常用的选项说明如下所示。-R:以递归方式改成目录下各级子目录和文件的所有者和属组。FILE...:需要更改的文件或目录,多个文件或者目录可以以空格分隔。8.4.3更改文件和目录的权限chmod命令用于更改文件或者目录的访问权限,包括目录下的各级子目录和文件。其命令格式如下:chmod[OPTION]...MODE[,MODE]...FILE...chmod[OPTION]...OCTAL-MODEFILE...常用的选项说明如下所示。-R:以递归方式改成目录下各级子目录和文件的访问权限。FILE...:需要更改的文件或目录,多个文件或者目录可以以空格分隔。chmod命令可以通过两种方式来更改文件或目录的访问权限:1.字符方式2.数字方式8.4.4设置文件和目录的默认权限对于每个新创建的文件和目录,
本文标题:第08章__文件系统管理
链接地址:https://www.777doc.com/doc-3840573 .html