Linux入职基础-5.2_磁盘维护管理(命令实例)

磁盘维护管理(Linux命令操作实例)

一:命令列表

badblocks   检查磁盘坏道情况

dd     用指定大小的块拷贝一个文件(请查阅《命令实例专题02:磁盘维护dd》)

df     检查磁盘空间使用情况

du     统计目录(或文件)所占磁盘空间的大小

e2fsck  检查ext2文件系统的正确性

fsck     检查修复linux文件系统

fdisk    磁盘分区管理

hdparm  检查、设定、优化磁盘参数

mformat  格式化硬盘,建立DOS文件系统

mkdosfs  建立DOS文件系统

mkfs   格式化linux文件系统

mkbootdisk  建立linux目前系统的启动盘

mkswap  设置swap交换分区

mbadblocks 检查MS-DOS件系统的磁盘是否有损坏的磁区

mount /umount   文件系统挂载/卸载(请查阅《mount设备挂载十例讲解》)

losetup  设定与控制循环设备

quota/ quotaoff   磁盘配额限制设置和查看/关闭

edquota  用于编辑指定用户或工作组磁盘配额

sfdisk   分区操作工具

swapon/ swapoff  交换分区开启/关闭

symlinks  维护符号连接的工具

sync  强制把内存数据写入硬盘

二、实例解说

名称:badblocks

功能:检查磁盘坏道情况

语法:badblocks[-svw][-b <区块大小>][-o <输出文件>][磁盘装置][磁盘区块数][启始区块]

参数:

-b blocksize

 指定磁盘的区块大小,单位为字节,默认值为“block 4K ”(4K/block)。

-c blocksize每个区块检查的次数,默认是16次。

-f 强制在一个已经挂载的设备上执行读写或非破坏性的写测试操作

 (我们建议先umount设备,然后再进行坏道检测。仅当/etc/mtab出现误报设备挂载错误的时候可以使用该选项)。

-i file 跳过已经显示在file文件中的坏道,而不进行检测(可以避免重复检测)

-o file 把检测结果输出到file文件。

-p number 重复搜寻设备,直到在指定通过次数内都没有找到新的坏块位置,默认次数为0

-s 在检查时显示进度。

-t pattern 通过按指定的模式读写来检测区块。你可以指定一个0到ULONG_MAX-1的十进制正值,或使用random(随机)。

-v 执行时显示详细的信息。

范例:

#检查/sda1分区,检查1次,显示过程,检查结果保存文件

[root@localhost~]# badblocks -v -b 4096 -c 1 /dev/sda1 -o sda1_badblocks_list

名称:du

功能:统计目录(或文件)所占磁盘空间的大小

语法:du [-abcDhHklmsSx][-L <符号连接>][-X <文件>][--block-size][--exclude=<目录或文件>][--max-depth=<目录层数>] [目录或文件]

参数:

-a或-all  为每个指定文件显示磁盘使用情况,或为目录中每个文件显示各自磁盘使用情况。

-b或-bytes 显示目录或文件大小时,以byte为单位。

-c或–total 除了显示目录或文件的大小外,同时也显示所有目录或文件的总和。

-D或–dereference-args 显示指定符号连接的源文件大小。

-h或–human-readable 以K,M,G为单位,提高信息的可读性。

-H或–si 与-h参数相同,但是K,M,G是以1000为换算单位,而不是以1024为换算单位。

-k或–kilobytes 以1024 bytes为单位。

-l或–count-links 重复计算硬件连接的文件。

-L<符号连接>或–dereference<符号连接> 显示选项中所指定符号连接的源文件大小。

-m或–megabytes 以1MB为单位。

-s或–summarize 仅显示总计,即当前目录的大小。

-S或–separate-dirs 显示每个目录的大小时,并不含其子目录的大小。

-x或–one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。

-X<文件>或–exclude-from=<文件> 在<文件>指定目录或文件。

–exclude=<目录或文件> 略过指定的目录或文件。

–max-depth=<目录层数> 超过指定层数的目录后,予以忽略。

范例:

#1显示一个目录树及其每个子树的磁盘使用情况

[root@localhost~]# du /home/rabbit

#2 要通过以1024字节为单位显示一个目录树及其每个子树的磁盘使用情况

[root@localhost~]# du -k /home/rabbit

#3以MB、GB为单位显示一个目录树及其每个子树的磁盘使用情况

[root@localhost~]# du -m /home/rabbit   //MB 磁盘块数

[root@localhost~]# du -g /home/rabbit

#4查看当前目录下所有目录以及子目录的大小

du -h .

du –h /etc    //-h表示用K、M、G的人性化形式显示

#5当前目录下user目录的大小,并不想看其他目录以及其子目录:

[root@localhost/]# du -sh root

[root@localhost/]# du -sh etc

#6列出etc目录及其子目录下所有目录和文件的大小

[root@localhost/]# du -ah etc    //-a表示包括目录和文件

#7统计深入到第n层目录

[root@localhost/]# du -h –max-depth=0 src

#8列出当前目录中的目录名不包括xyz字符串的目录的大小

[root@localhost /]#du -h –exclude=’*xyz*

名称:e2fsck

功能:检查ext2文件系统的正确性

语法:e2fsck[-acCdfFnprsStvVy][-b <superblock>][-B <区块大小>][-l <文件>][-L<文件>][设备名称]

0    没有任何错误发生。

1    文件系统发生错误,并且已经修正。

2    文件系统发生错误,并且已经修正。

4    文件系统发生错误,但没有修正。

8    运作时发生错误。

16   使用的语法发生错误。

128  共享的函数库发生错误。

参数:

-a   不询问使用者意见,便自动修复文件系统。

-b<superblock>   指定superblock,而不使用预设的superblock。

-B<区块大小>   指定区块的大小,单位为字节。

-c   一并执行badblocks,以标示损坏的区块。

-C   将检查过程的信息完整记录在filedescriptor中,使得整个检查过程都能完整监控。

-d   显示排错信息。

-f   即使文件系统没有错误迹象,仍强制地检查正确性。

-F   执行前先清除设备的缓冲区。

-l<文件>   将文件中指定的区块加到损坏区块列表。

-L<文件>   先清除损坏区块列表,再将文件中指定的区块加到损坏区块列表。因此损坏区块列表的区块跟文件中指定的区块是一样的。

-n   以只读模式开启文件系统,并采取非互动方式执行,所有的问题对话均设置以"no"回答。

-p   不询问使用者意见,便自动修复文件系统。

-r   此参数只为了兼容性而存在,并无实际作用。

-s   如果文件系统的字节顺序不适当,就交换字节顺序,否则不做任何动作。

-S   不管文件系统的字节顺序,一律交换字节顺序。

-t   显示时间信息。

-v   执行时显示详细的信息。

-y   采取非互动方式执行,所有的问题均设置以"yes"回答。

范例:

#检查/dev/sda1分区文件系统

[root@localhost /]# e2fsck -a -c /dev/sda2

名称:fdisk

功能:磁盘分区管理

语法:

1. 输入 m 显示所有命令列示。

2. 输入 p 显示硬盘分割情形。

3. 输入 a 设定硬盘启动区。

4. 输入 n 设定新的硬盘分割区。

4.1. 输入 e 硬盘为[延伸]分割区(extend)。

4.2. 输入 p 硬盘为[主要]分割区(primary)。

5. 输入 t 改变硬盘分割区属性。

6. 输入 d 删除硬盘分割区属性。

7. 输入 q 结束不存入硬盘分割区属性。

8. 输入 w 结束并写入硬盘分割区属性

参数:

范例:

fdisk  -l  /dev/sda  #1观察硬盘之实体使用情形

fdisk  /dev/sda   #2可进入分割硬盘模式

名称:hdparm

功能:显示与设定硬盘的参数

语法:hdparm[-CfghiIqtTvyYZ] [设备]

参数:

-a<快取分区> 设定读取文件时,预先存入块区的分区数,若不加上<快取分区>选项,则显示目前的设定。

-A<0或1> 启动或关闭读取文件时的快取功能。

-c<I/O模式> 设定IDE32位I/O模式。

-C 检测IDE硬盘的电源管理模式。

-d<0或1> 设定磁盘的DMA模式。

-f 将内存缓冲区的数据写入硬盘,并清楚缓冲区。

-g 显示硬盘的磁轨,磁头,磁区等参数。

-h 显示帮助。

-i 显示硬盘的硬件规格信息,这些信息是在开机时由硬盘本身所提供。

-I 直接读取硬盘所提供的硬件规格信息。

-k<0或1> 重设硬盘时,保留-dmu参数的设定。

-K<0或1> 重设硬盘时,保留-APSWXZ参数的设定。

-m<磁区数> 设定硬盘多重分区存取的分区数。

-n<0或1> 忽略硬盘写入时所发生的错误。

-p<PIO模式> 设定硬盘的PIO模式。

-P<磁区数> 设定硬盘内部快取的分区数。

-q 在执行后续的参数时,不在屏幕上显示任何信息。

-r<0或1> 设定硬盘的读写模式。

-S<时间> 设定硬盘进入省电模式前的等待时间。

-t 评估硬盘的读取效率。

-T 平谷硬盘快取的读取效率。

-u<0或1> 在硬盘存取时,允许其他中断要求同时执行。

-v 显示硬盘的相关设定。

-W<0或1> 设定硬盘的写入快取。

-X<传输模式> 设定硬盘的传输模式。

-y 使IDE硬盘进入省电模式。

-Y 使IDE硬盘进入睡眠模式。

-Z 关闭某些Seagate硬盘的自动省电功能。

范例:

#1显示硬盘的相关设置

[root@localhost/]# hdparm /dev/sda

#2 .显示硬盘的柱面、磁头、扇区数

[root@localhost/]# hdparm -g /dev/sda

#3评估硬盘的读取效率

[root@localhost/]# hdparm -t /dev/sda

#4硬盘快取的读取效率

[root@localhost/]# hdparm -T /dev/sda

#5检测IDE硬盘的电源管理模式

名称:mkfs

功能:格式化文件系统

语法:mkfs [-V] [-tfstype] [fs-options] filesys [blocks] [-L Lable]

mkfs本身并不执行建立文件系统的工作,而是去调用相关的程序来执行。例如,若在"-t" 参数中指定ext2,则mkfs会调用mke2fs来建立文件系统。

参数:

device : 预备检查的硬盘 partition,例如:/dev/sda1

-V : 详细显示模式

-t : 给定档案系统的型式,Linux 的预设值为 ext2

-c : 在制做档案系统前,检查该partition是否有坏轨

-l bad_blocks_file : 将有坏轨的block资料加到bad_blocks_file 里面,block : 给定 block 的大小

-L:建立lable

范例:

#1查看硬盘分区情况

[root@localhost/]# fdisk -l

#2在 /dev/sda12 上建一个msdos 的文件系统,同时检查是否有坏轨存在,并且将过程详细列出来。

[root@localhost/]# mkfs -V -t msdos -c /dev/hda12

#3将sda6分区格式化为ext3格式

[root@localhost/]#mkfs  -t  ext3  /dev/sda6  

mkfs.msdos   /dev/sda6  注:把该设备格式化成fat16文件系

mkfs.vfat   /dev/sda6        注:把该设备格式化成fat32文件系统

mkfs.reiserfs  /dev/sda6  注:把该设备格式化成reiserfs文件系统

mkfs.ext2  /dev/sda6       注:把该设备格式化成ext2文件系统

mkfs.ext3    /dev/sda6     注:把该设备格式化成ext3文件系统

名称:losetup

功能:用于文件、块设备和循环设备的连接及设置,循环设备可把文件虚拟成块设备(Block Device),借以模拟整个文件系统,让用户得以将其视为硬盘、光驱或者软驱等设备,并加载当作目录来使用。

语法:losetup [ -eencryption ] [ -o offset ] loop_device file

 losetup [ -d ] loop_device

参数:

-e 表示加密的方式

-o 设置数据偏移量

-d 卸载设备

范例:

#1建立循环设备

//创建空的磁盘镜像文件,这里创建一个1.44M的软盘

[root@localhost/]# dd if=/dev/zero of=floppy.img bs=512 count=2880

使用 losetup将磁盘镜像文件虚拟成快设备

[root@localhost/]# losetup /dev/loop1 floppy.img

//挂载块设备

[root@localhost/]# mount /dev/loop0 /tmp

#1卸载loop设备

[root@localhost /]# umount /tmp

[root@localhost /]# losetup -d /dev/loop1

名称:umount

功能:卸载文件系统

语法:umount[-ahnrvV][-t <文件系统类型>][文件系统]

参数:

a   卸除/etc/mtab中记录的所有文件系统。

-n   卸除时不要将信息存入/etc/mtab文件中。

-r   若无法成功卸除,则尝试以只读的方式重新挂入文件系统。

-t<文件系统类型>   仅卸除选项中所指定的文件系统。

-v   执行时显示详细的信息。

范例:

#1  通过设备名卸载

[root@localhost ~]# umount -v /dev/sda1

#2通过挂载点卸载

umount -v /mnt/mymount/

名称:edquota 

功能:用于编辑指定用户或工作组磁盘配额

语法:edquota(选项)(参数)

参数:

-u:设置用户的quota,这是预设的参数;

-g:设置群组的quota;

-p<源用户名称>:将源用户的quota设置套用至其他用户或群组;

-t:设置宽限期限。

范例:

#1一台web虚拟主机服务器:需要对/home分区实现用户级的限制;需要对/www分区进行每个组的用户配额。

//编辑fstab文件

[root@localhost ~]# vim /etc/fstab

//init 6重新启动系统,进入单用户模式,用quotacheck生成.user或.group文件

[root@localhost ~]# quotacheck /home

[root@localhost ~]# quotacheck /var/www

//设置用户和组配额的分配量

[root@localhost ~]# edquota -u rabbit

[root@localhost ~]#edquota -g webterm1

//查看用户磁盘使用情况

[root@localhost ~]# quota -u rabbit

//看某个组的磁盘使用情况

[root@localhost ~]#quota -g webterm1

名称:sfdisk

功能:分区表操作工具

语法:sfdisk [options]device …

参数:

-s [or --show-size]: 显示一个分区的大小

-c [or --id]: 显示或者修改文件系统类型ID

-l [or --list]: 显示每个设备的分区表信息

-d [or --dump]: 同上,但是以一个格式化的方式输出

-i [or --increment]: number cylinders etc.from 1 instead of from 0

-uS, -uB, -uC, -uM: 以扇面/块/柱面数/MB为单位 显示或形成报告

-T [or --list-types]:显示所有已知的sfdisk能辨识的文件系统ID

-D [or --DOS]: 兼容DOS但是会浪费一点磁盘空间

-R [or --re-read]: 让内核重新读取分区表

-N# : 只改变分区的编号 #

-n : 修改但实际上并没有保存到磁盘

-O file : 保存扇面修改并写入分区表文件

-I file : 重新恢复修改的扇面

范例:

#1备份分区表并保存到文件

[root@localhost ~]# sfdisk -d /dev/sda >sda_table

#2从文件中恢复分区表

[root@localhost ~]# sfdisk /dev/sda <sda_table

名称:symlinks

功能:可检查目录中的符号连接,并显示符号连接类型

语法:symlinks[-cdrstv][目录]

参数:

-c   将使用绝对路径的符号连接转换为相对路径。

-d   移除dangling类型的符号连接。

-r   检查目录下所有子目录中的符号连接。

-s   检查lengthy类型的符号连接。

-t   与-c一并使用时,会显示如何将绝对路径的符号连接转换为相对路径,但不会实际转换。

-v   显示所有类型的符号连接。

范例:

#1查看目录下的所有符号链接

[root@localhost ~]#symlinks /etc

[root@localhost ~]# symlinks -r /etc

 


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值