LINUX-磁盘管理
概述:
linux磁盘管理好坏直接关系到整个系统的性能问题。
Linux 磁盘管理常用三个命令为 df、du 和 fdisk。
df(diskfull):列出文件系统的整体磁盘使用量
du(disk used):检查磁盘空间使用量
fdisk:用于磁盘分区
mount:用于磁盘挂载
1.df
参数功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少
空间,目前还剩下多少空间等信息。
若df未加任何选项,默认会将系统内所有的(不含特殊内存内的文件系统与swap)都以1Kbytes的容量列出
语法格式
df [-ahikHTm] [目录或文件名]
-a:列出所有的文件系统,包括系统特有的/proc等文件系统;
-k:以KBytes的容量显示各文件系统;
-m:以MBytes的容量显示各文件系统;
-h:以人们较易阅读的GBytes,MBytes,KBytes等格式自行显示;
-H:以M=1000K取代M=1024K的进位方式;
-T:显示文件系统类型,连同该partition的filesystem名称(例如ext3)也列出;
-i:不用硬盘容量,而以inode的数量来显示
也可以将参数组合,如
-ahT 将系统内的所有特殊文件格式及名称以容易阅读的形式列出
将 /etc底下的可用的磁盘容量及类型以容易阅读的形式列出
2.du命令
du命令也用于查看使用空间,与df不同的是du用于文件和目录磁盘使用空间的查看
语法格式
du [-ahskm] 文件或目录名称
默认仅统计目录底下的文件量
-a:列出所有的文件与目录容量
-h:以人们较易读的容量格式(G/M)显示;
-s:列出总量,而不列出每个各别的目录占用容量:
-S:不包括子目录下的总计,与-s有区别。
-k:以KBytes列出容量显示;
-m:以MBytes列出容量显示;
与df不同的是,du实现命令会直接在文件系统内搜寻所有的文件数据。
3.fdisk命令:
fdisk 是 Linux的磁盘分区表操作工具,但fdisk只能划分小于2T的分区。
语法:
fdisk [-1] 装置名称
选项与参数:
-l:输出后面接的装置所有的分区内容。若仅有fdisk -l 时,系统将会把整个系统内能够搜寻到的装置的分区均列出来。
参数 | 值 | 含义 |
---|---|---|
磁盘设备 |
| 系统第一块SCSI/SATA磁盘 |
总容量 | 20 GiB | 实际可用空间:21474836480字节 |
扇区数 | 41,943,040 个扇区 | 每个扇区大小=512字节(工业标准) |
磁盘类型 | GPT(GUID分区表) | 相比MBR支持>2TB磁盘和更多分区 |
磁盘标识符 | 54A5EB7E-75AC-482C-8E54-752CF578260B | 全局唯一标识符(UUID) |
查找系统中的根目录所在磁盘,并查阅该硬盘内的相关信息
d:删除一个分区
p:显示分区列表
n:新建一个分区
新建分区时使用默认配置全部回车
q:不保存离开fdisk程序
参数 | 值 | 说明 |
---|---|---|
磁盘设备 |
| LVM逻辑卷(卷组 |
总容量 | 17 GiB | 可用空间:18,249,416,704字节 |
扇区数量 | 35,643,392 | 换算公式:17 GiB ÷ 512字节/扇区 |
扇区大小 | 512字节(逻辑/物理) | 与传统机械硬盘兼容 |
I/O大小 | 最小/最优=512字节 | 无特殊优化(SSD建议4K对齐) |
分区表类型 |
| 传统分区方案(最大支持2TB磁盘) |
磁盘标识符 | 0x468daa60 | MBR磁盘的16进制唯一ID |
磁盘分区有三种形式:主分区、扩展分区和逻辑分区。主分区可以成为引导分区,最多可以
有四个,如果想再多分分区,则需要先分三个主分区,然后第四个分为扩展分区,然后再把
扩展分区分成若干个逻辑分区。
硬盘的容量=主分区的容量+扩展分区的容量
扩展分区的容量=各个逻辑分区的容量之和
4.磁盘格式化:mkfs(make filesystem)命令。
语法:
mkfs [-t文件系统格式] 装置文件名
选项与参数:
-t:可以接文件系统格式,例如ext3,ext2,vfat,xfs等(系统有支持才会生效)
输入mkfs并按下两次Tap键,可以查看mkfs支持的文件格式
mkfs -t ext3 /dev/root 将该指定分区格式化为ext3文件系统
5.磁盘检验
fsck(file system check)用来检查和维护不一致的文件系统。
若系统掉电或磁盘发生问题,可利用fsck命令对文件系统进行检查。
语法:
fsck [-t文件系统] [-ACay]装置名称
选项与参数:
-t:给定档案系统的型式,若在 /etc/fstab 中已有定义或 kernel 本身己支援的则不需加上此参数
-s:依序一个一个地执行fsck的指令来检查
-A:对/etc/fstab中所有列出来的分区(partition)做检查
-C:显示完整的检查进度
-d:打印出e2fsck的debug结果
-p:同时有-A条件时,同时有多个fsck的检查一起执行
-R:同时有-A条件时,省略/不检查
-V:详细显示模式
-a:如果检查有错则自动修复
-r:如果检查有错则由使用者回答是否修复
-y:选项指定检测每个文件是自动输入yes,在不确定那些是不正常的时候,可以执行 # fsck-y全部检查修复。
fsck [Tap][Tap] 查看支持fsck命令的文件系统
6.磁盘挂载与卸除
在linux中“一切皆文件”,对Linux来说磁盘设备也是一个文件,而磁盘分区固然也是
一个文件,要将这个文件放置在哪个目录,或者说哪个目录为分区的入口,这个设置过程被
称为挂载,而该目录被称为挂载点。
Linux的磁盘挂载使用mount命令,卸载使用umount命令。
磁盘挂载语法:
mount [-t 文件系统] [-L Label 名] [-o 额外选项] [-n] 装置文件名 挂载点