10.Linux磁盘管理

Linux磁盘管理

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

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

  • DF:列出文件系统的整体磁盘使用量
  • du:检查磁盘空间使用量
  • 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

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

[root @ www~] #df
文件系统1K块使用可用使用%挂载
/ dev / hdc2 9920624 3823112 5585444 41%/
/ dev / hdc3 4956316 141376 4559108 4%/ home
/ dev / hdc1 101086 11126 84741 12%/ boot
tmpfs 371332 0 371332 0%/ dev / shm371332 0 371332 0 %/ dev / shm                 

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

实例2

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

[root @ www~] #df -hroot @ www ~] #df - h
使用的文件系统大小可用使用%挂载文件系统大小用于担保条件使用%安装在                 
/ dev / hdc2 9.5G 3.7G 5.4G 41%// dev / hdc2              9.5G 3.7G 5.4G 41 %/       
/ dev / hdc3 4.8G 139M 4.4G 4%/ home的/ dev / hdc3上              4.8G 139M 4.4G 4 %/ 家        
/ dev / hdc1 99M 11M 83M 12%/ boot/ dev / hdc1               99M 11M 83M 12 %/ boot         
tmpfs 363M 0 363M 0%/ dev / shm363M 0 363M 0 %/ dev / shm           

实例3

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

[root @ www~] #df -aTroot @ www ~] #df - aT
文件系统类型1K块使用可用使用%挂载文件系统类型1K - 块     使用可用使用%安装在        
/ dev / hdc2 ext3 9920624 3823112 5585444 41%// dev / hdc2 ext3    9920624 3823112 5585444 41 %/       
proc proc 0 0 0  -  / proc0 0 0 - / proc                     
sysfs sysfs 0 0 0  -  / sys0 0 0 - / sys                     
devpts devpts 0 0 0  -  / dev / pts0 0 0 - / dev / pts                     
/ dev / hdc3 ext3 4956316 141376 4559108 4%/ home/ dev / hdc3 ext3    4956316 141376 4559108 4 %/ home         
/ dev / hdc1 ext3 101086 11126 84741 12%/ boot/ dev / hdc1 ext3     101086 11126 84741 12 %/ boot           
tmpfs tmpfs 371332 0 371332 0%/ dev / shm371332 0 371332 0 %/ dev / shm               
none binfmt_misc 0 0 0  -  / proc / sys / fs / binfmt_misc0 0 0 - / proc / sys / fs / binfmt_misc                     
sunrpc rpc_pipefs 0 0 0  -  / var / lib / nfs / rpc_pipefs0 0 0 - / var / lib / nfs / rpc_pipefs                     

实例4

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

[root @ www~] #df -h / etcroot @ www ~] #df - h / etc
使用的文件系统大小可用使用%挂载文件系统大小用于担保条件使用%安装在                 
/ dev / hdc2 9.5G 3.7G 5.4G 41%// dev / hdc2              9.5G 3.7G 5.4G 41 %/       

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

语法:

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

选项与参数:

  • -a:列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。
  • -h:以人们较易读的容量格式(G / M)显示;
  • -s:列出总量而已,而不列出每个各别的目录占用容量;
  • -S:不包括子目录下的总计,与-s有点差别。
  • -k:以KBytes列出容量显示;
  • -m:以MBytes列出容量显示;

实例1

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

[root @ www~] #duroot @ www ~] #du
8 ./test4 <==每个目录都会列出来8 ./ test4      <==每个目录都会列出来       
8 ./test28 ./ test2       
....中间省略........中间省略....
12 ./.gconfd <==包括隐藏文件的目录12 ./。gconfd    <==包括隐藏文件的目录      
220。<==这个目录(。)所占用的总量220 。<==这个目录(。)所占用的总量                

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

实例2

将文件的容量也列出来

[root @ www~] #du -aroot @ www ~] #du - a
12 ./install.log.syslog <==有文件的列表了12 ./ 安装。记录。syslog    <==有文件的列表了      
8 ./.bash_logout8 ./。bash_logout       
8 ./test48个./ TEST4       
8 ./test28 ./ test2       
....中间省略........中间省略....
12 ./.gconfd12 ./。进程gconfd      
220。220 。     

实例3

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

[root @ www~] #dusm / *root @ www ~] #du - sm / *
7 / bin
6 /开机
.....中间省略....
0 / proc
.....中间省略....
1 / tmp
3859 / usr <==系统初期最大就是他了啦!
77 / var

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

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


FDISK

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

语法:

fdisk [-l]装置名称
[ - l ] 装置名称 

选项与参数:

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

实例1

列出所有分区信息

[root @ AY120919111755c246621 tmp] #fdisk -l根@ AY120919111755c246621 TMP ]#fdisk的- 升

磁盘/ dev / xvda:21.5 GB,21474836480字节磁盘/ dev / xvda :21.5 GB ,21474836480 字节   
255个头,63个扇区/轨道,2610个气缸255 个头,63个扇区/ 轨道,2610个气缸  
单位= 16065 * 512 = 8225280字节的柱面单位= 气缸16065 * 512 = 8225280个字节     
扇区大小(逻辑/物理):512字节/ 512字节扇区大小(逻辑/ 物理):512 字节/ 512 字节  
I / O大小(最小/最佳):512字节/ 512字节/ O大小(最小/ 最佳):512 字节/ 512 字节  
磁盘标识符:0x00000000磁盘标识符:0x00000000 

    设备启动开始结束块ID系统设备启动开始结束块ID 系统                           
/ dev / xvda1 * 1 2550 20480000 83 Linux/ dev / xvda1    * 1 2550 20480000 83 Linux                            
/ dev / xvda2 2550 2611 490496 82 Linux swap / Solaris/ dev / xvda2             2550 2611 490496 82 Linux swap / Solaris                    

磁盘/ dev / xvdb:21.5 GB,21474836480字节磁盘/ dev / xvdb :21.5 GB ,21474836480 字节   
255个头,63个扇区/轨道,2610个气缸255 个头,63个扇区/ 轨道,2610个气缸  
单位= 16065 * 512 = 8225280字节的柱面单位= 气缸16065 * 512 = 8225280个字节     
扇区大小(逻辑/物理):512字节/ 512字节扇区大小(逻辑/ 物理):512 字节/ 512 字节  
I / O大小(最小/最佳):512字节/ 512字节/ O大小(最小/ 最佳):512 字节/ 512 字节  
磁盘标识符:0x56f40944磁盘标识符:0x56f40944 

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

实例2

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

[root @ www~] #df / <==注意:重点在找出磁盘文件名而已根@ WWW 〜]#DF / <==注意:重点在找出磁盘文件名而已            
文件系统1K块使用可用使用%挂载文件系统1K - 块       二手可使用%安装在              
/ dev / hdc2 9920624 3823168 5585388 41%// dev / hdc2               9920624 3823168 5585388 41 %/         

[root @ www~] #fdisk / dev / hdc <==仔细看,不要加上数字喔![ 根@ WWW 〜]#fdisk的/ dev的/ HDC   <==仔细看,不要加上数字喔!
此磁盘的柱面数设置为5005。该汽缸数量为这盘被设置到5005。  
这没有什么不对,但这大于1024,有是没有错与那个,但是这是大于1024 ,  
并且可能在某些设置中导致以下问题:并且可以在某些设置会导致问题与:
1)在启动时运行的软件(例如,LILO的旧版本)1 )运行在系统启动时软件(ē 。摹,旧版本的LILO )
2)从其他操作系统启动和分区软件2 )从其他操作系统启动和分区软件
   (例如,DOS FDISK,OS / 2 FDISK)(É 。克。,DOS FDISK ,OS / 2 FDISK )

命令(m求助):<==等待你的输入!命令(米为帮助):<==等待你的输入!      

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

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

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

命令(m求救):p <==这里可以输出目前磁盘的状态 (米为帮助):p   <== 这里可以输出目前磁盘的状态 

磁盘/ dev / hdc:41.1 GB,41174138880字节<==这个磁盘的文件名与容量磁盘/ dev / hdc :41.1 GB ,41174138880 字节         <==这个磁盘的文件名与容量   
255个头,63个扇区/轨道,5005个圆柱<==磁头,扇区与磁柱大小255 个头,63个扇区/ 轨道,5005个圆柱       <==磁头,扇区与磁柱大小  
单位= 16065 * 512 = 8225280字节的柱面<==每个磁柱的大小单位= 气缸16065 * 512 = 8225280个字节<==每个磁柱的大小     

   设备启动开始结束块ID系统设备启动开始结束块ID 系统                           
/ dev / hdc1 * 1 13 104391 83 Linux/ dev / hdc1    * 1 13 104391 83 Linux                                
/ dev / hdc2 14 1288 10241437+ 83 Linux/ dev / hdc2               14 1288 10241437 + 83 Linux                
/ dev / hdc3 1289 1925 5116702+ 83 Linux/ dev / hdc3             1289 1925 5116702 + 83 Linux                 
/ dev / hdc4 1926 5005 24740100 5扩展/ dev / hdc4             1926 5005 24740100 5 扩展                  
/ dev / hdc5 1926 2052 1020096 82 Linux swap / Solaris/ dev / hdc5             1926 2052 1020096 82 Linux swap / Solaris                   
#装置文件名启动区否开始磁柱结束磁柱1K大小容量磁盘分区槽内的系统#装置文件名启动区否开始磁柱结束磁柱1K大小容量磁盘分区槽内的系统

命令(m求助):q命令(米为帮助):q 

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

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


磁盘格式化

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

语法:

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

选项与参数:

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

实例1

查看mkfs支持的文件格式

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

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

实例2

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

[root @ www~] #mkfs -t ext3 / dev / hdc6根@ WWW 〜]#的mkfs - 吨EXT3 / dev的/ hdc6
mke2fs 1.39(2006年5月29日)1.39 (29 - 月- 2006年) 
Filesystem label = <==这里指的是分割槽的名称(标签)Filesystem label = <==这里指的是分割槽的名称(标签)                
操作系统类型:Linux:Linux 
块大小= 4096(log = 2)<== block的大小配置为4K 块大小= 4096 (log = 2 )<== block 的大小配置为4K             
片段大小= 4096(log = 2)片段大小= 4096 (log = 2 ) 
251392 inodes,502023 blocks <==由此配置决定的inode / block数量251392 inodes ,502023 blocks      <==由此配置决定的inode / block 数量 
为超级用户保留25101块(5.00%)25101 块(5.00 %)保留用于该超级用户
第一个数据块= 0第一个数据块= 0
最大文件系统块= 515899392最大文件系统块= 515899392
16个街区组16个街区组
每组32768个块,每组32768个片段32768个每块组,32768个每片段组 
每组15712个inode每组15712个inode
存储在块上的超级块备份:存储在块上的超级块备份:
        32768,98304,163840,229376,29491232768 ,98304 ,163840 ,229376 ,294912    

编写inode表:完成编写inode表:完成 
创建期刊(8192块):完成<==有日志记录创建期刊(8192 块):完成<==有日志记录  
编写超级块和文件系统会计信息:完成编写超级块和文件系统会计信息:完成 

该文件系统将每34次安装或自动检查该文件系统将每34次安装或自动检查
180天,以先到者为准。使用tune2fs -c或-i覆盖。180 天,以先到者为准。使用tune2fs - c 或- i 覆盖。   
#这样就创建起来我们所需要的Ext3文件系统了!简单明了!#这样就创建起来我们所需要的Ext3文件系统了!简单明了!

磁盘检验

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

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

语法:

fsck [-t文件系统] [-ACay]装置名称
[ - 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]root @ www ~] #fsck [ tab ] [ tab ]
fsck fsck.cramfs fsck.ext2 fsck.ext3 fsck.msdos fsck.vfat。cramfs fsck 。ext2 fsck 。ext3 fsck 。msdos fsck 。VFAT

实例2

强制检测/ dev / hdc6分区:

[root @ www~] #fsck -C -f -t ext3 / dev / hdc6 根@ WWW 〜]#的fsck - Ç - ˚F - 吨EXT3 / dev的/ hdc6
fsck 1。39(2006年5月29日)1.39 (29 - 月- 2006年) 
e2fsck 1。39(2006年5月29日)1.39 (29 - 月- 2006年) 
通过1:检查inode,块和大小传1 :检查索引节点,块,和大小   
通过2:检查目录结构通过2 :检查目录结构  
通过3:检查目录连接通过3 :检查目录连接  
通过4:检查参考计数通过4 :检查参考计数  
通过5:检查组摘要信息通过5 :检查组摘要信息   
vbird_logical:11/251968个文件(9.1%非连续),36926/1004046个块:11 / 二五一九六八文件(9.1 %非- 连续的),36926 / 一〇 〇四〇四六块  

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


磁盘挂载与卸除

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

磁盘挂载语法:

mount [-t文件系统] [-L Label name] [-o额外选项] [-n]装置文件名挂载点

实例1

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

[root @ www~] #mkdir / mnt / hdc6
[root @ www~] #mount / dev / hdc6 / mnt / hdc6
[root @ www~] #df
文件系统1K块使用可用使用%挂载
.....中间省略.....
/ dev / hdc6 1976312 42072 1833836 3%/ mnt / hdc6

卸载磁盘命令umount语法:

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

选项与参数:

  • -f:强制卸除!可用在类似网络文件系统(NFS)无法读取到的情况下;
  • -n:不升级/ etc / mtab情况下卸除。

卸载的/ dev / hdc6

[root @ www~] #umount / dev / hdc6     

参考文章:

如有侵权,联系 2025685938@qq.com 删除


  转载请注明: yoyo 10.Linux磁盘管理

 上一篇
11.Linux vi/vim 11.Linux vi/vim
Linux vi/vim所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。 但是目前我们使用比较多的是 vim 编辑器。 vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设
2019-07-11
下一篇 
9.Linux 用户和用户组管理 9.Linux 用户和用户组管理
Linux 用户和用户组管理Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。 用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制
2019-07-09
  目录