第五章 Linux中的磁盘系统管理.docx
- 文档编号:30300713
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:16
- 大小:28.50KB
第五章 Linux中的磁盘系统管理.docx
《第五章 Linux中的磁盘系统管理.docx》由会员分享,可在线阅读,更多相关《第五章 Linux中的磁盘系统管理.docx(16页珍藏版)》请在冰豆网上搜索。
第五章Linux中的磁盘系统管理
第五章Linux中的磁盘系统管理
一、磁盘管理基本命令
1.转换软盘数据---dd(ConvertandCopyaFile)
1)dd命令可以帮助我们将软盘中的数据写成一个文件,或是将硬盘中的文件写入软盘,如果要将软盘中的数据写成名为floppyfile的文件,可以输入以下命令:
[root@localhostroot]#ddif=/dev/fd0of=floppyfile
“if”表示输入的文件(InputFile),/dev/fd0是指第1部软驱,而“of”表示要输出的文件(OutputFile)。
2)还可以运用dd命令在Linux下制作引导盘,其范例如下:
[root@localhostroot]#ddif=boot.imgof=/dev/fd0bs=1440k
boot.img可用于Linux的开机,而bs表示输出软盘的字节数(Bytes),因为软盘的容量为1.44MB,所以可以指定为1440K
3)利用dd命令进行将文件内容的大小写互换,以下是范例:
[root@localhostroot]#cat>./lowercase
LinuxisafreeUnix-typeoperatingsystemoriginallycreatedbyLinusTorvaldswiththeassistanceofdevelopersaroundtheworld.
[root@localhostroot]#ddif=./lowercaseof=./uppercaseconv=ucase
0+1recordsin
0+1recordsout
[root@localhostroot]#cat>./uppercase
LINUXISAFREEUNIX-TYPEOPERATINGSYSTEMORIGINALLYCREATEDBYLINUSTORVALDSWITHTHEASSISTANCEOFDEVELOPERSAROUNDTHEWORLD.
范例中利用dd命令加上“conv=ucase”,其中的“conv”参数表示指定文件转换的方式,它的选项有很多,如下:
ascii转换EBCDIC为ASCII。
ebcdic转换ASCII为EBCDIC。
ibm转换ASCII为alternateEBCDIC.
block把每一行转换为长度为cbs的记录,不足部分用空格填充。
Unblock使每一行的长度都为cbs,不足部分用空格填充。
lcase把大写字符转换为小写字符。
ucase把小写字符转换为大写字符。
swab将输入的字节以2个为一组彼此调换内容
noerror出错时不停止。
Notrunc不截断输出文件。
sync把每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。
2.显示磁盘使用空间---du(DiskUsage)
du命令就是用来显示目前磁盘空间的使用情形,可以选择列出每一个文件的大小或全部文件的大小,而默认的文件大小是以KB为单位。
若没有使用任何参数,则du命令会显示目前目录下所有子目录所占的空间大小,但并不包含文件大小。
[root@localhost/dev]#du
32./cciss
35./i2o
[root@localhostroot]#du–a/home------显示目录下所有文件大小
4/home/jack/.bash_logout
4/home/jack/.bash_profile
4/home/jack/.bashrc
[root@localhostroot]#du/etc/fstab/etc/zshenv
4/etc/fstab
4/etc/zshenv
3.检查ext3文件系统----e3fsck(ext3FileSystemCheck)
ext3文件系统是RedHat7.2之后版本的默认文件系统,利用“e3fsck”命令来检查或修复Linux文件系统,它会借助执行后的返回值来显示不同的现况,使用它的最佳时机在无人登录系统或是文件系统还未加载前!
!
!
以下返回值的意义:
返回值
意义
0
没有任何错误发生。
1
文件系统发生错误,并且已经修正。
2
文件系统发生错误,并且已经修正。
4
文件系统发生错误,但没有修正。
8
运作时发生错误。
16
使用的语法发生错误。
128
共享的函数库发生错误。
注意:
在使用e3fsck时必须指定要检查的装置名称,之后系统会出现警告信息,提示执行此操作有可能会毁坏文件系统,再按下“Y”键后,系统即开始执行检查,最后会显示检查的结果。
[root@localhostroot]#/sbin/e3fsck/dev/hda1
e2fsck1.19,13-Jul-2000forEXT2FS0.5b,95/08/09
/dev/hda1ismounted.
WARNING!
!
!
Runninge3fsckonamountedfilesystemmaycause
SERVERfilesystemdamage.
Doyoureallywanttocontinue(y/n)?
yes
/bootwasnotcleanlyunmounted,checkforced.
Pass1:
Checkinginodes,blocks,andsizes
Pass2:
Checkingdirectorystructure
Pass3:
Checkingdirectoryconnectivity
/boot:
26/18072files(0.0%non-contiguous),5767/72261blocks
二、系统加载-----mount
特点:
1)在Linux中,如光驱、软驱和硬盘扇区,都视为文件,必须使用“加载”的程序才可使Linux操作系统存取它们。
2)除非特殊需要,系统才会进行光驱、软驱和硬盘扇区的加载,可以节省系统的开机时间。
3)与光驱和软驱不同的是,除了在系统安装时创建的硬盘扇区外,例如/、/usr、/mnt、/root等,如果有其他的文件系统,都必须加载它,否则Linux无法存取其中的内容。
文件系统类型及说明
文件系统类型
说明
auto
自动检测文件系统
ext2
Linux目前最常用使用的文件系统
hpfs
OS/2以及WindowsNT之前版本使用的文件系统
iso9660
CD-ROM使用的文件系统
minix
Linux早期版本使用的文件系统
msdos
MS-DOS使用的FAT文件系统
nfs
网络文件系统
ntfs
WindowsNT使用的文件系统
vfat
Windows95/98/NT/2000通用的文件系统
mount命令如果不加任何的参数,则会显示目录已加载的文件系统:
[root@localhostroot]#/bin/mount
若是在同一个硬盘中同时安装Linux和Windows操作系统,根据默认值,Linux无法看到Windows操作系统的扇区内容,利用加载方式来将Windows操作系统的扇区提供Linux存取。
假设在Windows操作系统上使用FAT32的文件系统(/dev/hda3),同时需要预先创建一个加载目录,例如:
/mnt/fat32,则可以使用以下的命令:
[root@localhostroot]#/bin/mount–tfat32/dev/had3/mnt/fat32
光盘加载,需要预先创建一个加载目录,例如:
/mnt/cdrom,然后使用命令:
[root@localhostroot]#/bin/mount–tiso9660/dev/cdrom/mnt/cdrom
注意:
光驱加载后,除非使用“umount”命令来斜载,否则无法退出光盘
软驱加载,命令如下:
[root@localhostroot]#/bin/mount–tmsdos/dev/fd0/mnt/floppy
注意:
“floppy”是预先创建的目录。
当所有加载的文件系统在不需要时候都可以利用“umount”命令来斜载,唯一例外的是“/”目录,它会直到关机时才会进行卸载,以上面3例,可使用以下的方法:
[root@localhostroot]#bin/umount/mnt/fat32
[root@localhostroot]#bin/umount/mnt/cdrom
[root@localhostroot]#bin/umount/mnt/floppy
还可在图形界面中找到名为“UserMountTool”的图形接口工具,首先要选择“K菜单”/“程序”/“系统”/“DiskManagement”选项,
在“Directory”字段下,可以显示目前已加载的文件系统以及光驱和软驱,可以利用右侧的按纽来决定是否加载或卸载指定的文件系统。
注意:
虽然可以利用mount命令来加载不同的文件系统,但只要重新开机,这些加载都会消失,重启需要重新执行加载。
通过在/etc/fstab文件中为之添加内容就可以简化常用的挂装命令。
请按照下面的方法进行操作:
1)以根用户身份登录进入系统。
2)使用“vi/etc/fstab”之类的命令打开/etc/fstab文件。
3)检查文件中是否已经有了与你想要添加的内容有关的语句。
举例来说,因为/mnt/cdrom和/mnt/floppy经常被使用,所以一般都已经在这个文件中了。
文件中的第2列是挂装点的名称。
如果你的想法已经都表现在这个文件中了,请输入“:
q”命令按回车键退出编辑器程序。
装置名称加载目录文件系统选项Dump转储Pass
LABEL=//ext2defaults11
LABEL=/boot/bootext2defaults12
LABEL=/home/homeext2defaults12
/dev/fd0/mnt/floppyautonoauto,ower00
devpts/dev/ptsdevptsgid=4,mode=62000
/dev/cdrom/mnt/cdromiso9660noauto,ower,ro00
4)如果使用的是vi编辑器程序,按下“G”键前进到文件末尾,然后按下“o”键插入一个新的文本行。
5)/etc/fstab文件中的数据项是如下所示的格式:
/dev/device/mnt/mountpointtyperulesdumpableorder
因为这是一个在开机引导启动的时候不会自动挂装的设备,它的格式应该是如下所示:
/dev/device/mnt/mountpointtypenoauto00
6)确定需要安装的设备。
7)建立需要把设备安装在其上的挂装点。
记住这个挂装点最好起一个简单易记的名字。
举例来说,如果是在对挂装MS-DOS软盘的挂装命令进行简化的话,可以考虑使用一个比如说像/mnt/dosfloppy这样的名字。
8)选择正确的文件系统类型。
对/mnt/dosfloppy例子而言,它的类型是msdos。
9)完成这个语句。
对MS-DOS软盘的例子而言,它将会是:
/dev/fd0/mnt/dosfloppymsdosnoauto00
10)按下ESC键,然后输入“:
wq”命令,再按下回车键。
保存文件并退出。
挂装一个已经准备好的设备类型
按照上节中介绍的步骤完成操作之后,就可以挂装这类设备了。
其方法是先把它(比如说是一张MS-DOS软盘)放到驱动器中,
然后输入“mount/mnt/mountpoint”命令(比如说“mount/mnt/dosfloppy”。
)
在开机引导启动时自动挂装一个设备
如果想设置在开机引导启动的时候自动挂装某个设备,需要把它插入到/etc/fstab文件中去。
请按照下面的方法进行操作:
1)以根用户身份登录进入系统。
2)使用“vi/etc/fstab”之类的命令打开/etc/fstab文件。
3)如果使用的是vi编辑器程序,按下“G”键前进到文件结尾,然后按下“o”键插入一个新的文本行。
4)/etc/fstab文件中的数据项是如下所示的格式:
/dev/devicemountpointtyperules0order
5)确定需要挂装的设备。
举例来说,用户可能添置了第二块IDE硬盘驱动器并把其上第二个分区分配给Linux操作系统使用。
这个设备就是/dev/hdb2。
6)建立需要把设备安装在其上的挂装点。
重要的是认真考虑这一环节,因为这个设备将作为文件系统永久性的一个部分。
通常/mnt树状结构是用于临时挂装的设备的,因此现在这个新分区应该被添加到别的地方。
做出这个决定需要综合考虑个人爱好、文件系统标准(FileSystemStandard,简称FSSTND)以及新分区将起到什么样的作用。
举例来说,如果想把这个新分区作为一个共享的空间,用户们可以在其上共同完成项目工作,那么也许一个比较好的挂装点名称可以是/home/projrcts。
7)选择正确的文件系统类型。
对例子中的Linux分区而言,它的类型应该是ext2。
8)选择这个挂装上的设备应该遵守的规则。
最经常使用的规则列在下表中。
如果想看到完整的清单,请输入“manmount”命令。
通过/etc/fstab文件自动挂装设备常用规则
选项
说明
async
以异步的方式执行文件系统的输入输出操作
atime
每次存取时,都更新inode的存取时间,取消选项为noatime
auto
自动加载设置为auto的装置,取消选项为noauto
defaults
使用默认的选项
dev
可解读文件系统上的字符或区块装置,取消选项为nodev
exec
可执行二进制文件,取消选项为noexec
nosuid
关闭set-user-identifier与set-group-identifier
nouser
是一般用户无法执行加载操作
remount
重新加载装置
ro
以只读模式加载
rw
以可读写模式加载
suid
打开set-user-identifier与set-group-identifier
sync
以同步方式执行文件系统的输入输出操作
user
是一般用户执行加载操作
因为这个例子中正在挂装的分区是准备用来让全部用户共享项目工作数据的,所以使用default选项就可以把一切必要的设置都包括了。
9)最后一个数据域说明这个设备的挂装顺序。
如果这个设备不是唯一自动挂装的设备,就把它的值还是置为零(0)root根分区(/)的这个值永远是1。
从这里开始,但这些设备需要被挂装的时候,就会按顺序从2往上以整数开始进行编号。
10)在/etc/fstab文件的末尾输入所有这些数值。
根据整个例子,最后的结果应该是:
/dev/hdb2/home/projectsext2defaults02
按下ESC键,然后输入“:
wq”命令,再按下回车键。
保存文件并退出。
在系统重新引导启动之前,这个分区还不能自动被挂装。
但是现在可以使用下面的命令把它手动地挂装上:
mount/dev/hdb2/home/projects
有关/etc/fstab的概念:
Ø装置名称:
表示系统在开机时会自动加载的文件系统,可依个人的需求来设置,但root文件一定要加载到“/”,否则无法开机。
Ø加载目录:
是每个文件系统加载至系统的位置,它必须使用绝对路径来表示,惟一不需指明路径的是“swap”,因为它并不是实际数据的存储位置,其作用相当于“虚拟内存”。
Ø文件系统:
依照各扇区格式化时,选择不同的文件系统。
Ø选项:
可以指定一个或多个该文件系统的选项,若有一个以上的选项则要用逗号分开。
ØDump:
只有2个值:
0和1。
当此字段的值为0时,表示该文件系统不作文件系统检查的操作。
如果是1则表示需要。
通常只有ext2,ext3需要检查,其他都不需要。
ØPass:
该字段有3个值:
0、1和2。
它们各自表示执行文件系统检查的顺序,
Ø0表示不作检查;1表示最先执行文件系统检查,通常是指“/”而言,因为它的重要性最高,而2表示执行文件系统检查的第2顺序。
三、磁盘空间管理
由于Linux操作系统因为其多用户多任务的特性,通常都支持许多客户端的使用。
必须有效地限制用户的硬盘使用空间,才可避免硬盘空间的浪费。
利用”quota”命令来限制用户存取,相关步骤如下:
注释:
usrquota是基于用户的磁盘配额,grpquota是基于组的磁盘配额,根据需要进行修改,之后你或者重新启动一下;
1.开启磁盘的quota功能:
由于quota需要在ext的Linux延伸格式档案才可以启动,所以你就必须要将准备开启quota的磁盘启动参数,写进入quota的磁盘设定才行(/etc/fstab)!
以我的例子而言,我想要在/home底下进行quota的限制test,test2这两个人!
正巧/home是一个独立的扇区,这可以使用df来查询:
此外,必需要特别留意的是,最好不要以根目录亦即是/进行quota啦!
否则容易有些问题呢!
另外,不要针对root做quota!
[root@testroot]#df
Filesystem 1K-blocks UsedAvailableUse%Mountedon
/dev/hda1 1904920 1088136 720020 61%/
/dev/hdb1 976344 71504 854444 8%/backup
/dev/hdb2 101540 4252 92048 5%/home
2.嗯!
我的home是独立的partition,并且他的装置名为/dev/hdb2,好了!
那么我就必须要启动/home这个/dev/hdb2的quota档案格式,好了!
那么由于档案格式的设定是写在/etc/fstab里头,所以我们以vi来编辑他吧!
只要在/etc/fstab里头增加了usrquota,grpquota就可以啦!
『注:
请特别留意,这两个项目请『务必』不要写错了!
请再写入/etc/fstab之前好好的再次检查,因为写错之后,很有可能造成系统无法开机(虽然机率不高,但是有可能!
?
)
[root@testroot]#vi/etc/fstab
#device MountPoint filesystem parameters dump fsck
/dev/hda1 / ext3 defaults 1 1
/dev/hda2 swap swap defaults 0 0
/dev/hdb1 /backup ext3 defaults 1 1
/dev/hdb2 /home ext3 defaults 1 1
none /dev/pts devpts mode=0620 0 0
none /proc proc defaults 0 0
上面的黄色字体改成底下的样子!
/dev/hdb2 /home ext3 defaults,usrquota,grpquota11
3.多了usrquota,grpquota注意,由defaults,usrquota,grpquota之间都没有空格!
这样就算加入了quota的磁盘格式了!
不过,由于真正的quota在读取的时候是读取/etc/mtab这个档案的,偏偏这一个档案需要重新开机之后才能够以/etc/fstab的新数据进行改写!
所以这个时候你可以选择:
4.
(1)重新开机==>reboot;也可以选择
(2)重新remountfilesystem来驱动设定值!
5.我是不太喜欢重新开机的人啦!
所以我就这么做:
[root@test/]#umount/dev/hdb2
[root@test/]#mount-a
[root@test/]#more/etc/mtab
/dev/hda1/ext3rw00
none/procprocrw00
none/proc/bus/usbusbdevfsrw00
none/devdevfsrw00
none/dev/ptsdevptsrw,mode=062000
/dev/hdb1/backupext3rw00
/dev/hdb2/homeext3rw,usrquota,grpquota00
或者以下列的方式重新mount所有的磁盘:
[root@test/root]#mount-a-oremount <==这个指令可以重新将/etc/fstab的咚咚mount下来!
6.这样我们就已经成功的将quota的功能写入partition当中啰!
另外,我们这里是以ext3这个磁盘格式来测试quota的呦!
7.扫瞄磁盘的使用者使用状况,并产生重要的aquota.group与aquota.user:
接着下来就是要来扫瞄一下我们所需要的磁盘到底有没有多余的空间可以让我们来设定quota呢?
并且将扫瞄的结果输出到这个磁盘的最顶层去(也就是/home底下)这个时候就需要quotacheck这个指令的帮忙了!
使用quotacheck就可以轻易的将所需要的数据给他输出了!
现在就OK啦!
并且在/home底下会产生aquota.gro
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第五章 Linux中的磁盘系统管理 第五 Linux 中的 磁盘 系统管理