1、Linux操作系统实用教程,第4章 Linux文件和磁盘系统4.1 Linux文件系统概述4.2 文件的基本操作4.3 文件权限管理4.4 文件操作的图形工具4.5 即插即用设备的使用,第4章Linux文件和磁盘系统,本章概述文件系统是操作系统的重要组成部分,通过对文件系统的管理,操作系统可以方便地存取所需的数据。Linux系统中所有的程序、语言库、系统文件和用户文件都是存放在文件系统之上的,可靠性和安全性是文件系统的重要因素。本章围绕与文件系统管理有关的各个方面展开叙述,分别介绍磁盘分区的管理,Linux文件系统的建立、挂载与管理、文件的基本操作,以及文件存取权限的管理等方面的内容。,第4章
2、Linux文件和磁盘系统 4.1 Linux文件系统概述,文件系统是Linux系统上所有数据的基础。Linux系统是一种兼容性很强的系统,它支持多种文件系统,包括vfat、NTFS、ext2、ext3等。其中vfat文件系统支持读写操作,而NTFS文件系统仅支持读操作。Red hat Linux 9默认使用ext3文件系统。,4.1 Linux文件系统概述 4.1.1 文件系统简介,4.1.1 文件系统简介 文件系统是操作系统设计所需解决的一个重要的问题,下面将介绍文件系统的相关概念。 1什么是文件系统 文件系统是操作系统在硬盘或者分区上保持文件信息的方法和数据结构,也就是文件在硬盘或分区上的
3、组织结构方式,也指用于存储文件的磁盘、分区或文件系统种类。简单地讲,文件系统是指按照一定规则组织的文件结构,用于管理机器上的文件和目录,使之能够被有效地存取。 在操作系统中,每个文件和目录都被指定了一个文件名,用户按文件名存取文件,而实际上,文件和目录在磁盘中是按照柱面、磁道等物理位置存放的,文件系统能够将操作系统对文件的按名存取转化成按磁盘的物理位置进行读写。,4.1 Linux文件系统概述 4.1.1 文件系统简介,2常见的文件系统 不同的操作系统文件系统的类型一般也不尽相同,常见的有如下几种文件系统: (1) vfat文件系统:分为FAT和FAT32两种,是微软Windows 9x/20
4、00/XP/Vista及NT操作系统常用的文件系统,该文件系统对DOS文件系统进行了扩展,提供了对长文件名的支持。 (2) NTFS文件系统:是微软Windows NT起开始使用的文件系统,Windows 2000/Windows XP/Windows 2003和Vista都推荐使用这种文件系统。它除了支持文件权限、压缩、加密以及磁盘限额等功能外,还增加了对文件系统日志的支持,能够在操作系统出现故障时,通过日志恢复用户存储在文件系统中的数据,从而最大程度地保证用户数据的安全。在RHL9中,可以通过重新编译内核的方式提供对NTFS文件系统的支持,但目前只支持对该文件系统的只读访问。,4.1 Li
5、nux文件系统概述 4.1.1 文件系统简介,(3) ext2文件系统:是一种高效的文件系统,支持长达255个字符的长文件名。由于它不支持文件系统的日志,而且内存数据在回写到文件系统时通常都存在延时,所以使用这种文件系统时,需要及时在内存和磁盘之间进行数据的同步操作,否则容易造成用户数据的丢失。该系统可以很方便地升级为ext3文件系统。 (4) ext3文件系统:是ext2文件系统的增进版本,ext3文件系统继承了ext2系统的高效性,增加了文件系统的日志功能,保证了文件系统的可用性,增加了对文件的完整性保护。在操作系统意外断电或崩溃时,ext3能够利用日志功能快速恢复系统数据。ext3是现在
6、大部分Linux系统默认的文件系统类型,也是RHL9默认使用的文件系统。 Linux系统是一种对文件系统兼容性很强的操作系统,它能够支持多种文件系统,支持对FAT、FAT32读写访问,支持对NTFS的只读访问,,4.1 Linux文件系统概述 4.1.2 Linux文件系统,4.1.2 Linux文件系统 和Windows操作系统类似,所有Linux的数据都是由文件系统按照树型目录结构管理的。而且Linux操作系统同样要区分文件的类型,判断文件的存取属性和可执行属性。下面将介绍Linux的文件系统结构以及Linux文件系统的建立、挂载与管理等相关知识。 1Linux的文件系统结构 在Windo
7、ws操作系统中,主分区与逻辑分区被称为驱动器,会被分配一个驱动器盘符(如C盘、D盘、E盘),每个驱动器都有自己的根目录结构,这样形成了多个树并列的情形,如图所示。,Windows文件系统结构,4.1 Linux文件系统概述 4.1.2 Linux文件系统,与Windows相类似,Linux也采用了树状结构的文件系统,它由目录和目录下的文件一起构成。但Linux文件系统不使用驱动器这个概念,而是使用单一的根目录结构,所有的分区都挂载到单一的“/”目录上,其结构示意图如图所示。,Linux文件系统结构,其中,“/”目录也称为根目录,位于Linux文件系统目录结构的顶层,必须使用ext文件系统。如果
8、还有其它分区,必须挂载到“/”目录下某个位置。,4.1 Linux文件系统概述 4.1.2 Linux文件系统,常见的Linux系统目录如下: /:Linux系统的根目录,包含Linux系统的所有目录和文件。 /etc:有关系统设备与管理的配置文件。 /sbin:存放系统启动时所需的运行程序。 /bin:该目录中含有常用的命令文件,不能包含子目录。 /boot:操作系统启动时的核心文件。 /usr/local:存放用户后期安装的应用程序文件。 /root:超级用户主目录。 /dev:接口设备文件目录,保存外围设备代号。 /mnt:设备文件的挂接点,默认有/mnt/cdrom和/mnt/flop
9、py两个目录,分别用于挂载光驱和软驱。 /home:用户的宿主目录,通常将其设置在独立的分区。,4.1 Linux文件系统概述 4.1.2 Linux文件系统,2.Linux存储设备的命名 PC机上最多有4个IDE设备,可能是磁盘,也可能是CD/DVD设备。在Linux中,对于IDE磁盘,使用“hd”表示,并且在“hd”之后使用小写字母表示磁盘编号,磁盘编号之后是分区编号,使用阿拉伯数字表示。主分区的编号依次是14,而扩展分区上的逻辑分区编号从5开始。而SATA和SCSI磁盘共同使用“sd”表示。常用存储设备的名称表示如表所示。,4.1 Linux文件系统概述 4.1.2 Linux文件系统,
10、3管理磁盘分区 在安装RHL9的过程中可以使用图形化的Disk Druid工具对磁盘进行分区,系统安装完成后,用户也可以对磁盘分区进行管理。常用的磁盘分区管理工具有fdisk和parted,它们都可以进行创建分区、删除分区、查看分区信息等基本操作,此外parted还可以调整已有分区的尺寸。下面以fdisk为例,讲解磁盘分区方法。 以超级用户登录系统,在shell提示符下输入命令启动fdisk:rootmyhost root# fdisk /dev/sda 其中,/dev/sda是用户要进行分区的磁盘设备名。进入后可在Command(m for help)后输入命令m以查看该命令的使用方法,执行
11、结果如图所示。,4.1 Linux文件系统概述 4.1.2 Linux文件系统,fdisk工具运行后,可以通过按下相应的命令键查看磁盘状态,并进行分区的删除和建立等操作。,fdisk命令执行结果,4.1 Linux文件系统概述 4.1.2 Linux文件系统,fdisk工具中常用的命令及含义如表所示。,fdisk常用的命令及含义,4.1 Linux文件系统概述 4.1.2 Linux文件系统,4文件系统的建立 要想在分区上存储数据,首先需要建立文件系统。常用的建立文件系统的工具有mkdosfs、mkfs.vfat和mkfs命令来实现。 1) mkdosfs命令 该命令用于在磁盘或分区中建立do
12、s文件系统,即FAT文件系统,其格式如下:mkdosfs 选项 磁盘设备文件名 常用参数及含义表所示。,4.1 Linux文件系统概述 4.1.2 Linux文件系统,例4.1 在U盘上建立FAT文件系统,同时检测磁盘的是否存在坏道,并设置卷标为data。 在在终端提示符下使用如下命令: rootmyhost root# mkdosfs c n data /dev/sda2,4.1 Linux文件系统概述 4.1.2 Linux文件系统,2) mkfs.vfat命令 该命令用于在磁盘或分区中建立FAT32文件系统,其基本使用格式如下: mkfs.vfat 选项 磁盘设备文件名 常用参数及含义表
13、所示。,mkfs.vfat常用参数及含义,4.1 Linux文件系统概述 4.1.2 Linux文件系统,3) mkfs命令 该命令允许根据用户的选择建立相应的文件系统,同mkdosfs、mkfs.vfat等命令类似,但功能更强大。其格式如下:mkfs 选项 磁盘设备文件名 块大小 常用参数及含义如表所示。,mkfs常用参数及含义,4.1 Linux文件系统概述 4.1.2 Linux文件系统,例4.2 在分区/dev/sda3上建立ext3文件系统。 在终端提示符下输入如下命令: rootmyhost root# mkfs c -V t ext3 /dev/sda3 该命令,在建立文件系统的
14、同时,还进行了磁盘坏道的检查。 5文件系统的挂载与卸载 在Windows下,文件系统创建后,就可以通过系统分配的盘符来使用该磁盘。但在Linux系统中,文件系统创建后,还需将其安装到Linux目录树的某个位置上才能使用,这个过程称为挂载,文件系统所挂载到的目录称为挂载点。文件系统使用完毕,还可对其进行卸载。,4.1 Linux文件系统概述 4.1.2 Linux文件系统,1) 挂载文件系统 在Linux系统中,磁盘设备被挂接到一个已存在的目录上,以后的磁盘的存取就变成了对该挂接目录的读写访问。通常选择已存在的空目录作为挂接目录,因为如果挂接目录已经包含文件,在挂接操作完成后,原文件将临时被挂接
15、磁盘中的文件覆盖,直到从系统中卸载该磁盘为止。 文件系统的挂载,可以在系统引导过程中自动加载,也可以使用命令手工挂载。,4.1 Linux文件系统概述 4.1.2 Linux文件系统,使用命令手工挂载 挂载文件系统的命令为mount,该命令语法如下:mount 选项 设备文件名 挂接点 常用参数及含义如表所示。,mount常用的参数及含义,4.1 Linux文件系统概述 4.1.2 Linux文件系统,自动挂载 当用户需要系统启动后立即使用某个文件系统或者需要挂载多个文件系统时,可以通过修改/etc/fstab配置文件实现自动挂载需要使用的文件系统。/etc/fstab文件列出了引导系统需要挂
16、载的文件系统以及文件系统类型和其他挂载参数,系统引导时会读取这个文件并挂载该文件中列出的文件系统。该文件的具体格式如图所示。,/etc/fstab文件结构,4.1 Linux文件系统概述 4.1.2 Linux文件系统,fstab文件共分为6列: device dirmount fs_type options fs_dump fs_passno 各项含义如表所示。,4.1 Linux文件系统概述 4.1.2 Linux文件系统,例4.4 将磁盘分区/dev/hda3一直加载到/mnt/data目录下。 在/etc/fstab最后一行加入如下一行语句,然后重启计算机,系统将自动挂载该磁盘分区。
17、/dev/hda3 /mnt/data vfat defaults 0 0 2) 卸载文件系统 如果系统已挂接的磁盘不再使用,为了节省系统资源,可以将该磁盘从系统中卸下。与挂载相比,卸载文件系统简单很多。卸载文件系统使用umount命令,其格式如下:umount 选项 设备文件名或挂接目录 常用参数及含义如表所示。,4.1 Linux文件系统概述 4.1.2 Linux文件系统,注意:umount通常不能卸载正在使用的文件系统。如果必须卸载可以使用-f参数,或重启系统。,umount常用的命令及含义,4.1 Linux文件系统概述 4.1.2 Linux文件系统,6Linux的文件类型 文件是
18、操作系统用来存储信息的基本结构,是存储在某种介质上的一组信息的集合,通常通过文件名来标识文件。不同的操作系统对文件的命名方式一般也不同,在Linux系统中,文件的命名必须遵循如下的规则: (1) 文件名最长可以达到256个字符,可由AZ、az、09、.、-、_、等符号组成。 (2) 文件名区分大小写。 (3) 文件没有扩展名的概念。 (4) 使用“/”作为根目录和目录层之间的分隔符。 (5) 支持相对路径和绝对路径。,4.1 Linux文件系统概述 4.1.2 Linux文件系统,在Linux操作系统中也必须区分文件类型,通过文件类型可以判断文件属于可执行文件、文本文件还是数据文件。在Linu
19、x系统中文件可以没有扩展名。 文件类型都是和应用程序相关联的,在打开某个文件时,操作系统会自动判断用那个应用程序打开,在Linux系统中,.txt文件由gedit程序打开,.doc文件由OpenOffice.org Writer应用程序打开。在Windows下文件是否被执行也取决于扩展名,而Linux下的扩展名只能表示程序的关联,是否被执行取决于文件属性。 通常,Linux系统中常用的文件类型有5种:普通文件、目录文件、设备文件、管道文件和链接文件。,4.1 Linux文件系统概述 4.1.2 Linux文件系统,1) 普通文件 普通文件是计算机操作系统用于存放数据、程序等信息的文件,一般都长
20、期存放于外存储器(磁盘、磁带等)中。普通文件一般包括文本文件、数据文件、可执行的二进制程序文件等。可以通过ls lh命令来查看文件的属性,如图所示。,使用“ls lh”查看文件属性,4.1 Linux文件系统概述 4.1.2 Linux文件系统,图中,可以看到以“-rw-r-r-”开始的3行信息,每一行即对一个文件的描述,包括文件的类型与权限、链接数、文件的属主、文件属组、文件的大小、文件建立或修改的时间、文件名等信息。其中,“-rw-r-r-”用来指明文件类型为普通文件,关于其详细含义,后文将详细介绍。 在RHL9中可以通过file命令来查看文件的类型。如果file文件后面携带文件名,则查看
21、指定文件的类型,如果携带通配符“*”,则可以查看当前目录下的所有文件的类型,如图所示。,查看文件类型,4.1 Linux文件系统概述 4.1.2 Linux文件系统,2) 目录文件 Linux系统把目录看成是一种特殊的文件,利用它构成文件系统的树型结构。目录文件只允许系统管理员对其进行修改,用户进程可以读取目录文件,但不能对它们进行修改。每个目录文件至少包括两个条目,“”表示上一级目录,“.”表示该目录本身。 可以用ls lh查看某个目录文件详细信息,如图所示,后接“/”可以查看根目录下的详细信息。,4.1 Linux文件系统概述 4.1.2 Linux文件系统,图中文件类型与权限为“drwx
22、r-xr-x”,第一个字符为“d”,表示文件是根目录下目录文件。 3)设备文件 Linux系统把每个设备都映射成一个文件,这就是设备文件,它是用于向I/O设备提供连接的一种文件,分为字符设备和块设备文件。,使用ls lh查看根目录详细信息,4.1 Linux文件系统概述 4.1.2 Linux文件系统,字符设备的存取以一个字符为单位,块设备的存取以字符块为单位。每一种I/O设备对应一个设备文件,存放在/dev目录中,如行式打印机对应/dev/lp,第一个软盘驱动器对应/dev/fd0。设备文件示例如下图所示,/dev/tty的类型与权限是“crw-rw-rw-”,第一个字符为c,这表示为字符设
23、备文件;/dev/hda1的属性是brw-rw-,第一个字符为b,表示为块设备文件。,使用ls lh命令设备文件,4.1 Linux文件系统概述 4.1.2 Linux文件系统,4)管道文件 管道文件也是Linux中较特殊的文件类型,这类文件多用于进程间的通信方面。使用ls-lh命令查看文件信息时,可观察到文件类型与权限的第一个字符为“p”,则代表该文件为管道文件。 5)链接文件 链接文件有两种,一种是符号链接,也称为软连接,一种是硬链接。符号链接的工作方式类似于Windows系统中的快捷方式,建立符号链接文件后,如果删除原文件,则符号链接文件将指向一个空文件,符号链接也就失效了。硬链接则不,
24、4.1 Linux文件系统概述 4.1.2 Linux文件系统,同,它要求链接文件和目标文件在同一个文件系统上(即同一分区),且不允许链接至目录,它是对原文件数据块的直接引用,建立硬链接后即使删除原文件硬链接也会保留原文件的所有信息。文件类型与权限的第一个字符为l,则代表该文件为链接文件。,4.2 文件的基本操作 4.2.1 查看和搜索文件,文件是操作系统组织信息的基本单位,文件和目录实现了操作系统对系统和用户的数据管理。这一节将介绍一些文件与目录的基本操作,以及其他的一些常用的命令。 4.2.1 查看和搜索文件 查看和搜索是文件操作时用户经常要用到的两个功能。 1查看文件 通过查看文件,可获
25、得文件的许多相关信息,如文件的内容、属性、所有者、大小、创建修改的日期等。下面介绍几个查看文件的操作命令。 1)查看文件信息 ls是英文单词list的简写,其功能为列出目录的内容,使用相应的参数可以查看文件的相关信息,是用户最常用的命令,4.2 文件的基本操作 4.2.1 查看和搜索文件,之一,它类似于DOS下的dir命令。对于每个目录,该命令将列出其中的所以子目录与文件。对于每个文件,ls将输出其文件名以及所要求的其他信息。输出条目按字母顺序排序。未给出目录名或文件名时,默认情况下就显示当前目录的信息。该命令的语法如下: ls 参数 目录或文件 常用参数及含义如下表所示。,4.2 文件的基本
26、操作 4.2.1 查看和搜索文件,ls常用的参数及含义,4.2 文件的基本操作 4.2.1 查看和搜索文件,4.2 文件的基本操作 4.2.1 查看和搜索文件,例4-5 使用ls命令查看root目录下的文件信息。在命令提示符下执行如下命令,执行结果如下图所示。 rootmyhost root# ls -l,使用ls命令查看root目录下的文件信息,4.2 文件的基本操作 4.2.1 查看和搜索文件,图中列出的信息共分为7列,各列含义如下图所示。,文件信息,(1)文件类型:“-”表示常规文件;“d”表示目录;“c”表示字符设备文件;“b”表示块设备文件;“s”表示管道文件;“l”表示链接文件。,
27、4.2 文件的基本操作 4.2.1 查看和搜索文件,2)文件存取权限:从左到右每3位为一组,依次代表文件拥有者、同组用户和其他用户的存取权限。通常文件共有3个权限,“r”表示只读;“w”表示可写;“x”表示可执行;“-”表示未设置。图中,file3文件的第一列为-rw-r-r-,可知其为一个普通文件,文件所有者的权限是rw-,可读可写不可执行,文件所属组群的权限是r-,表示可读不可写不可执行,其他人的属性是r-,表示可读不可写不可执行。只有文件的拥有者或超级用户才能设置文件的属性。 (3)文件的属主和组:在Linux下每个文件都属于特定的用户和组,文件的属主和超级用户对文件用户最大的存取权限。
28、,4.2 文件的基本操作 4.2.1 查看和搜索文件,2) 查看文件内容 在进行系统管理的时候,经常需要浏览文件的内容,Linux提供了多种方式供用户在查看文件内容。使用这些工具可以以不同的方式浏览整个文件内容,有的可以从文件头部指定行往下浏览,有的则可以从文件尾部逆向浏览。 head命令 该命令用于从文件头部查看文件,默认情况下只能阅读文件的前十行,也可以通过指定一个数字选项来改变要显示的行数。如果没有接文件名,那么将会显示用户从键盘上输入的字符。该命令格式如下:,4.2 文件的基本操作 4.2.1 查看和搜索文件,head 参数 文件名 常用参数及含义如下表所示。,head常用的参数及含义
29、,注意:如果没有接文件名,那么将会显示用户从键盘上输入的字符。,4.2 文件的基本操作 4.2.1 查看和搜索文件,例4-6 使用head命令显示file1文件的内容。 在终端提示符下执行如下命令,执行结果如下图所示。 rootmyhost root# head file1,使用head命令查看文件内容,4.2 文件的基本操作 4.2.1 查看和搜索文件,tail命令 使用tail命令可以查看文件结尾内容,默认显示组后十行。这有助于查看日志文件的最后十行来阅读重要的系统消息,还可以使用tail来观察日志文件被更新的过程。该命令使用命令如下: tail 参数 文件名 常用参数及含义如下表所示。,
30、4.2 文件的基本操作 4.2.1 查看和搜索文件,cat命令 cat命令可以用来查看文件内容,也可以用于即合并文件。还可以利用cat命令从键盘读取数据。该命令格式如下: cat 参数 文件名 常用参数及含义如下表所示。,tail常用的参数及含义,4.2 文件的基本操作 4.2.1 查看和搜索文件,例4-7 使用cat命令查看文件内容。 在终端提示符下执行如下命令,执行结果如下图所示。 rootmyhost root# cat file2,cat常用的参数及含义,4.2 文件的基本操作 4.2.1 查看和搜索文件,cat命令后面可以接多个文件名,依次将其内容显示出来。还可以使用重定向符“”将多
31、个文件合并输出(重定向符“”的使用,后面将详细阐述)到另一个文件中。下面这条命令将文件file2的内容追加到file3文件中然后重定向到file4文中,即写入file4中。执行结果如下图所示。 rootmyhost root# cat file2 file3 file4,使用cat命令显示文件内容,4.2 文件的基本操作 4.2.1 查看和搜索文件,注意:file2、file3必须是已存在的文件,如果file4文件不存在,那么系统将重建file4文件。如果file4是已经存在的文件,那么它本身的内容将被覆盖,其中的内容是file2和file3合并后的内容。,cat命令合并文件,4.2 文件的基
32、本操作 4.2.1 查看和搜索文件,more命令 在文件过长无法在一屏上显示时,如果使用cat命令来查看其内容,会出现快速滚屏,使得用户无法看清文件的内容,此时可以使用more命令。和cat命令类似,more可将文件内容显示在屏幕上,但是它每次只显示一页,按下空格键可以显示下一页,按下q键退出显示,按下h键可以获取帮助。此外,该命令还可以在文件中搜索指定的字符串。其格式如下: more 参数 文件名 常用的参数及含义如下表所示。,4.2 文件的基本操作 4.2.1 查看和搜索文件,more常用的参数及含义,4.2 文件的基本操作 4.2.1 查看和搜索文件,less命令 less命令作用和mo
33、re命令类似,可用于浏览文本文件的内容。不同的是,less命令允许用户使用光标键反复浏览文本。另外,less可以不读入整个文本文件,因此在处理大型文件时速度较快。与more命令相比,less命令的功能更加前大。其基本格式如下: less 参数 文件名 常用的参数及含义如下表所示。,4.2 文件的基本操作 4.2.1 查看和搜索文件,less常用的参数及含义,4.2 文件的基本操作 4.2.1 查看和搜索文件,2. 搜索命令 Linux系统中提供了丰富的工具用于文件的搜索,这些工具既包括了用于根据文件名搜索文件的find、locate等,也包括根据给定的字符串搜索文件内容的grep工具。 1)g
34、rep命令 在指定文件中搜索特定的字符内容,并将含有这些字符内容的行输出其格式如下: grep 参数 文件名 常用参数和含义如下表所示。,4.2 文件的基本操作 4.2.1 查看和搜索文件,例4-8 搜索/etc/vsftpd目录下后缀为.conf文件中,其内容中包含“anon”字符串的文本行。 在终端提示符下输入如下命令: rootmyhost root# grep anon /etc/vsftpd/*.conf 如下图所示。,grep常用的参数及含义,4.2 文件的基本操作 4.2.1 查看和搜索文件,grep命令返回,2)locate命令 该命令用于通过文件名或扩展名搜索文件。locat
35、e命令是利用事先在系统中建立系统文件索引资料库的,然后再检查资料库的方式工作的。为了提高locate命令的查出率,在使用该,4.2 文件的基本操作 4.2.1 查看和搜索文件,命令前必须拥有最新的资料数据库。可以使用如下的命令更新系统的索引资料数据库: rootmyhost root# updatedb locate命令的格式如下: locate 参数 文件名 常用的参数和含义如下表所示。,locate常用的参数及含义,4.2 文件的基本操作 4.2.1 查看和搜索文件,例4-9 首先建立资料数据库,然后搜索vsftpd.conf文件的存放路径。 在终端提示符下输入如下命令: rootmyho
36、st root# updatedb rootmyhost root# locate vsftpd.conf 如下图所示。,locate命令执行结果,4.2 文件的基本操作 4.2.1 查看和搜索文件,3)find命令 find命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件。其格式如下: find 路径 参数 常用的参数及含义如下表所示。,find常用的参数及含义,4.2 文件的基本操作 4.2.1 查看和搜索文件,例4-10 使用find命令从根目录开始查找httpd.conf文件;从根目录搜索tom用户的文件。 在终端提示符下输入如下命令: ro
37、otmyhost root# find / -name httpd.conf rootmyhost root# find / -user tom 命令的执行结果如下图所示。,find命令执行结果,4.2 文件的基本操作 4.2.2 新建、删除文件和目录,4.2.2 新建、删除文件和目录 目录是一组相关文件的集合,一个目录下面除了可以存放文件之外还可以存放其他目录,即可包含子目录。在确定文件、目录位置时,DOS和Linux都采用“路径名+文件名”的方式。路径反映的是目录与目录之间的关系,在目录之间用分割符分开。 1路径 Linux路径由到达定位文件的目录组成。在Linux系统中组成路径的目录分割
38、符为斜杠“/”,而DOS则用反斜杠“”来分割各个目录。路径的表示方法有两种:绝对路径和相对路径。 1)绝对路径,4.2 文件的基本操作 4.2.2 新建、删除文件和目录,绝对路径是从目录树的树根“/”目录开始往下直至到达文件所经过的所有节点目录,下级目录接在上级目录后面用“/”隔开。例如,假如在图4-2中的etc目录下有一个文件file1,那么file1绝对路径的表示应该是/etc/file1。 注意:绝对路径都是从“/”开始的,所以第一个字符一定是“/”。 2)相对路径 相对路径是指目标目录相对于当前目录的位置。仍然以前面的file1文件为例,若当前目录是etc,如果要指向file1文件,可
39、以直接简单地表示为file1。在当前目录下,或是当前目录的子目录下的文件都可以这样简单地表示。如果不在当前目录下,则需要使用两个特殊目录“.”和“”了。目录“.”指向当前目录,而目录“”,4.2 文件的基本操作 4.2.2 新建、删除文件和目录,则指向当前目录的上一级目录。若图4-2中的bin目录下有一个文件file2,当前目录为etc,那么file2的相对路径可表示为:/bin/file2。 2.通配符 与DOS下的文件操作类似,在Linux系统中,也同样允许使用特殊字符来同时引用多个文件名,这些特殊字符被称为通配符。Linux系统中的通配符除了“*”和“?”以外,还可以是使用“”、“”和“
40、-”组成字符组,以便确定需要匹配的范围。 通配符*:可以代表文件名中的任意字符或字符串,但不能与句点打头的文件名匹配。在Linux系统中以句点打头的文件是隐藏文件。,4.2 文件的基本操作 4.2.2 新建、删除文件和目录,通配符?:可以代表文件名中的任意一个字符。 通配符“”、“”、和“-”:用于构成字符组。“”和“”将字符组括起来,表示可以匹配字符组中的任意一个。“-”用于表示字符范围。例如,abc表示匹配a、b、c中的任意一个,a-f表示从a到f范围内的的任意一个字符。 转义字符:如果要使通配符作为普通字符使用,可以在其前面加上转义字符。 注意:当“-”处于方括号之外,或“?”和“*”处
41、于方括号内时不用使用转义字符就已失去通配符的作用。 3创建文件 在Linux系统中,可以利用touch命令来创建文件,同时touch还可以修改文件的存取和修改日期。如果touch命令没有,4.2 文件的基本操作 4.2.2 新建、删除文件和目录,指定时间,touch就会将文件的存取时间、修改时间设置为系统的当前时间。该命令的格式如下: touch 参数 文件名 常用参数及含义如下表所示。,touch常用的参数及含义,4.2 文件的基本操作 4.2.2 新建、删除文件和目录,例4-11 使用touch命令创建文件file1。 在命令提示符下执行如下命令,执行结果如下图所示。 rootmyhost
42、 root# touch file1,使用touch命令创建文件,这样就新建了一个名为file1的文件,当然,此文件是一个空文件,里面没有内容。,4.2 文件的基本操作 4.2.2 新建、删除文件和目录,例4.12 将上例创建的file1文件的最后修改时间修改为2008年12月28日。 在命令提示符下执行如下命令,执行结果如下图所示。 rootmyhost root# touch -m -t “12282008” file1,设置文件的修改时间,4删除文件 rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下的所以文件及子目录均删除。删除链接文件时,只是断开了链接,原文件保
43、持不变。该命令的,4.2 文件的基本操作 4.2.2 新建、删除文件和目录,基本使用格式如下: rm 参数 文件名 常用参数及含义如下表所示。,rm常用的参数及含义,注意:使用rm命令要小心,因为文件删除后不能恢复。为了防止文件误删,可以在rm后使用-i参数以逐个确认要删除的文件。若确认删除,输入y,文件将被删除,否则输入其他任何字符放弃删除。,4.2 文件的基本操作 4.2.2 新建、删除文件和目录,例4.12使用rm命令分别进行交互式删除和强制删除。在命令提示符下分别执行如下命令,执行结果如下图所示。 rootmyhost root# rm i file1 rootmyhost root#
44、 rm f file1,使用rm命令删除文件,使用“rm -i file1”命令时采用了交互式执行方式,询问是否删除file1文件。“rm -f file1”命令时采用了强制执行方式,直接删除指定的文件。,4.2 文件的基本操作 4.2.2 新建、删除文件和目录,5.切换工作目录 所谓工作目录,就是当前操作所在的目录。用户在使用Linux的时候,经常需要更换工作目录。cd命令可以帮助用户切换工作目录,后面可跟绝对路径,也可以跟相对路径。如果省略目录,则默认切换到当前用户的主目录。还可以使用“”、“.”和“”作为目录名,其中“”表示当前用户的主目录,“.”表示当前目录,“”表示当前目录的上层目录
45、,即父目录。该命令使用的格式如下: cd 目录名 例如,切换到/usr/bin/可用如下命令: rootmyhost root# cd /usr/bin 切换到当前用户的主目录可用如下命令: rootmyhost root# cd ,4.2 文件的基本操作 4.2.2 新建、删除文件和目录,切换到当前目录的上两层可用如下命令: rootmyhost root# cd / 6.显示当前路径 使用pwd命令可以显示当前的工作目录,该命令很简单,直接输入pwd即可,后面不带参数。 7新建目录 可使用mkdir命令创建一个新的目录。需要注意的是新建目录的名称不能与当前目录中已有的目录或文件同名,并且目录创建者必须对当前目录具有写权限。该命令格式如下: mkdir 参数 目录名 常用参数及含义如下表所示。,4.2 文件的基本操作 4.2.2 新建、删除文件和目录,mkdir常用的参数及含义,例4-13 使用mkdir命令分别创建目录dir1、dir2,在dir1中创建目录dir3,在dir2中创建目录dir4,并使用touch命令在dir2中创建文件file2。 在终端提示符下执行如下命令,如下图所示。,4.2 文件的基本操作 4.2.2 新建、删除文件和目录,