RHCE课程-RH131Linux管理笔记六-Linux文件系统管理、挂载及sudo设置与使用上期我们讲了Linux远程登陆telnet及ssh服务,下面我们讲的是设备文件管理Linux沿袭Unix的风格,将所有设备认成是一个文件。设备文件分为两种:块设备文件(b)字符设备文件(c)设备文件一般存放在/dev目录下/dev/hd[a-t]:IDE设备/dev/sd[a-z]:SCSI设备/dev/fd[0-7]:标准软驱/dev/md[0-31]:软raid设备/dev/loop[0-7]:本地回环设备/dev/ram[0-15]:内存/dev/null:无限数据接收设备,相当于回收站/dev/zero:无限零资源/dev/tty[0-63]:虚拟终端/dev/ttyS[0-3]:串口/dev/lp[0-3]:并口/dev/console:控制台/dev/fb[0-31]:framebuffer/dev/cdrom=/dev/hdc/dev/modem=/dev/ttyS[0-9]/dev/pilot=/dev/ttyS[0-9]/dev/console:控制台和/dev/tty[0-63]:虚拟终端的区别与联系控制抬就好比电视机上的按钮,终端好比遥控板,他们的目的都是控制电视机,但是控制台必须在本地,而终端可以在远端,系统只有一个控制台,叫console,其他的都是终端好了,下面我们通过使用对设备文件的操作来完成对设备的操作(1)现在我打开了两个虚拟终端,用w查看就有pts/0和pts/1这两个虚拟终端然后在pts/0输入命令:#echohello/dev/pts/1然后我切换到pts/1看看,已经有显示了哈~这样在pts/1就可以看见hello的文字了(2)然后我们对hda硬盘文件操作,来备份/恢复分区表备份分区信息,使用命令:#fdisk-l/dev/hda/bak/partition.bak备份MBR,使用命令:#ddif=/dev/hdaof=/bak/mbr.bakbs=512count=1说明:主引导记录512字节中前446是程序代码,后64字节包含分区表信息,最后2字节标识是MBR。恢复分区表,使用命令:#ddif=/bak/mbr.bakof=/dev/hdabs=512count=1下面我们就说说挂载吧,讲挂载我们先要知道文件系统,常见的文件系统大家说说有哪些?不同的操作系统需要使用不同类型的文件系统,为了与其他操作系统兼容,以相互交换数据,通常操作系统都能支持多种类型的文件系统,比如Windows2000Server,系统默认或推荐采用的文件系统是NTFS,但同时也支持FAT32或FAT16文件系统;DOS和Windows9x一般采用FAT16或FAT32,不支持NTFS文件系统。Linux内核支持十多种不同类型的文件系统,对于RedHatLinux,系统默认使用ext2或ext3和swap文件系统,下面对Linux常用的文件系统作一个简单介绍。1、ext2与ext3文件系统ext是第一个专门为Linux设计的文件系统类型,称为扩展文件系统,在Linux发展的早期,起过重要的作用。由于稳定性,速度和兼容性方面存在许多缺陷,ext现已很少使用。ext2是为解决ext文件系统存在的缺陷而设计的可扩展、高性能的文件系统,称为二级扩展文件系统。ext2于1993年发布,在速度和CPU利用率上具有较突出的优势,是GNU/Linux系统中标准的文件系统,支持256个字节的长文件名,文件存取性能极好。ext3是ext2的升级版本,兼容ext2,在ext2的基础上,增加了文件系统日志记录功能,称为日志式文件系统。日志式文件系统在因断电或其他异常事件而停机重启后,操作系统会根据文件系统的日志,快速检测并恢复文件系统到正常的状态,并可提高系统的恢复时间,提高数据的安全性。若对数据有较高安全性要求,建议使用ext3文件系统。日志文件系统是目前Linux文件系统发展的方向,常用的还用reiserfs和jfs等日志文件系统。2、swap文件系统swap文件系统用于Linux的交换分区。在Linux中,使用整个交换分区来提供虚拟内存,其分区大小一般应是系统物理内存的2倍,在安装Linux操作系统时,就应创分交换分区,它是Linux正常运行所必需的,其类型必须是swap,交换分区由操作系统自行管理。3、vfat文件系统vfat是Linux对DOS,Windows系统下的FAT(包括fat16和Fat32)文件系统的一个统称。4、NFS文件系统NFS即网络文件系统,用于在UNIX系统间通过网络进行文件共享,用户可将网络中NFS服务器提供的共享目录挂载到本地的文件目录中,从而实现操作和访问NFS文件系统中的内容。5、ISO9660文件系统该文件系统中光盘所使用的标准文件系统,Linux对该文件系统也有很好的支持,不仅能读取光盘和光盘ISO映像文件,而且还支持在Linux环境中刻录光盘。RedHatLinux支持的文件系统很多,在些就不逐一介绍,要想了解其支持的文件系统类型,可通过以下命令来查看:#ls/lib/modules/2.6.18-53.el5/kernel/fs以下是Linux支持的文件系统汇总1.minix是Minix操作系统使用的文件系统,是Linux最先使用的文件系统。它有许多缺点:分区只能小于64MB,只支持短文件名,单一的时间戳,等等。在软盘和动态磁盘领域仍然有用。2.ext是对Minix的扩展。已完全被ext2取代,内核最终将不会支持它。3.ext2是Linux使用的,性能很好的文件系统,用于固定文件系统和可活动文件系统。它是作为ext文件系统的扩展而设计的。ext2在Linux所支持的文件系统中,提供最好的性能(在速度和CPU使用方面),简短的说,ext2是Linux的主要文件系统。4.ext3是对ext2增加日志功能后的扩展。它向前,向后兼容ext2。意为ext2不用丢失数据和格式化就可以转换为ext3,ext3也可以转换为ext2而不用丢失数据(只要重新安装该分区就行了),强烈推荐使用这种文件系统。5.xiafs作为Minix文件系统的一个稳定,安全的扩展,提供基本的最常用的特点。目前已经停止开发和维护了。不太常使用。6.msdos是DOS,Windows和一些os/2计算机使用的文件系统。文件名不能超过8个字符,然后跟一个3个字符的后缀。7.umsdos是Linux使用的扩展的DOS文件系统。增加了长文件名支持,UID/GID,POSIX权限,特殊文件等而依然保持和DOS文件系统兼容。8.vfat是Windows95,WindowsNT使用的扩展的DOS文件系统。增加长文件名支持。9.proc是一种假的文件系统,用于和内核数据结构接口,它不占用磁盘空间,参考manproc。10.iso9660是一种针对ISO9660标准的CD-ROM文件系统。自动支持两种扩展(看下面)。11.HighSierra是ISO9660标准的前身。Linux自动支持它。RockRidge是RockRidgeinterchangeProtocol协议的一个产品,用于进一步向Unix系统描述ISO9660文件系统下的文件。另外提供诸如长文件名,UID/GID,POSIX权限,等信息。Linux自动支持它。12.hpfs是OS/2使用的高性能的文件系统。在Linux系统中是只读的,因为缺乏相应的文档资料。13.sysv是SystemV/Coherent文件系统在Linux上的实现。它实现了所有的Xenix,SystemV/386,和Coherent文件系统。14.nfs是用于存取远方计算机硬盘的文件系统。15.smb是支持SMB协议的网络文件系统,Windows用它来实现工作组共享。16.ncpfs是NovellNetWare使用的,支持NCP协议的网络文件系统。17.Devpts是一个虚拟的文件系统,一般安装在/dev/pts。为了得到一个虚拟终端,进程打开/dev/ptmx,然后就可使用虚拟终端。18.fat不是一个单独的文件系统,而是msdos,umsdos和vfat文件系统的常用部分。19.UFS是一个广泛使用于各种操作系统的文件系统20.swap是一种特殊的分区,用于在内存和硬盘间交换数据的文件系统。21.raiserfs是Linux内核2.4.1以后(2001年1月)支持的,一种全新的日志文件系统。22.hfshfs(=hierarchicalfilessystem)是苹果文件系统。23.ntfsWindowsNT文件系统。注意,fat16和fat32在LINUX里都是用vfat来表示vfat:win95与win98采用的文件系统ntfs:win2000使用的文件系统iso9660:光盘使用的文件系统ReiserFS/JFS:仍然在完善的带日志文件系统ext3和ext2是我们REDHAT使用的文件系统,我就不多说了,在基础部分都讲过了挂载分三种:手动挂载自动挂载开机挂载手动挂载我们从简单的手动挂载开始,请大家打开自己的虚拟机,在LINUX里,为了使用一个文件系统,往其中存读文件,用户需要先挂载该文件系统,所以要使用硬盘的空间就必须先分区,然后格式化,最后挂载。这样才能使用。挂载文件系统的指令是mount语法:mount-t文件系统类型[-o其他参数]设备挂载点我们来实战下,现在请大家在/mnt目录下建立一个目录,叫dvd#mkdir/mnt/dvd然后我们把光盘手动挂载到这个目录#mount-tiso9660-oro/dev/hdc/mnt/dvd-tiso9600是指定文件系统,光盘的是is09660,如果没有指定的情况下,系统有个默认的参数auto,自动识别文件系统所有不跟也行:mount/dev/hdc/mnt/dvd/,建议新手还是加上这个参数-o是附加参数,ro是以只读方式挂载。应为光盘是不可写的,所以要只读挂载auto文件系统-t的一个参数,你不加-t他就默认是这个挂载U盘的方法#mount-tvfat-orw/dev/sda/mnt/你自己建立的目录你U盘是哪个设备需要具体看你情况而定现在的Usb设备很多,如mp3,u盘,读卡器等,但在linux上不一定被认出来,现把自己挂载KingstonDataTraveler4GBU盘总结的经验分享出来哈~插入U盘之后,按照下面的步骤:1.fdisk-l/dev/sd*fdisk-l列出指定设备的分区表信息。由于usb盘是被模拟为scsi设备访问,所以会被自动命名为sd*。通常这一步就能找到U盘,如果U盘有指示灯也会亮,表示被找到。2.lsmod如果执行上一个命令没有反应,或者某些信息显示模块没有加入,我们可以lsmod查看一下是否有usb-storagescsi_modsd_mod模块。[root@rhel5~]#lsmodModuleSizeUsedbyvfat158090fat511651vfatnls_utf862091autofs4243892hidp231052rfcomm424570l2cap2963310hidp,rfcommbluetooth539255hidp,rfcomm,l2capvmblock205124vmmemctl145440sunrpc1442531ipv625139314vmhgfs549120dm_mirror288690dm_multipath215770dm_mod584572dm_mirror,dm_multipathvideo192690sbs185330backlight100490i2c_ec90251sbsbutton107050battery136370asus_acpi192890ac91570lp158490joydev133130floppy571250snd_ens1371285131gameport186331snd_ens1371snd_rawmidi265611snd_ens13