文件和磁盘管理Linux教学课件PPT.ppt
第3章 文件和磁盘管理,本章将主要分析Linux中的文件和磁盘管理内容。本章将主要讲解文件的基本操作和设置文件权限等基本内容,同时还将讲解磁盘的基本管理内容。,3.1 Linux文件系统入门,文件系统(File System)是操作系统用来存储和管理文件的子系统,而且每种操作系统支持的文件系统数量和种类基本上都各不相同。,3.1.1 文件介绍,在Linux系统中,任何软件和硬件都被视为文件。Linux中的文件名最大支持256个字符,分别可以用A-Z、a-z、0-9等字符来命名。而且在Linux中,文件名是区分大小写的,所有的Unix系列操作系统都遵循这个规则。与Windows不同的是Linux的文件没有扩展名,所以Linux下的文件名称和它的种类没有任何关系。例如abc.exe可以是文本文件,而abc.txt也可以是可执行文件。Linux下的文件可以分为5种不同的类型:普通文件、目录文件、链接文件、设备文件和管道文件。,3.1.2 目录介绍,Linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录。在Linux下目录的名称是可以自定义的,但是某些特殊的目录名称包含有非常重要的功能,因此不建议更改目录的名称,以免造成错误,导致系统崩溃。在Linux安装时,系统会创建很多默认的目录,这些目录都具有特殊的功能。/,/bin,/boot,/dev,/etc,/home,/mnt,/proc,/root,/sbin,/tmp,/usr,/lib,/lost+found,/tmp,/var,3.2 文件的基本操作,在图形界面下,Linux文件的基本操作和Windows的操作没有多大的差别,基本上用鼠标就可以完全控制。下面用户介绍一些功能的命令模式。这些命令可以在图形界面下,在桌面单击右键,选择【新建终端】命令行模式,或在文本模式下使用。注意:在Linux下字母的大小写是严格区分的,请注意命令的大小写,同时也要注意输入命令时的空格。,3.2.1 新建和删除文件,1删除文件若要将某个文件删除,可以使用命令“rm”。2新建目录要新建一个目录用mkdir命令。3删除目录要删除某一目录可用“rmdir”命令。4删除目录及目录下的所有文件要删除带有文件的目录,可以使用“rm-rf”命令。强制删除目录及其中的文件。5创建链接文件在Linux中链接文件的作用同Windows中的“快捷方式”相类似。链接文件可以部分替代这行文件的功能,并且可以大量节省磁盘空间。而且,对链接文件进行修改,可以自动更新到源文件中,节省大量时间。创建链接文件要用“ln”命令。,3.2.2 查看和创建文件,1查看文件内容在Linux下显示文件内容可用cat命令,而且cat命令还有创建文件、将多个文件合并等功能。2分页显示文件内容在使用cat查看文件内容时,如果文件内容很长,用户只能看到文件的最后一页,这样非常不方便。要解决这个问题,可以使用more命令。它可以将文件分页来显示。3交互式操作显示文件内容less命令的功能与more很相似,但是less具有非常好的交互性。使用less命令后,可以使用方向键来控制浏览器的上下左右画面,并且可以使用热键来执行某些特定的功能,例如按“H”键可以出现在线使用说明,按“Q”键可以离开浏览模式。,3.2.3 复制和移动文件,1文件复制:文件复制命令为cp。2文件移动文件移动和复制差不多,区别在于文件移动后,在原位置上的文件会被删除,这和Windows上的剪切命令很相似。文件移动命令mv,也常被当成文件重命名用,因为Linux的命令中没有“重命名”命令。,3.3 压缩和解压缩,在Linux下有多种压缩文件程序,相对应的也有多种压缩及解压缩命令。下面介绍最常用的以zip和unzip命令处理.zip文件。,3.3.1 创建.zip文件,1zip命令的基本使用方法zip file.zip*该命令将当前目录下的所有文件直接压缩为file.zip。2压缩后,自动删除原文件zip m file.zip file1.txt该命令是把file1.txt文件压缩成file.zip文件,然后删除file1.txt。3将子目录一起压缩zip r file.zip*该命令将当前目录下的子目录一起压缩到file.zip。zip命令的其它用法请参考书中内容。,3.3.2 解压缩,1排除不需要解压缩的文件。unzip file.zip x file3该命令为将压缩文件file.zip中除了file3的其他文件都解压。2查看压缩包的内容。zip Z file.zip该命令查看file.zip压缩包的内容。也可以使用“-l”、“-v”来查看压缩包的内容。,同样,用户可以用gzip和gunzip命令处理.gz文件无法将许多文件压缩成一个文件。1gzip命令的基本使用方法gzip file2.txt该命令将文件file2.txt压缩。2查看压缩包的内容。zgip l*4压缩率zip-9 file.txt该命令按照压缩率为-9将file.txt压缩。压缩率为-1-9,其中-9压缩率最高。5解压缩.gz文件gunzip file.gx或gzip d file.gz,3.3.3 文件打包,tar是一个打包程序。它能将用户指定的文件或目录打包成一个文件。但是它并不能进行压缩。而gzip无法将多个文件压缩成一个文件。所以目前大多数压缩文件都是用tar将所有的文件打包成一个文件,然后再由gzip压缩。扩展名为.tar.gz或.tgz的文件大多数属于这类文件。tar命令可以将多个文件或目录打包成一个单一的文件,以便于保存。1tar命令的基本作用方法tar 参数 打包后的文件名 要打包的文件。2打包操作tar cvf file.tar*3再打包tar hcvf file.tar*4将新文件加入已打包的包文件。tar rvf file.tar file.txt5打开包的操作tar xvf file.tar,3.3.4 使用图形化界面,在图形化操作界面下,用户可以避开繁琐的命令,直接使用鼠标进行压缩和解压缩文件。要在图形化界面下压缩文件活目录,首先右击文件或目录,然后在菜单中选取【添加到压缩文件】选项,弹出【添加文件和文件夹】对话框,如图3.3所示,3.4 设置文件/目录访问权限,Linux系统是一个典型的多用户系统,不同的用户处于不同的地位。为了保护系统的安全性,Linux系统对不同用户访问同一文件的权限做了不同的规定。对于一个Linux系统中的文件来说,它的权限可以分为四种:读的权限、写的权限、执行的权限和无权限,分别用r、w、x和-表示。不同的用户具有不同的读、写和执行的权限。每一个文件都有一个特定的所有者,也就是对文件具有所有权的用户。同时,由于在Linux系统中,用户是按组分类的,一个用户属于一个或多个组。文件所有者以外的用户又可以分为文件所有者的同组用户和其它用户。因此,Linux系统按文件所有者、文件所有者同组用户和其它用户三类规定不同的文件访问权限。Linux文件系统安全模型是通过给系统中的文件赋予两个属性来起作用的。赋予每个文件的这两个属性称为所有者(Ownership)和访问权限(Access Rights)。Linux下的每一个文件必须严格地属于一个用户和一个组。,在命令行中可以用命令“ls l”来查看文件或目录的使用权限,例如图3.4所示,3.4.1 设置权限,右击要改变权限文件或目录,选择【属性】选项,会弹出属性对话框。用户选择【权限】选项卡,如图3.5所示。在该对话框中,用户可以方便的设定文件权限。,3.4.2 使用chmod命令,在命令行中用户可以使用“chmod”命令来修改文件权限,通常可以用两种方式来表示权限类,数字表示法和文字表示法。两种表示法各有优点,可以根据个人习惯来选择。,2文字表示法修改存取权限文字表示法看起来比数字表示法复杂,但是因为是字符表示,所以可读性较强。文字表示法的命令如下:chmod who+/-/=mode 文件名操作对象who表示4种不同的用户,可是下述字母中的任一个或者它们的组合:u表示“用户(user)”,即文件或目录的所有者.g表示“同组(group)用户”,即与文件属主有相同组ID的所有用户.o表示“其他(others)用户”。a表示“所有(all)用户”。它是系统默认值。而权限mode仍为三种:r可读。w可写。x可执行。与数字表示法不同的是,文字表示法不仅仅可以重新设置权限,还可以再原来的权限上,增加或减少权限,就是利用+/-/=来实现的。+表示将权限由目前的设置增加。-表示将权限由目前的设置减少。=表示将权限重新设定。,3目录权限的修改目录权限的修改和文件差不多,但是如果要修改目录中的所有文件存取权限,则应该用“*”来表示。例如要修改/home/linux的权限,命令如下。rootlocalhost root#chmod 774/home/linux/*或者rootlocalhost root#chmod u=rwx,g=rwx,o=r/home/linux/*如果文件中还有其他子目录,则可以使用“-R”参数。如下所示:rootlocalhost root#chmod-R 774/home/linux/*或者rootlocalhost root#chmod-R u=rwx,g=rwx,o=r/home/linux/*,3.4.3 使用chown命令,一般文件的创建者就是文件的拥有者。若要改变文件的拥有者,必须在root权限下才能进行进行修改。更改文件目录的所有权命令格式如下。chown 变更后的拥有者或组 文件rootlocalhost root#chown bengo users/home/linux/file,3.5 管理磁盘,在Linux中,使用df命令可以显示文件系统的有效空间。命令如图3.8所示。,3.5.1 磁盘空间管理,磁盘限额能够控制某个用户使用磁盘空间的大小。Linux操作系统因为其多用户多任务的特性,通常都支持多客户端的使用。在Linux系统中,磁盘空间是所有用户的公有资源。所有用户都可以共享空闲的磁盘空间资源。但是往往会出现某个用户占用了所有剩余空间,影响其他用户的正常操作的情况。要解决这个问题用户可以对用户使用的磁盘进行限额。1命令管理方式请参考书中内容2图形化管理工具在Red Hat Linux 9中也可以使用图形化管理工具来进行磁盘管理。,3.5.2 磁盘分区操作,1设备管理在Linux中,每一个硬件设备都映射到一个系统的文件,包括硬盘、光驱等IDE或SCSI设备。Linux把各种IDE设备分配了一个由hd前缀组成的文件。而各种SCSI设备,则被分配了一个由sd前缀组成的文件。例如,第一个IDE设备,Linux定义为hda;第二个IDE设备就定义为hdb;下面以此类推。而SCSI设备就应该是sda、sdb、sdc等。2分区数量要进行分区就必须针对每一个硬件设备进行操作。对于每一个硬盘(IDE或SCSI)设备,Linux 分配了一个1到16的序列号码,这就代表了硬盘上面的分区号码。例如,第一个IDE硬盘的第一个分区,在Linux下面映射为hda1,第二个分区就称作是hda2。对于SCSI硬盘则是sda1、sdb1等。3各分区的作用在Linux中规定,每一个硬盘设备最多能有4个主分区(其中包含扩展分区)。任何一个扩展分区都要占用一个主分区号码。在一个硬盘中,主分区和扩展分区一共最多是4个。对于早期的DOS和Windows(Windows 2000 以前的版本),系统只承认一个主分区。用户只能通过在扩展分区上增加逻辑盘符(逻辑分区)的方法,进一步地细化分区。主分区的作用就是计算机用来进行操作系统启动。因此每一个操作系统的启动程序或引导程序,都应该存放在主分区上。这就是主分区和扩展分区及逻辑分区的最大区别。用户在指定安装引导Linux的bootloader的时候,都要指定在主分区上。Linux规定了主分区(或者扩展分区)占用1至16号码中的前4个号码。例如第一个IDE硬盘,主分区(或者扩展分区)占用了hda1、hda2、hda3、hda4,而逻辑分区占用了hda5到hda16等12个号码。因此,Linux 下面每一个硬盘总共最多有16个分区。对于逻辑分区,Linux规定它们必须建立在扩展分区上(在DOS和 Windows系统上也是如此规定)。因此,扩展分区能够提供更加灵活的分区模式,但不能用来作为操作系统的引导。,4分区指标 对于每一个Linux分区,分区的大小和分区的类型是最主要的指标。容量的大小就是分区的容量。分区的类型规定了这个分区上面的文件系统的格式。Linux支持多种的文件系统格式,其中包含了用户熟悉的FAT32、FAT16、NTFS、HP-UX,以及各种Linux特有的Linux Native和Linux Swap分区类型。在Linux系统中,可以通过分区类型号码来区别这些不同类型的分区。,3.5.3 优化系统硬盘,1清理磁盘 这是最简单的方式。清理磁盘驱动器,删除不需要的文件。如果可能的话,清除多余的目录,并减少子目录的数目。通过清理磁盘,释放磁盘空间可以帮助系统更好地工作。2整理磁盘碎片 Linux下整理磁盘碎片有很多方法。最好的方法是做一个完全的备份,重新格式化分区,然后从备份恢复文件。3其他优化磁盘方法从IDE升级到SCSI 获取更快的控制器和磁盘驱动器 使用多个控制器 4调整硬盘参数 使用hdparm工具可以调整IDE硬盘性能。5使用软件RAID6配置内核参数,3.6 使用光盘,Linux中的所有设备,如打印机、CD-ROM等,都是通过被称为“设备文件”的特殊文件连接到用户的Linux操作系统中。这个文件包含操作系统需要控制特定设备的所有信息。这种设计所带来的灵活度相当高。操作系统与管理特定设备的细节无关,所有的细节都由设备文件处理。操作系统只告诉设备要执行什么任务,设备文件则告诉设备应该如何执行。如果更换设备,用户只需改变设备文件,而不是整个系统。要加载一个设备到系统,需要设备的驱动文件、软件配置及内核支持。所有的设备文件都保存在/dev目录中。包括光盘驱动器的设备文件,符号链接文件/dev/cdrom将普通的设备名称链接到实际所用的CD-ROM设备。,3.6.1 挂载和卸载光盘,1命令模式在命令行种输入mount命令,即可挂载光盘:rootlocalhost root#mount/mnt/cdrom要卸载光盘需要用到umount,命令如下rootlocalhost root#umount/mnt/cdrom2图形模式,3.6.2 制作ISO文件,ISO文件就是光盘镜像文件。在Linux下制作ISO文件有很多方法。使用复制命令就可以制作,命令如下所示。rootlocalhost root#cp/dev/cdrom cdrom_img.iso或者rootlocalhost root#dd if=/dev/cdrom of=cdrom_img.iso这是将光驱里的光盘进行镜像制作成一个ISO文件cdrom_img.iso。使用mkisofs来制作ISO文件,生成一个光盘的镜像文件,命令如下所示。rootlocalhost root#mkisofs-r-o cdrom_img.iso/mydir 上面命令是将/mydir目录下的文件进行处理,可以生成一个镜像文件cdrom_img.iso。文件生成后存放在/root目录下。,3.6.3 刻录光盘,光盘刻录是备份数据非常好的方法,避免在硬盘损坏后,用户的数据全部丢失。在Linux上刻录光盘,非常简单。首先,扫描刻录机设备号:#cdrecord-scanbus扫描结果将自动发现刻录机的设备号。例如设备号为dev=6,0,则刻录光盘时,键入以下命令:#cdrecord-v speed=4 dev=6,0 cdrom_img.iso这要就刻录完成了,在Linux下刻录光盘还有很多方法,比如使用X-CD-Roast软件等等,这里用户就不一一叙述了。,3.7 小结,对于使用惯了Windows的用户学习Linux,一开始最大的难题就是理解Linux的文件系统和磁盘管理系统。因为Linux下的文件和磁盘管理系统与Windows下的截然不同,这就给很多刚从Windows转入Linux的用户带来的很多麻烦。但是要学好Linux则将避免不了要了解它的文件和磁盘管理系统。所以这里我们建议初级用户一定要认真学习这一章,不要认为它不重要或者与你的学习无关。,