Linux 磁盘管理

一 硬件设备与文件名的关系

在Linux系统中,每个设备都被当作一个文件对待,各种设备在Linux中的文件名如下:

设备
设备在Linux内的文件名
IDE硬盘
/dev/hd[a-d]
SCSI硬盘
/dev/sd[a-d]
U盘
/dev/sd[a-d](与SCSI一样)
CDROM
/dev/sr0

1.1 硬盘逻辑结构

一个硬盘逻辑上可以被划分成块(扇区)、磁道、磁柱和分区。

块的定义:块是盘片上寻址(访问)的最小单位,一个块可以存储一定字节的数据。

磁道的定义:磁道是由一系列头尾相连的块组成的圆圈。

磁柱的定义:磁柱是由一叠磁道,由在相同半径上每个盘面的磁道所组成。

分区的定义:分区是由一组相邻的磁柱所组成。

imageimage

1.2 Linux 系统中硬盘的分区

硬盘分区的分类:硬盘的分区可以分为主分区、扩展分区和逻辑分区。在一个硬盘上最多可以划分出4个主分区(包括扩展分区)。同时,Linux操作系统的内核支持每个硬盘上的分区数量也是有一定限制的,Linux内核在每个硬盘上可以最多支持:

  1. 在SCSI硬盘上划分15个分区(Partitions)
  2. 在IDE硬盘上划分63个分区(Partitions)

二 Linux 磁盘管理类命令

Linux磁盘管理好坏直接关系到整个系统的性能问题。 常用命令如下:

df

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

语法:

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

选项与参数:

  • -a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
  • -k :以 KBytes 的容量显示各文件系统;
  • -m :以 MBytes 的容量显示各文件系统;
  • -h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
  • -H :以 M=1000K 取代 M=1024K 的进位方式;
  • -T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;
  • -i :不用硬盘容量,而以 inode 的数量来显示

示例:

# 将系统内所有的文件系统列出来
[root@localhost ~]# df
# 将容量结果以易读的容量格式显示出来
[root@localhost ~]# df -h
# 将系统内的所有特殊文件格式及名称都列出来
[root@localhost ~]# df -aT
# 将 /etc 底下的可用的磁盘容量以易读的容量格式显示
[root@localhost ~]# df –h /etc

du

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

语法:

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

选项与参数:

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

示例:

# 只列出当前目录下的所有文件夹容量(包括隐藏文件夹):
[root@localhost ~]# du
4	./.cache/dconf    <==每个目录都会列出来,包括隐藏文件的目录
4	./.cache/imsettings 
...
4088	.   <==这个目录(.)所占用的总量
# 将文件的容量也列出来
[root@localhost ~]# du -a
# 检查根目录底下每个目录所占用的容量,通配符 * 来代表每个目录
du -sm /*

fdisk

fdisk是一个创建和维护分区表的程序,它兼容DOS类型的分区表、BSD或者SUN类型的磁盘列表。

语法:

fdisk [必要参数][选择参数]

必要参数:

  • -l 列出素所有分区表
  • -u 与"-l"搭配使用,显示分区数目

选择参数:

  • -s<分区编号> 指定分区
  • -v 版本信息

菜单操作说明

  • m :显示菜单和帮助信息
  • a :活动分区标记/引导分区
  • d :删除分区
  • l :显示分区类型
  • n :新建分区
  • p :显示分区信息
  • q :退出不保存
  • t :设置分区号
  • v :进行分区检查
  • w :保存修改
  • x :扩展应用,高级功能

示例:

# 显示当前分区情况
[root@localhost ~]# fdisk -l
# 显示SCSI硬盘的每个分区情况
[root@localhost ~]# fdisk -lu
posted @ 2020-03-17 10:48  Joe1991  阅读(114)  评论(0)    收藏  举报