RH131Linux管理笔记六-Linux文件系统管理、挂载及sudo.docx_第1页
RH131Linux管理笔记六-Linux文件系统管理、挂载及sudo.docx_第2页
RH131Linux管理笔记六-Linux文件系统管理、挂载及sudo.docx_第3页
RH131Linux管理笔记六-Linux文件系统管理、挂载及sudo.docx_第4页
RH131Linux管理笔记六-Linux文件系统管理、挂载及sudo.docx_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

RHCE课程-RH131Linux管理笔记六-Linux文件系统管理、挂载及sudo设置与使用上期我们讲了Linux远程登陆telnet及ssh服务,下面我们讲的是设备文件管理Linux沿袭Unix的风格,将所有设备认成是一个文件。设备文件分为两种:块设备文件(b)字符设备文件(c)设备文件一般存放在/dev目录下/dev/hda-t:IDE设备/dev/sda-z:SCSI设备/dev/fd0-7:标准软驱/dev/md0-31:软raid设备/dev/loop0-7:本地回环设备/dev/ram0-15:内存/dev/null:无限数据接收设备 ,相当于回收站/dev/zero:无限零资源/dev/tty0-63:虚拟终端/dev/ttyS0-3:串口/dev/lp0-3:并口/dev/console:控制台/dev/fb0-31:framebuffer/dev/cdrom= /dev/hdc/dev/modem = /dev/ttyS0-9/dev/pilot = /dev/ttyS0-9/dev/console:控制台和/dev/tty0-63:虚拟终端的区别与联系控制抬就好比电视机上的按钮,终端好比遥控板,他们的目的都是控制电视机,但是控制台必须在本地,而终端可以在远端,系统只有一个控制台,叫console,其他的都是终端好了,下面我们通过使用对设备文件的操作来完成对设备的操作(1)现在我打开了两个虚拟终端,用w 查看就有pts/0和pts/1这两个虚拟终端然后在pts/0输入命令:# echo hello /dev/pts/1然后我切换到pts/1看看,已经有显示了哈这样在pts/1就可以看见hello的文字了(2)然后我们对hda硬盘文件操作,来备份/恢复分区表备份分区信息,使用命令:#fdisk -l /dev/hda /bak/partition.bak备份MBR,使用命令:# dd if=/dev/hda of=/bak/mbr.bak bs=512 count=1说明:主引导记录512字节中前446是程序代码,后64字节包含分区表信息,最后2字节标识是MBR。恢复分区表,使用命令:# dd if=/bak/mbr.bak of=/dev/hda bs=512 count=1下面我们就说说挂载吧,讲挂载我们先要知道文件系统,常见的文件系统大家说说有哪些?不同的操作系统需要使用不同类型的文件系统,为了与其他操作系统兼容,以相互交换数据,通常操作系统都能支持多种类型的文件系统,比如Windows 2000 Server,系统默认或推荐采用的文件系统是NTFS,但同时也支持FAT32或FAT16文件系统;DOS和Windows 9x一般采用FAT16或FAT32,不支持NTFS文件系统。 Linux内核支持十多种不同类型的文件系统,对于Red Hat Linux,系统默认使用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环境中刻录光盘。Red Hat Linux支持的文件系统很多,在些就不逐一介绍,要想了解其支持的文件系统类型,可通过以下命令来查看:# 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,Windows NT使用的扩展的DOS文件系统。增加长文件名支持。9.proc 是一种假的文件系统,用于和内核数据结构接口, 它不占用磁盘空间,参考 man proc。10.iso9660 是一种针对ISO9660标准的CD-ROM文件系统。自动支持两种扩展(看下面)。11.High Sierra 是ISO9660标准的前身。Linux自动支持它。Rock Ridge是Rock Ridge interchange Protocol协议的一个产品,用于进一步向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 是Novell NetWare使用的,支持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.hfs hfs(=hierarchical files system)是苹果文件系统。23.ntfs Windows NT文件系统。注意,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 -t iso9660 -o ro /dev/hdc /mnt/dvd-t iso9600是指定文件系统,光盘的是is09660 ,如果没有指定的情况下,系统有个默认的参数auto,自动识别文件系统所有不跟也行:mount /dev/hdc /mnt/dvd/,建议新手还是加上这个参数-o 是附加参数,ro是以只读方式挂载。应为光盘是不可写的,所以要只读挂载auto文件系统 -t的一个参数,你不加-t 他就默认是这个挂载U盘的方法# mount -t vfat -o rw /dev/sda /mnt/你自己建立的目录你U盘是哪个设备需要具体看你情况而定现在的Usb设备很多,如mp3,u盘,读卡器等,但在linux上不一定被认出来,现把自己挂载Kingston DataTraveler 4GB U盘总结的经验分享出来哈插入U盘之后,按照下面的步骤:1.fdisk -l /dev/sd*fdisk -l 列出指定设备的分区表信息。由于usb盘是被模拟为scsi设备访问,所以会被自动命名为sd*。通常这一步就能找到U盘,如果U盘有指示灯也会亮,表示被找到。2.lsmod如果执行上一个命令没有反应,或者某些信息显示模块没有加入,我们可以lsmod查看一下是否有usb-storage scsi_mod sd_mod模块。rootrhel5 # lsmodModule Size Used byvfat 15809 0fat 51165 1 vfatnls_utf8 6209 1autofs4 24389 2hidp 23105 2rfcomm 42457 0l2cap 29633 10 hidp,rfcommbluetooth 53925 5 hidp,rfcomm,l2capvmblock 20512 4vmmemctl 14544 0sunrpc 144253 1ipv6 251393 14vmhgfs 54912 0dm_mirror 28869 0dm_multipath 21577 0dm_mod 58457 2 dm_mirror,dm_multipathvideo 19269 0sbs 18533 0backlight 10049 0i2c_ec 9025 1 sbsbutton 10705 0battery 13637 0asus_acpi 19289 0ac 9157 0lp 15849 0joydev 13313 0floppy 57125 0snd_ens1371 28513 1gameport 18633 1 snd_ens1371snd_rawmidi 26561 1 snd_ens1371snd_ac97_codec 93025 1 snd_ens1371ac97_bus 6337 1 snd_ac97_codecsnd_seq_dummy 7877 0pcspkr 7105 0pcnet32 35269 0snd_seq_oss 32577 0snd_seq_midi_event 11072 1 snd_seq_osssnd_seq 49713 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_eventvmxnet 21504 0snd_seq_device 11725 4 snd_rawmidi,snd_seq_dummy,snd_seq_oss,snd_seqsnd_pcm_oss 42945 0snd_mixer_oss 19009 1 snd_pcm_osssnd_pcm 72133 3 snd_ens1371,snd_ac97_codec,snd_pcm_ossi2c_piix4 12237 0i2c_core 23745 2 i2c_ec,i2c_piix4mii 9409 1 pcnet32snd_timer 24645 2 snd_seq,snd_pcmsnd 52421 12 snd_ens1371,snd_rawmidi,snd_ac97_codec,snd_seq_oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timersoundcore 11553 1 sndsnd_page_alloc 13641 1 snd_pcmide_cd 40033 1serio_raw 10693 0parport_pc 29157 1cdrom 36705 1 ide_cdparport 37513 2 lp,parport_pcata_piix 18501 0libata 115833 1 ata_piixsd_mod 24897 0scsi_mod 132685 2 libata,sd_modext3 123337 7jbd 56553 1 ext3ehci_hcd 32973 0ohci_hcd 23261 0uhci_hcd 25421 0rootrhel5 #没有就modprobe module,添加所缺模块:usb-storage scsi_mod sd_mod在Linux下这些设备通常都是以一种叫做usb-storage的方式进行驱动。要使用他们必须加载此模块,当然,usbcore.o、usb-uhci.o、usb-ohci也肯定是不可缺少的。另外,若你系统中SCSI支持也是模块方式,那么这些模块也要加载现在我们再用lsmod命令查看,可以看到模块已经添加上去了哈rootrhel5 #lsmodModule Size Used byusb_storage 76577 0autofs4 24389 2hidp 23105 2rfcomm 42457 0l2cap 29633 10 hidp,rfcommbluetooth 53925 5 hidp,rfcomm,l2capvmblock 20512 4vmmemctl 14544 0sunrpc 144253 1ipv6 251393 14vmhgfs 54912 0dm_mirror 28869 0dm_multipath 21577 0dm_mod 58457 2 dm_mirror,dm_multipathvideo 19269 0sbs 18533 0backlight 10049 0i2c_ec 9025 1 sbsbutton 10705 0battery 13637 0asus_acpi 19289 0ac 9157 0lp 15849 0floppy 57125 0joydev 13313 0snd_ens1371 28513 1gameport 18633 1 snd_ens1371snd_rawmidi 26561 1 snd_ens1371snd_ac97_codec 93025 1 snd_ens1371ac97_bus 6337 1 snd_ac97_codecsnd_seq_dummy 7877 0snd_seq_oss 32577 0snd_seq_midi_event 11072 1 snd_seq_osssnd_seq 49713 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_eventsnd_seq_device 11725 4 snd_rawmidi,snd_seq_dummy,snd_seq_oss,snd_seqsnd_pcm_oss 42945 0pcnet32 35269 0snd_mixer_oss 19009 1 snd_pcm_ossvmxnet 21504 0snd_pcm 72133 3 snd_ens1371,snd_ac97_codec,snd_pcm_osspcspkr 7105 0i2c_piix4 12237 0snd_timer 24645 2 snd_seq,snd_pcmi2c_core 23745 2 i2c_ec,i2c_piix4snd 52421 12 snd_ens1371,snd_rawmidi,snd_ac97_codec,snd_seq_oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timermii 9409 1 pcnet32soundcore 11553 1 sndsnd_page_alloc 13641 1 snd_pcmparport_pc 29157 1ide_cd 40033 0parport 37513 2 lp,parport_pccdrom 36705 1 ide_cdserio_raw 10693 0ata_piix 18501 0libata 115833 1 ata_piixsd_mod 24897 0scsi_mod 132685 3 usb_storage,libata,sd_modext3 123337 7jbd 56553 1 ext3ehci_hcd 32973 0ohci_hcd 23261 0uhci_hcd 25421 0rootrhel5 #在加载完这些模块后,我们插入U盘就会发现系统中多了一个SCSI硬盘,通过正确地mount它,就可以使用了(SCSI硬盘一般为/dev/sd?)。我们再重新插拔下U盘,然后再试就ok3.最后就是把U盘mount上去,这里需要先在mnt目录下面建一个udisk目录:mount /dev/sda /mnt/udisk某些系统需要指定文件系统的类型,可以用:mount -t vfat -o rw /dev/sda /mnt/udisk手动挂载的-o还有其他参数,我给大家说说-o remount是重新挂载某个分区-o loop是挂载虚拟ISO用的还有-o username=? password=?之类的,我们用到的时候在说哈自动挂载下面说自动挂载,这个就要稍微麻烦一点点了大家 cd /misc这个目录,ls看看这个目录里面有没东西然后cd cd,切换到当前目录的cd目录试试,我们发现可以进去哈,桌面上光驱也跳出来了哈ls看看,cd目录里面就是光盘里面的内容哈为什么没有这个目录我们却能够进入呢?这就是自动挂载了当我们cd到自动挂载的目录,系统就会自动把分区挂载到这个目录,而不需要我们去手动挂载自动挂载有这几个特点:被挂载的目录是不需要建立的,系统自动帮你建立自动挂载需要激活,没激活的情况下被挂载目录是不可见的我们来看看这个系统自动挂载是怎么定义的,系统通过autofs服务自动挂载文件系统,需要后台的automount进程,autofs服务的开闭由/etc/init.d/autofs脚本控制,主要应用于软驱与光驱等场合,如果该设备一段时间没有被使用,autofs会自动卸载。自动挂载分两个配置文件来完成:一个是主文件,一个是辅文件。主文件只有一个 ,就是/etc/auto.master辅助文件是自己在主文件里面定义的,下面请大家用vim打开主文件:vim /etc/auto.master看见/misc这个目录了吧我们在下面添加一个自动挂载,主目录为michael,辅助文件为 /etc/auto.micchael就这样写:/michael /etc/auto.michael写好后保存退出,我们去看看主文件里面定义的/etc/auto.misc这个文件是怎么写滴哈vim /etc/auto.misc大家估计看懂了吧,前面的cd就是最终挂载目录,中间就是文件类型,后面就是挂载的设备好了,大家退出,然后编写刚才我们那个自动挂载的辅助文件,辅助文件默认是没有的,我们需要手动建立vim /etc/auto.michael然后把辅助文件的内容写进去,我们最终的挂载目录为dvd ,自动挂载,挂载的设备还是光盘,大家按照的我要求,参照auto.misc写哈:最前面是最终挂载点 中间是文件系统 后面是挂载设备dvd -fstype=iso9660,ro :/dev/hdcOK,然后保存退出,切记,辅助文件的语法格式要和主文件中定义的要一样,不然会失败的。现在cd /,ls 看看有没有michael这个目录然后重新启动自动挂载:service autofs restart现在再ls看看有没有michael这个目录,已经有了哈然后cd michael/进入这个目录,ls查看下/michael/目录下没有文件哈然后cd dvd ,看能不能自动挂载自动挂载的主文件定义的主目录和辅助文件定义的最终目录都是不用手动建立的。这就算成功了,辅助文件内可以写分区的,也可以写nfs或者是samba的,不仅仅是光驱,这个就要你们自己灵活运用开机挂载:/etc/fstab开机挂载就是在系统启动后自动挂载的目录,定义这个功能的文件是/etc/fstab 文件,请大家打开这个文件:vim /etc/fstab这个文件我们在系统排错的时候都讲过了,还记得吗?第一列:设备名称,也就是要挂载的设备第二列:挂载点第三列:文件系统类型第四列:挂载参数第五列:是否dump备份,0为不,1为一天一次,2为两天一次第六列:是否检查,0为不检查,1为第一个检查,2为第一的检查完了,检查值为二的如果我们要把某个分区开机挂载,就直接写入这个文件系统就OK按照上面的规则,下面大家把hdc这个设备开机挂载到/mnt下的vcd目录只需要加入这样一行,然后保存退出:/dev/hdc /mnt/vcd iso9660 defaults,ro 0 0然后#mkdir /mnt/vcd这样就完成开机挂载了,不过,我没必要真的重新启动一次计算机,有个命令可以读取fstab文件中没有被挂载的文件#mount -aError: cannot mount filesystem: Protocol error,倒解决的方法很简单,到VMware中将虚拟机选项中的”Shared Folders”设置为Enabled即可。Disabled设置为Enable我们再试下mount -a命令哈这三步完成了哈,就可以去/mnt/vcd中去看看了再给大家说一个命令,用卷标挂载:mount L data /mnt/datas(data代表卷标)查看卷标是:#e2label 设备名称(设备如/dev/hda1,/dev/sda3)更改卷标名:#e2label 设备名称 卷表名称大家可以看看,但是不要乱改,可能会让你系统不能正常启动,因为fstab文件都使用卷表来定义的现在我们来试试用卷标挂载:mount L /home /mnt/testok了哈下面讲讲sudosudo是Unix/Linux平台上的一个非常有用的工具,它允许系统管理员分配给普通用户一些合理的“权利”,让他们执行一些只有超级用户或其他特许用户才能完成的任务大家知道ubuntu吧,他就封闭了root用户,都是使用的sudosudo能够限制指定用户在指定主机上运行某些命令。sudo可以提供日志,忠实地记录每个用户使用sudo做了些什么,并且能将日志传到中心主机或者日志服务器。sudo为系统管理员提供配置文件,允许系统管理员集中地管理用户的使用权限和使用的主机。它默认的存放位置是/etc/sudoers。sudo使用时间戳文件来完成类似“检票”的系统。当用户执行sudo并且输入密码后,用户获得了一张默认存活期为5分钟的“入场券”(默认值可以在编译的时候改变)。超时以后,用户必须重新输入密码。编辑/etc/sudoers文件,只有超级用户才可以修改它。sudoers文件就是sudo的配置文件了,但是我们不建议用户直接vim这个文件,建议使用visudo这个命令来编辑这个文件:#visudo之所以使用visudo有两个原因,一是它能够防止两个用户同时修改它;二是它也能进行有限的语法检查。所以,即使只有你一个超级用户,你也最好用visudo来检查一下语法。sudo的常用参数sudo -l :列出当前用户可以执行的命令。只有在sudoers里的用户才能使用该选项。sudo -u 用户名 命令:以指定用户的身份执行命令。后面的用户是除root以外的,可以是用户名,也可以是#uid。sudo -k:清除“入场卷”上的时间,下次再使用sudo时要再输入密码。sudo -b 命令:在后台执行指定的命令。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论