Press "Enter" to skip to content

Linux 磁盘管理

存储设备的挂载和卸载

存储设备的挂载和卸载常用操作命令:fdisk -ldfdumountumount

  • fdisk -l 命令

作用:查看所有硬盘的分区信息,包括没有挂上的分区和USB设备,挂载时需要用这条命令来查看分区或USB设备的名称,比如挂载U盘时。

注意:Linux中既然硬件是以文件形式存在,则也可以ls -l /dev/sda*查看第一块硬盘的分区信息

  • df 命令

作用:统计磁盘空间或文件系统使用情况,显示磁盘分区上的可使用的磁盘空间,默认显示单位为KB

格式:

`df [option]`

# [option]主要参数
-a 或 -all 显示全部的文件系统
-h 或 --human-readable 以可读性较高的方式来显示信息
-T 或 --print-type 显示文件系统的类型

应用举例:

  1. 查看全部文件系统:df -a
  • du 命令

作用:查看文件或目录的磁盘使用的空间,和df命令有一些区别

注意:du后若不加目录名或文件名,表示只显示当前目录下面的子目录的目录大小和当前目录的总的大小; 查看多个文件或目录用空格符隔开

格式:

du [option] 目录名或文件名

# [option]主要参数
-a 或 -all 显示目录中个别文件的大小
-h 或 --human-readable 以K,M,G为单位显示,提高信息可读性
-S 或 --separate-dirs 省略指定目录下的子目录,只显示该目录的总和(注意:该命令是大写S)

应用举例:

  1. 以易读形式查看foo目录的大小并忽略子目录:du -h -S foo

  2. 以易读形式查看bar1文件和bar2文件的大小:du -h bar1 bar2

  • mount 命令

作用:

  1. 此命令后面不加任何参数表示查看已挂载的所有文件系统
  2. 加参数表示将存储设备挂载到Linux的一个目录下,从而将分区和该目录联系起来,因此我们只要访问这个目录,就相当于访问该存储设备了

注意:当一个目录之前有文件,设备挂载到这个目录后,目录不显示之前的文件

格式:

mount [option] 设备名挂载点(必须已存在)

# [option]主要参数
-t <文件系统类型>:文件系统类型vfat表示FAT32,iso9660表示光盘或光盘镜像,auto表示系统自动识别(一般选这个方便吧)

应用举例:

  1. 将FAT32文件系统的分区/dev/sda5挂载到/foo目录下:mount -t auto /dev/sda5 /foo

  2. 将U盘/dev/sdb1挂载到/foo目录下:mount -t auto /dev/sdb1 /foo

  3. 将光盘镜像文件xxx.iso的挂接到/mango目录下:mount -t iso9660 xxx.iso /mango -o loop

  • umount 命令

作用:卸载已经加载的文件系统。利用设备名或挂载点都能umount文件系统,不过最好还是通过挂载点卸载,当一个设备多个挂载点时容易产生混乱

格式:

umount 挂载点 # 推荐此方式
umount 设备名

应用举例:

  1. 在使用umount命令卸载文件系统时,必须保证文件系统不能处于busy状态,使文件系统处于busy状态的情况有:文件系统中有打开的文件,某个进程的工作目录在此系统中,文件系统的缓存文件正在被使用等。最常见的错误是在挂载点目录下进行卸载操作

  2. 卸载/foo挂载点对应的挂载:umount /foo


自动挂载

自动挂载实现原理:实现开机自动挂载只需修改/etc/fstab配置文件即可,可用vi编辑器修改或图形界面下用gedit命令修改

  • /etc/fstab配置文件解读

打开/etc/fstab配置文件

  1. 第一列:①设备名/dev/sda1或②卷标label或③设备UUID(红帽6)(查看设备的UUID blkid/dev/sda1)

  2. 第二列:挂载点

  3. 第三列:文件系统类型

  4. 第四列:挂载选项,通常使用defaults就可以

  5. 第五列:是否进行备份,1表示备份,0表示不备份

  6. 第六列:是否检查文件系统,1表示检验,0表示不检验

应用举例:

  1. 实现插U盘自动挂载U盘到/usb目录,不备份且不检查文件系统:/dev/sdb1 /usb auto defaults 0 0

将上述命令添加到 /etc/fstab 配置文件中即可完成插U盘自动挂载,为了避免可能的错误,使用 mount -a 命令来检验编辑的内容是否有错


磁盘分区

fdisk在Linux中进行分区的时候,最常用的参数分别是 dlmnpqtw

注意:

  1. 主分区和扩展分区的磁盘号位1-4,也就是说最多有4个主分区或者扩展分区,逻辑分区开始的磁盘号为5

  2. 如果硬盘上有扩展分区,就只能增加逻辑分区,不能增加扩展分区了

  • fdisk 命令

作用:对硬盘进行分区,采用传统的问答式界面

格式:

# 第一步:fidsk /dev/sdb 选择要进行操作的磁盘,这里是对sdb移动磁盘进行操作
fidsk 磁盘名

# 第二步:输入[option]进行操作
[option]

# [option]主要参数
m 列出可以执行的命令(帮助)
p 查看磁盘目前的分区情况
n 建立新的磁盘分区
l 列出已知的分区类型
d 删除现有分区
t 改变分区类型
w 对分区操作进行保存并且退出
q 不保存退出

分区过程描述:

  1. 通过 p 参数来查看出硬盘分区表信息。根据信息确定将来的分区

  2. 通过 d 参数一个个删除存在的硬盘分区,如果想完全改变硬盘的分区格式

  3. 通过 n 参数来增加新的分区

    1. 选择新建的分区类型。p为主分区,e为扩展分区(当有扩展分区存在时这里的e会变成l,即逻辑分区)

    2. 设置分区号。主分区或扩展分区为1-4,逻辑分区为5开始

    3. 设置分区起始位置。(一般回车默认就好)

    4. 设置分区结束位置。(100单位为扇区,+100M单位为M,+100K单位为K)

  4. 通过p参数确认分区建立成功

  5. 通过参数w或q退出(w为保存并退出,q为不保存退出)

注意:在增加分区的时候,其类型都是默认的 Linux Native,如果需要把其中的某些分区改变为其它类型,可以通过命令 t 来改变,当键入 t 改变分区类型的时候,系统会提示要改变哪个分区,改变为什么类型(键入l查看系统所支持的分区类型及其对应的分区类型号)


磁盘格式化

对硬盘分区之后,需要对分区进行格式化才能使用,格式化分区的主要目的是在分区中创建文件系统,文件系统是OS用作明确存储设备或分区上的文件的方法和数据结构,即在存储设备上组织文件的方法

  • mkfs 命令

作用:格式化分区,在分区上创建文件系统

格式:

mkfs[options] 设备名

mkfs.<文件系统类型> [-v] 设备名

# [option]主要参数
-t <文件系统类型>:选择要创建的文件系统的类型,如ext3、ext4等,不同版本的Linux具有不同的默认文件系统
-V:显示更多输出,包括文件系统的相关信息(注意:-V必须放在-t前面)

应用举例:

  1. 格式化/dev/sdb1分区,并显示具体信息:mkfs -V -t vfat /dev/sdb1

  2. mkfs.vfat -v /dev/sdb1

    发表回复

    您的电子邮箱地址不会被公开。 必填项已用*标注