Linux磁盘管理

Linux的磁盘管理好坏管理直接关系到整个系统的性能问题。

Linux的磁盘管理常用三个命令为DF,杜和FDISK。

  • DF:列出文件系统的整体磁盘使用量

  • 杜:检查磁盘空间使用量

  • FDISK:用于磁盘分区


DF

DF命令参数功能:检查文件系统的磁盘空间占用情况可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

语法:

df [ - ahikHTm ] [目录或文件名]

选项与参数:

  • -a:列出所有的文件系统,包括系统特有的/ proc等文件系统;

  • -k:以KBytes的容量显示各文件系统;

  • -m:以MBytes的容量显示各文件系统;

  • -h:以人们较易阅读的GBytes,MBytes,KBytes等格式自行显示;

  • -H:以M = 1000K取代M = 1024K的进位方式;

  • -T:显示文件系统类型,连同该分区的文件系统名称(例如ext3)也列出;

  • -i:不用硬盘容量,而以inode的数量来显示

实例1

将系统内所有的文件系统列出来!

[ 根@ WWW ]#DF 文件系统1K - 块       用于推介使用%安装上 / dev的/ HDC2          9920624 3823112 5585444 41 %/ 的/ dev / hdc3上          4956316 141376 4559108 4 %/ 家 / dev的/ hdc1分区           101086 11126 84741 12 %/ 引导                                          tmpfs               371332 0 371332 0 %/ dev / shm

在Linux底下如果df没有加任何选项,那么默认会将系统内所有的(不含特殊内存内的文件系统与互换)都以1 KB的容量来列出来!

实例2

将容量结果以易读的容量格式显示出来

[ 根@ WWW ]#DF -  文件系统大小用于库存状况使用%安装上 / dev的/ HDC2              9.5克3.7G 5.4G 41 %/ 的/ dev / hdc3上              4.8G 139M 4.4G 4 %/ 家 / dev的/ hdc1分区               99M 11M 83M 12 %/ boot                                         tmpfs                  363M 0 363M 0 %/ dev / shm

实例3

将系统内的所有特殊文件格式及名称都列出来

[ 根@ WWW ]#DF - 在 文件系统类型1K - 块     用于推介使用%安装上 / dev的/ HDC2 EXT3    9920624 3823112 5585444 41 %/ PROC PROC          0 0 0 - / PROC                                    sysfs sysfs          0 0 0 - / sys                     devpts devpts          0 0 0 - / dev / pts / dev / hdc3 ext3    4956316 141376 4559108 4 %/ home / dev / hdc1 ext3     101086 11126 84741 12 %/ boot                                         tmpfs tmpfs     371332 0 371332 0 %/ dev / shm               none binfmt_misc          0 0 0 - / proc / sys / fs / binfmt_misc                     sunrpc rpc_pipefs          0 0 0 - / var / lib / nfs / rpc_pipefs

实例4

将/ etc底下的可用的磁盘容量以易读的容量格式显示

[ 根@ WWW ]#DF -  / 等 文件系统大小用于库存状况使用%安装上 / dev的/ HDC2              9.5克3.7G 5.4G 41 %/

Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的,这里介绍Linux du命令。

语法:

du [ - ahskm ] 文件或目录名称

选项与参数:

  • -a:列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。

  • -h:以人们较易读的容量格式(G / M)显示;

  • -s:列出总量而已,而不列出每个各别的目录占用容量;

  • -S:不包括子目录下的总计,与-s有点差别。

  • -k:以千位列出容量显示;

  • -m:以MBytes列出容量显示;

实例1

列出目前目录下的所有文件容量

[ 根@ WWW ]#杜 8 ./ TEST4      <==每个目录都会列出来8 ./ TEST2 ....中间省略.... 12 ./。gconfd    <==包括隐藏文件的目录220 。<==这个目录(。)所占用的总量

直接输入du没有加任何选项时,则du会分析当前所在目录的文件与目录所占用的硬盘空间。

实例2

将文件的容量也列出来

[ root @ www] #du - a 12 ./ 安装。日志。syslog    <==有文件的列表了8 ./。bash_logout 8 ./ test4 8 ./ test2 ....中间省略.... 12 ./。gconfd 220 。

实例3

检查根目录底下每个目录所占用的容量

[ root @ www] #du - sm / *7 / bin6 /启动.....中间省略....0 / proc.....中间省略....1 / tmp3859 / usr <==系统初期最大就是他了啦!77 / var

通配符*来代表每个目录。

与df不一样的是,du这个命令其实会直接到文件系统内去搜寻所有的文件数据。


FDISK

fdisk是Linux的磁盘分区表操作工具。

语法:

fdisk [ - l ] 装置名称

选项与参数:

  • -l:输出后面接的装置所有的分区内容。只有fdisk -l时,则系统将会把整个系统内能够搜寻到的装置的分区均列出来。

实例1

列出所有分区信息

[ 根@ AY120919111755c246621 TMP ]#fdisk的- 升磁盘/ dev / xvda :21.5 GB ,21474836480 字节 255个磁头,63个扇区/ 磁道,2610个气缸 单位= 气缸数16065 * 512 = 8225280 字节 扇区大小(逻辑/ 物理):512 字节/ 512 字节            I / O大小(最小/ 最优):512 字节/ 512 字节 磁盘标识符:0x00000000   

    设备启动开始结束块Id 系统/ dev / xvda1    * 1 2550 20480000 83 Linux / dev / xvda2             2550 2611 490496 82 Linux swap / Solaris                                                                           磁盘/ dev / xvdb :21.5 GB ,21474836480 字节 255个磁头,63个扇区/ 磁道,2610个气缸 单位= 气缸数16065 * 512 = 8225280 字节 扇区大小(逻辑/ 物理):512 字节/ 512 字节            I / O大小(最小/ 最佳):512 字节/ 512 字节 磁盘标识符:0x56f40944   

    设备启动开始结束块Id 系统/ dev / xvdb2                1 2610 20964793 + 83 Linux

实例2

找出你系统中的根目录所在磁盘,并查阅该硬盘内的相关信息

[ 根@ WWW ]#DF / <==注意:重点在找出磁盘文件名而已文件系统1K - 块       用于推介使用%安装上 / dev的/ HDC2               9920624 3823168 5585388 41 %/                                   [ 根@ WWW ]#的fdisk / 开发/ HDC   <==仔细看,不要加上数字喔!的汽缸数为这盘被设置到5005 有是没有错与那个,但是这是大于1024 ,并且可以在某些设置会导致问题与:1 )运行在系统启动时软件(ē 。摹,旧版本的LILO    )2 )引导和分区软件从其它操作系统(é 。克。,DOS FDISK ,OS / 2 FDISK )
   命令(m for help ):<==等待你的输入!

输入m后,就会看到底下这些命令介绍

命令(m for help ):m    <== 输入m 后,就会看到底下这些命令介绍命令动作  
   一个可启动标志的切换
   b编辑bsd disklabel
   c切换dos兼容性标志
   d    删除一个分区             <==删除一个分区
   l列出已知的分区类型
   m    打印此菜单 
   n添加新分区            <==新增一个分区
   o创建一个新的空DOS分区表
   p    打印分区表      <==在屏幕上显示分割表
   q退出而不保存更改    <==不储存离开fdisk 程序
   创建一个新的空的Sun 磁盘标签
   t更改分区的系统ID
   u更改显示/输入单位
   v验证分区表
   w写表到磁盘并退出<==将刚刚的动作写入分割表
   x额外功能(仅限专家)

离开fdisk时按下q,那么所有的动作都不会生效!相反的,按下w就是动作生效的意思。

命令(m for help ):p   <== 这里可以输出目前磁盘的状态  Disk /dev/hdc: 41.1 GB, 41174138880 bytes        <==这个磁盘的文件名与容量255 heads, 63 sectors/track, 5005 cylinders      <==磁头、扇区与磁柱大小Units = cylinders of 16065 * 512 = 8225280 bytes <==每个磁柱的大小

   Device Boot      Start         End      Blocks   Id  System/dev/hdc1   *           1          13      104391   83  Linux/dev/hdc2              14        1288    10241437+  83  Linux/dev/hdc3            1289        1925     5116702+  83  Linux/dev/hdc4            1926        5005    24740100    5  Extended/dev/hdc5             1926 2052 1020096 82 Linux swap / Solaris #装置文件名启动区否开始磁柱结束磁柱1K大小容量磁盘分区槽内的系统                   命令(m 为帮助):q

想要不储存离开吗?按下q就对了!不要随便按啊

使用p可以列出目前这颗磁盘的分割表信息,这个信息的上半部在显示整体磁盘的状态


磁盘格式化

磁盘分割完毕后自然就是要进行文件系统的格式化,格式化的命令非常的简单,使用mkfs(make filesystem)命令。

语法:

mkfs [ - t 文件系统格式] 装置文件名

选项与参数:

  • -t:可以接文件系统格式,例如ext3,ext2,vfat等(系统有支持才会生效)

实例1

查看mkfs支持的文件格式

[ root @ www] #mkfs [ tab ] [ tab ] mkfs mkfs 。cramfs mkfs 。ext2 mkfs 。ext3 mkfs 。msdos mkfs 。VFAT

按下两个[tab],会发现mkfs支持的文件格式如上所示。

实例2

将分区/ dev / hdc6(可指定你自己的分区)格式化为ext3文件系统:

[ 根@ WWW ]#的mkfs - 吨EXT3 / dev的/ hdc6mke2fs 1.39 (29 - May - 2006 )文件系统标签= <==这里指的是分割槽的名称(标签)操作系统类型:Linux 块大小= 4096 (log = 2 )<== block 的大小配置为4K 片段大小= 4096 (log = 2 )251392 inode ,502023 块      <==由此配置决定的inode / block 数量                                 25101 块(5.00 %)保留用于该超级用户 首先数据块= 0 最大文件系统块= 515899392个16 块组 32768个每块组,32768个每片段组15712个每索引节点组的超级块存储在块的备份:32768 ,98304 ,163840 ,229376 ,294912 
            编写inode表:done 创建日志(8192 块):done <==有日志记录编写超级块和文件系统计费信息:done    该文件系统将自动检查每34个挂载或180 天,以先到者为准。使用tune2fs - c 或- i 覆盖。#这样就创建起来我们所需要的Ext3文件系统了!简单明了!

磁盘检验

fsck(文件系统检查)用来检查和维护不一致的文件系统。

若系统掉电或磁盘发生问题,可利用的fsck命令对文件系统进行检查。

语法:

fsck [ - t 文件系统] [ - ACay ] 装置名称

选项与参数:

  • -t:给定档案系统的型式,若在/ etc / fstab中已有定义或内核本身已支持的则不需加上此参数

  • -s:依序一个一个地执行fsck的指令来检查

  • -A:对/ etc / fstab中所有列出来的分区(partition)做检查

  • -C:显示完整的检查进度

  • -d:打印出e2fsck的调试结果

  • -p:同时有-A条件时,同时有多个fsck的检查一起执行

  • -R:同时有-A条件时,省略/不检查

  • -V:详细显示模式

  • -a:如果检查有错则自动修复

  • -r:如果检查有错则由使用者回答是否修复

  • -y:选项指定检测每个文件是自动输入是,在不确定那些是不正常的时候,可以执行#fsck -y全部检查修复。

实例1

查看系统有多少文件系统支持的fsck命令:

[ root @ www] #fsck [ tab ] [ tab ] fsck fsck 。cramfs fsck 。ext2 fsck 。ext3 fsck 。msdos fsck 。VFAT

实例2

强制检测/ dev / hdc6分区:

[ 根@ WWW ]#的fsck -  - F - 吨EXT3 / dev的/ hdc6fsck的1.39 (29 - 可能- 2006 )用e2fsck 1.39 (29 - 可能- 2006 )传递1 :检查索引节点,块,和尺寸 传递2 :检查目录结构 通行证3 :正在检查目录的连接 通4 :检查引用计数 传递5 :检查组               摘要信息vbird_logical :11 / 251968 的文件(9.1 %非- 连续的),36926 / 一百万四千〇四十六块

如果没有加上-f的选项,则由这个文件系统不曾出现问题,检查的经过非常快速!若加上-f强制检查,才会一项一项的显示过程。


磁盘挂载与卸除

Linux的磁盘挂载使用mount命令,卸载使用umount命令。

磁盘挂载语法:

安装[ - 吨文件系统] [ - 大号标签名] [ -  额外选项] [ -  ] 装置文件名挂载点

实例1

用默认的方式,将刚刚创建的/ dev / hdc6挂载到/ mnt / hdc6上面!

[ 根@ WWW ]#MKDIR / MNT / hdc6 [ 根@ WWW ]#安装/ dev的/ hdc6 / MNT / hdc6 [ 根@ WWW ]#DF 文件系统1K - 块       用于推介使用%安装上 .... 。中间省略..... / dev / hdc6               1976312 42072 1833836 3 %/ mnt / hdc6

卸载磁盘命令umount语法:

umount [ - fn ] 装置文件名或挂载点

选项与参数:

  • -f:强制卸除!可用于类似网络文件系统(NFS)无法读取到的情况下

  • -n:不升级/ etc / mtab情况下卸除

卸载的/ dev / hdc6

[ 根@ WWW ]#卸除/ dev的/ hdc6