1、第第2章章 文件系统和目录管理文件系统和目录管理 文件系统和目录管理是学习和使用文件系统和目录管理是学习和使用Linux的基础,也是的基础,也是Linux系统管理与维护系统管理与维护中最重要的部分之一。本章将对中最重要的部分之一。本章将对Linux目录目录与文件系统的基本知识,以及磁盘管理操与文件系统的基本知识,以及磁盘管理操作中的一些重要或者常见的命令做较为详作中的一些重要或者常见的命令做较为详细的介绍。细的介绍。2.1 文件系统的概念文件系统的概念 本节将对本节将对Linux文件系统的概念和文件系统的概念和Linux目录结构的基本概念等进行较为系统、目录结构的基本概念等进行较为系统、全面的
2、介绍。全面的介绍。2.1 文件系统的概念文件系统的概念文件系统文件系统:操作系统用来存储和管理文件的:操作系统用来存储和管理文件的 方法。方法。系统角度:文件系统对文件存储空间进行组织和分配,并对系统角度:文件系统对文件存储空间进行组织和分配,并对文件的存储进行保护和检查。文件的存储进行保护和检查。用户角度:文件系统可以帮助用户建立文件,并对文件的读、用户角度:文件系统可以帮助用户建立文件,并对文件的读、写和删除提供保护和控制。写和删除提供保护和控制。2.1.1 Linux常用文件系统介绍常用文件系统介绍Linux常用文件系统:常用文件系统:MSDOS:MS-DOS文件系统。文件系统。DOS、
3、Windows和和OS/2使用该文件系统使用该文件系统 不支持长文件名,主要用于挂载不支持长文件名,主要用于挂载 Microsoft操作系统生成的操作系统生成的 软盘。软盘。ISO9660:标准的:标准的CDROM文件系统,允许长文件名文件系统,允许长文件名Swap:用于交换(:用于交换(Swap)分区。交换分区是系统虚拟内存的一部分,)分区。交换分区是系统虚拟内存的一部分,用于在当前内存不足时暂时保存数据。数据被交换到交换分区,当再用于在当前内存不足时暂时保存数据。数据被交换到交换分区,当再次需要时调回内存。次需要时调回内存。NFS:Sun公司推出的网络文件系统,允许在多台计算机之间共享同一
4、公司推出的网络文件系统,允许在多台计算机之间共享同一文件系统,易于从所有这些计算机上存取文件文件系统,易于从所有这些计算机上存取文件Ext2:扩展文件系统,在:扩展文件系统,在1994年引入的第二扩展文件系统年引入的第二扩展文件系统2.1.1 Linux常用文件系统介绍常用文件系统介绍Linux常用文件系统:常用文件系统:Ext3:Ext2的升级版本,在的升级版本,在Ext2基础上加入了记录元数据基础上加入了记录元数据 的日志功能,保持向前和向后的兼容性,支持异步的日志功能,保持向前和向后的兼容性,支持异步 的日志,总体性能好于的日志,总体性能好于Ext2.SMB:支持:支持SMB协议的网络文
5、件系统,可用于实现协议的网络文件系统,可用于实现Linux与与Windows系系统的文件共享统的文件共享VFAT:Microsoft扩展扩展FAT(VFAT)文件系统,支持长文件名,被)文件系统,支持长文件名,被Windows 9x/2000/XP使用。使用。NTFS:由:由windows 2000/XP/2003操作系统支持,特别为网络和磁盘配操作系统支持,特别为网络和磁盘配额、文件加密等安全特性设计的一种磁盘格式额、文件加密等安全特性设计的一种磁盘格式2.1.2 Linux文件介绍文件介绍 在在Linux系统上,任何软件和系统上,任何软件和I/O设备都设备都被视为文件。被视为文件。Linu
6、x中的文件名最大支持中的文件名最大支持255个字符,分别可以用个字符,分别可以用AZ、az、09以及以及“.”、“-”、“_”等字符来命名。等字符来命名。2.1.2 Linux文件介绍文件介绍 和和Windows不同,不同,Linux文件名是区分文件名是区分大小写的,所有的大小写的,所有的UNIX系列操作系统都遵系列操作系统都遵循这个规则。循这个规则。Linux下也没有盘符的概念下也没有盘符的概念(如(如Windows下的下的C盘、盘、D盘),而只有目盘),而只有目录,不同的硬盘分区是被挂载在不同目录录,不同的硬盘分区是被挂载在不同目录下的。下的。2.1.2 Linux文件介绍文件介绍 此外,
7、此外,Linux的文件没有扩展名,所以的文件没有扩展名,所以Linux下的文件名称和它的种类没有任何关下的文件名称和它的种类没有任何关系。例如,系。例如,abc.exe可以是文本文件,而可以是文本文件,而abc.txt也可以是可执行文件。也可以是可执行文件。2.2 Linux文件系统的组织方式文件系统的组织方式Linux文件系统目录层次结构:文件系统目录层次结构:2.2 Linux文件系统的组织方式文件系统的组织方式Linux的路径:的路径:1.路径:表示文件或目录在文件系统中所处的层次路径:表示文件或目录在文件系统中所处的层次2.绝对路径:是指由根目录绝对路径:是指由根目录“/”为起点来表示
8、系统中某个为起点来表示系统中某个文件或目录的位置的方法文件或目录的位置的方法3.相对路径:是以当前目录为起点,表示系统中某个文件相对路径:是以当前目录为起点,表示系统中某个文件或目录在文件系统中的位置的方法或目录在文件系统中的位置的方法2.2 Linux文件系统的组织方式文件系统的组织方式Linux的设备文件表示方法的设备文件表示方法2.2.1 文件路径文件路径Linux的目录类型的目录类型1.工作目录:也叫当前目录(工作目录:也叫当前目录(Workding Directory),可以随时改变。),可以随时改变。2.主目录:系统管理员增加用户时创建的,每个用户都有自己的主目录,主目录:系统管理
9、员增加用户时创建的,每个用户都有自己的主目录,不同用户的主目录一般互不相同。用户刚登录到系统中时,其工作目不同用户的主目录一般互不相同。用户刚登录到系统中时,其工作目录就是该用户的主目录,通常与用户的登录名相同。可以用录就是该用户的主目录,通常与用户的登录名相同。可以用“”引引用自己的主目录用自己的主目录文件的路径访问:文件的路径访问:1.绝对路径访问绝对路径访问2.相对路径访问相对路径访问2.2.2 Linux系统的默认目录系统的默认目录2.2.2 Linux系统的默认目录系统的默认目录2.3 管理目录的常用命令管理目录的常用命令1mkdir命令命令 创建目录需要使用创建目录需要使用mkdi
10、r命令。命令。mkdir命令的常用格式如下:命令的常用格式如下:mkdir option dirname该命令创建名为该命令创建名为dirname的目录。的目录。mkdir命令要求创建目录的用户在当前命令要求创建目录的用户在当前目录(即目录(即dirname的父目录)中具有写权限,的父目录)中具有写权限,并且并且dirname不能是当前目录中已有的目录不能是当前目录中已有的目录或文件名称。或文件名称。2.3 管理目录的常用命令管理目录的常用命令2rmdir命令命令 删除目录需要使用删除目录需要使用rmdir命令。命令。rmdir命令的命令的常用格式如下:常用格式如下:rmdir option
11、dirname dirname表示目录名。表示目录名。rmdir命令可以从一个命令可以从一个目录中删除一个或多个子目录项。须要注意的是,目录中删除一个或多个子目录项。须要注意的是,一个目录被删除之前必须是空的。和一个目录被删除之前必须是空的。和mkdir命令命令一样,删除某目录时也必须具有对父目录的写权一样,删除某目录时也必须具有对父目录的写权限。限。2.3 管理目录的常用命令管理目录的常用命令3cd命令命令 cd命令即英文词组命令即英文词组change directory的缩写,作用是改变当前工作目录。的缩写,作用是改变当前工作目录。cd命命令的常用格式如下:令的常用格式如下:cd dire
12、ctory2.3 管理目录的常用命令管理目录的常用命令4pwd命令命令 pwd命令即英文词组命令即英文词组print working directory的缩写,作的缩写,作用是显示当前工作目录的路径。该命令无参数和选项。在用是显示当前工作目录的路径。该命令无参数和选项。在Linux层次目录结构中,用户可以在被授权的任意目录下层次目录结构中,用户可以在被授权的任意目录下用用mkdir命令创建新目录,也可以用命令创建新目录,也可以用cd命令从一个目录转命令从一个目录转换到另一个目录。换到另一个目录。然而,没有提示符来告知用户目前处于哪一个目录中。然而,没有提示符来告知用户目前处于哪一个目录中。要想
13、知道当前所处的目录,可以用要想知道当前所处的目录,可以用pwd命令,该命令显示命令,该命令显示整个路径名。整个路径名。2.3 管理目录的常用命令管理目录的常用命令5ls命令命令 ls是英文单词是英文单词list的简写,其功能为列出目录的内容。的简写,其功能为列出目录的内容。这是用户最常用的命令之一,因为用户要不时地查看某个这是用户最常用的命令之一,因为用户要不时地查看某个目录的内容。该命令类似于目录的内容。该命令类似于DOS下的下的dir命令。对于每个命令。对于每个目录,该命令将列出其中所有的子目录与文件。目录,该命令将列出其中所有的子目录与文件。对于每个文件,对于每个文件,ls将输出其文件名
14、以及所要求的其将输出其文件名以及所要求的其他信息。默认情况下,输出条目按字母顺序排序。当未给他信息。默认情况下,输出条目按字母顺序排序。当未给出目录名或文件名时,就显示当前目录的信息。出目录名或文件名时,就显示当前目录的信息。ls命令的命令的常用格式如下:常用格式如下:ls option dirname|filename2.4 Linux文件系统的类型文件系统的类型1普通文件普通文件 普通文件包括源程序文件、脚本文件、普通文件包括源程序文件、脚本文件、可执行程序文件及各种数据文件。普通文可执行程序文件及各种数据文件。普通文件类型标识位为件类型标识位为“-”2.4 Linux文件系统的类型文件系
15、统的类型2目录文件目录文件 目录文件是一种特殊文件,目录下可以目录文件是一种特殊文件,目录下可以包含文件和子目录,目录文件类型标识位包含文件和子目录,目录文件类型标识位为为“d”2.4 Linux文件系统的类型文件系统的类型3套接字文件套接字文件 套接字(套接字(socket)是网络通信的常用)是网络通信的常用方法,方法,Linux文件系统可以通过套接字文件文件系统可以通过套接字文件实现网络通信。套接字的文件类型标识位实现网络通信。套接字的文件类型标识位为为“s”2.4 Linux文件系统的类型文件系统的类型4命名管道命名管道 命名管道主要是用来实现进程间的通信。命名管道主要是用来实现进程间的
16、通信。命名管道的文件类型标识位为命名管道的文件类型标识位为“p”2.4 Linux文件系统的类型文件系统的类型5设备文件设备文件 Linux将设备作为特殊文件处理。设备文将设备作为特殊文件处理。设备文件分为两类:字符设备和块设备。字符设件分为两类:字符设备和块设备。字符设备的文件类型标识位为备的文件类型标识位为“c”,块设备的文,块设备的文件类型标志位为件类型标志位为“b”。字符输入输出设备。字符输入输出设备像打印机和键盘都属于字符设备,磁盘等像打印机和键盘都属于字符设备,磁盘等属于块设备。属于块设备。2.4 Linux文件系统的类型文件系统的类型6链接文件链接文件 为管理方便和节省磁盘空间,
17、为管理方便和节省磁盘空间,Linux允许允许一个物理文件拥有一个以上的逻辑名即链一个物理文件拥有一个以上的逻辑名即链接文件。链接文件相当于接文件。链接文件相当于windows中的快中的快捷方式,链接文件类型标识位为捷方式,链接文件类型标识位为“l”2.5 文件和目录的权限文件和目录的权限 Linux通过权限管理来实现系统的安全通过权限管理来实现系统的安全和用户数据的安全。和用户数据的安全。2.5.1 权限的常规表示权限的常规表示文件和目录的权限:文件和目录的权限:无权限(无权限(-):):表示无权限表示无权限读(读(r):允许读文件内容和查看目录中有哪些文件和目录):允许读文件内容和查看目录中
18、有哪些文件和目录写(写(w):允许向文件中写入数据、以及在目录下创建或删):允许向文件中写入数据、以及在目录下创建或删除文件和目录除文件和目录执行(执行(x):允许将文件作为程序执行,以及访问目录):允许将文件作为程序执行,以及访问目录2.5.1 权限的常规表示权限的常规表示权限的作用范围:权限的作用范围:u:user的缩写,文件所有者(创建者)的缩写,文件所有者(创建者)g:group的缩写,同组用户的缩写,同组用户o:other的缩写,除所有者、同组用户以外的其他用户的缩写,除所有者、同组用户以外的其他用户a:all的缩写,全部的用户的缩写,全部的用户2.5.1 权限的常规表示权限的常规表
19、示文件和目录的权限字段:文件和目录的权限字段:位位12345678910值值-r或或-4w或或-2x或或-1r或或-4w或或-2x或或-1r或或-4w或或-2x或或-1说明说明文件文件类型类型属主的权限属主的权限7组权限组权限7其他用户的权限其他用户的权限72.5.2 使用使用chmod改变文件改变文件/目录访问权限目录访问权限chmod的权限两种用法:的权限两种用法:1.包含字母和操作符表达式的文字设定法包含字母和操作符表达式的文字设定法2.包含数字的数字设定法包含数字的数字设定法2.5.2 使用使用chmod改变文件改变文件/目录访问权限目录访问权限文字设定法:文字设定法:文字设定法的形式
20、文字设定法的形式chmod who+|-|=mode 文件名文件名Mode:r读读 w可写可写 x可执行可执行 s在文件执行时把进程的属主或组在文件执行时把进程的属主或组ID置为该文件的文置为该文件的文件属主件属主如:如:u+s 设置文件的用户设置文件的用户ID位,位,g+s设置组设置组ID位位2.5.2 使用使用chmod改变文件改变文件/目录访问权限目录访问权限数字设定法:数字设定法:数字设定法的数字表示属性的含义为:数字设定法的数字表示属性的含义为:0表示没有权限表示没有权限1表示可执行权限(表示可执行权限(x)2表示可写权限(表示可写权限(w)4表示可读权限(表示可读权限(r)数字设定
21、法的一般形式为:数字设定法的一般形式为:chmod mode 文件名文件名2.5.3 使用使用chown改变文件改变文件/目录所有权目录所有权命令一般形式为:命令一般形式为:chown 选项选项 用户用户:组组 文件文件/目录目录选项:选项:-R 递归改变指定目录及其下面的所有子目录和文件的拥有者递归改变指定目录及其下面的所有子目录和文件的拥有者-v 显示显示chown 命令所做的工作命令所做的工作2.6 管理磁盘存储器管理磁盘存储器 Linux磁盘存储管理不同于磁盘存储管理不同于Windows,一般是将存储设备以,一般是将存储设备以文件命名,使用的时候需要挂载。文件命名,使用的时候需要挂载。
22、2.6.1 存储设备的命名存储设备的命名设备命名设备命名注释注释/dev/hda表示第一个表示第一个IDE硬盘硬盘/dev/hda1表示第一个表示第一个IDE硬盘的第一个主分区硬盘的第一个主分区/dev/hda2表示第一个表示第一个IDE硬盘的扩展分区硬盘的扩展分区/dev/hda5表示第一个表示第一个IDE硬盘的第一个逻辑分区硬盘的第一个逻辑分区/dev/hda8表示第一个表示第一个IDE硬盘的第四个逻辑分区硬盘的第四个逻辑分区/dev/hdb表示第二个表示第二个IDE硬盘硬盘/dev/hdb1表示第二个表示第二个IDE硬盘的第一个主分区硬盘的第一个主分区/dev/sda表示第一个表示第一个
23、SCSI硬盘硬盘/dev/sda1表示第一个表示第一个SCSI硬盘的第一个主分区硬盘的第一个主分区/dev/sdd3表示第四个表示第四个SCSI硬盘的第三个主分区硬盘的第三个主分区2.6.1 存储设备的命名存储设备的命名 在在linux系统中,系统中,USB设备被视设备被视为为SCSI设备,使用这个设备文件设备,使用这个设备文件的格式为的格式为“sdX”系统中的第一个系统中的第一个SCSI设备表示为设备表示为“sda”第二个表第二个表示为示为“sdb”。如果第一。如果第一SCISI设备设备是硬盘,是硬盘,U盘就会被识别为盘就会被识别为“sdb”2.6.2 磁盘空间管理磁盘空间管理1.使用使用d
24、f命令检查文件系统的磁盘占命令检查文件系统的磁盘占用情况:用情况:命令的使用形式:命令的使用形式:df 选项选项2.6 管理磁盘存储器管理磁盘存储器2.使用使用du命令检查磁盘空间的使用命令检查磁盘空间的使用情况:情况:命令的使用形式:命令的使用形式:du 选项选项 设备分区设备分区/目录名目录名2.6.3 添加新硬盘添加新硬盘1.硬盘的安装:硬盘的安装:A.关闭计算机,对硬盘及关闭计算机,对硬盘及BIOS进行设置进行设置 (关机关机命令:命令:shutdown-h now 快速关机快速关机)B.重启计算机,确认硬盘是否被识别重启计算机,确认硬盘是否被识别 (查看计算机设备的命令:(查看计算机
25、设备的命令:dmesg|grep 磁盘设备名)磁盘设备名)2.6.3 添加新硬盘添加新硬盘2.在新硬盘上创建分区在新硬盘上创建分区fdisk的命令格式:的命令格式:fdisk 选项选项 磁盘设备文件名称磁盘设备文件名称分区练习:详见教材分区练习:详见教材P2272.6.3 添加新硬盘添加新硬盘3.分区格式化分区格式化mkfs的命令格式用法:的命令格式用法:mkfs 选项选项 设备名称设备名称选项中可以设置选项中可以设置 格式化的文件系统类型格式化的文件系统类型-t 文件系统类型文件系统类型(默认(默认ext2,还有,还有ext3,vfat,ntfs等)等)2.6.3 添加新硬盘添加新硬盘4.挂
26、载文件系统挂载文件系统挂载:挂载:mount命令格式用法:命令格式用法:mount 选项选项 磁盘设备文件磁盘设备文件 挂载点挂载点说明:挂载点可以是在说明:挂载点可以是在/mnt目录下创建的子目录,也可以是系统分区类目录下创建的子目录,也可以是系统分区类型,如型,如/root、/boot 等等选项中选项中:格式化的文件系统类型设置方法:格式化的文件系统类型设置方法 -t 文件系统类型文件系统类型(默认(默认ext2,还有,还有ext3,vfat,ntfs等)等)注意:注意:mount命令适合手动挂载,如需启动后自动挂载需修改文件命令适合手动挂载,如需启动后自动挂载需修改文件/etc/fsta
27、b卸载:卸载:umount命令格式用法:命令格式用法:umount 挂载点挂载点2.6.3 添加新硬盘添加新硬盘补充:补充:U盘的挂载盘的挂载Vfat(fat16/32)文件系统的)文件系统的U盘挂载:盘挂载:mount t vfat 磁盘设备文件磁盘设备文件 挂载点挂载点 -o iocharset=字符集字符集其中:磁盘设备文件为其中:磁盘设备文件为sdX,X为已有为已有SCSI设备最后编号设备最后编号+1,挂载点需,挂载点需在在/mnt目录下创建一个子目录,如需支持中文编码,可用目录下创建一个子目录,如需支持中文编码,可用 -o iocharset=gb2312NTFS文件系统的文件系统的
28、U盘挂载:盘挂载:mount t ntfs 磁盘设备文件磁盘设备文件 挂载点挂载点 -o iocharset=字符集字符集注意:注意:ntfs文件系统默认安装不支持,需安装软件包文件系统默认安装不支持,需安装软件包2.6.3 添加新硬盘添加新硬盘练习练习:NTFS的的U盘挂载盘挂载准备一个格式化为准备一个格式化为NTFS的的U盘盘1.检查当前系统的内核版本检查当前系统的内核版本(查看命令格式查看命令格式 uname-a),下载对应版本的,下载对应版本的NTFS文件系统的软件包文件系统的软件包注意:虚拟机中需启用共享文件夹注意:虚拟机中需启用共享文件夹,可以将可以将windows桌面文件复制到桌面文件复制到linux2.将下载的软件包(将下载的软件包(kernel-ntfs-2.4.20-8.i686.rpm)安装,并重启系统)安装,并重启系统RPM软件包安装命令行格式为:软件包安装命令行格式为:rpm -ivh rpm软件包路径软件包路径 3.创建挂载点,完成挂载操作(参考前面操作格式)创建挂载点,完成挂载操作(参考前面操作格式)4.利用利用df-T查看挂载的查看挂载的U盘设备文件系统类型盘设备文件系统类型