linux磁盘管理

1.查看磁盘信息

 

  • lsblk:显示块设备信息,包括磁盘、分区和挂载点。
  • df:显示文件系统的磁盘空间使用情况。
  • du:显示指定目录或文件的磁盘使用情况。
  • partprobe:重新扫描磁盘分区表。对于在运行时创建、删除或修改磁盘分区时特别有用,因为内核可能不会立即更新分区信息。

 2.分区管理

  • fdisk 或 parted:用于创建、删除、调整磁盘分区。

fdisk查询磁盘信息

fdisk [选项] [设备]

其中,选项 可以是以下之一:

  • -l:列出所有磁盘分区的信息,包括大小、起始位置、类型等。
  • -s:显示磁盘分区的总扇区数。
  • -h:显示帮助信息。

fdisk分区

在管理磁盘分区时,通常会进行以下步骤:

  1. 打开设备:运行 fdisk 命令并指定要操作的设备,例如 /dev/sda
  2. 显示分区:输入 p 查看当前磁盘的分区情况。
  3. 创建新分区:输入 n 创建一个新的分区。根据需要选择分区的类型、起始位置、大小等信息。
  4. 删除分区:输入 d 删除指定的分区。通常需要指定要删除的分区编号。
  5. 保存更改:输入 w 将所做的更改写入磁盘并退出 fdisk

普通分区

以下通过fdisk划分一个普通分区sdb1.

 通过lsblk查看磁盘分区情况,如果没有正确显示,可以通过partprobe命令重新扫描磁盘分区表。

拓展、逻辑分区

由于普通分区最多只能创建4个,想要划分更多分区,则需要通过创建拓展分区,划分逻辑分区。

在上图中,我们先创建了一个8G的额外分区,再创建了一个2G的逻辑分区。

并且可以看出:逻辑分区是被包含在额外分区中的。

3.分区挂载

想要使用磁盘,需要对磁盘进行格式化和挂载。

  • mkfs:用于在分区上创建文件系统。
  • mount 和 /etc/fstab:用于挂载分区,并在系统启动时自动挂载。

mkfs磁盘格式化

mkfs [选项] 文件系统类型 设备

常用的选项:

  • -t:指定文件系统类型。(或者直接mkfs.[类型],例如mkfs.xfs)
  • -V:显示详细的操作信息。

 mount挂载

临时挂载

mount [选项] 设备 挂载点

常见的选项包括:

  • -o:指定挂载选项,例如-o ro表示以只读方式挂载。
  • -a:挂载/etc/fstab中列出的所有文件系统。

其中,-o可以跟随以下选项:

  • ro:以只读模式挂载文件系统,防止对文件系统进行写操作。
  • rw:以读写模式挂载文件系统,允许对文件系统进行读写操作。
  • remount:重新挂载已经挂载的文件系统,通常与-o一起使用,例如mount -o remount,rw /dev/sda1 /mnt
  • exec:允许在文件系统中执行可执行文件。
  • noexec:阻止在文件系统中执行可执行文件。
  • suid:允许在文件系统中执行SUID程序。
  • nosuid:禁止在文件系统中执行SUID程序。
  • defaults:使用默认的挂载选项,通常包括rwsync等选项。
  • sync:以同步模式挂载文件系统,确保写入操作立即同步到磁盘。
  • async:以异步模式挂载文件系统,写入操作可能会延迟进行。

如图所示,直接挂载的文件默认允许读写(rw)操作,重新挂载后变为只读(ro)。

自动挂载

我们可以通过编辑 /etc/fstab 文件来配置自动挂载。

每一行代表一个文件系统的挂载。各字段的含义如下:

  • <file system>: 文件系统的设备文件路径,可以是设备文件路径、UUID 或者卷标。
  • <mount point>: 挂载点,文件系统会被挂载到这个目录。
  • <type>: 文件系统类型,比如 ext4ntfs 等。
  • <options>: 挂载选项,例如 defaultsrwronoauto 等。
  • <dump>: 备份工具 dump 使用的备份级别,一般设置为 0
  • <pass>fsck 检查文件系统顺序,一般设置为 0 或 2

在进行挂在前,我们需要了解到UUID是设备文件的唯一标识,挂载时最好使用UUID表示设备文件。以下命令用于查询设备的UUID。

blkid

 现在我们可以进入文件/etc/fstab进行编辑。

如上图所示,通过末行模式,我们可以直接得到设备文件的UUID和文件类型。

 保存退出后,执行命令:

mount -a

发现没有报错,挂载成功。

即使重启,挂载依然存在:

 解挂载

umount [挂载点]或[设备文件]

在由用户使用的情况下,会解挂载失败,可以通过fuser命令查询进程中的用户,并将改用户的进程停止。

fuser -v MOUNT_POINT  #查看正在访问指定文件系统的进程  
fuser -km MOUNT_POINT  #终止所有在正访问指定的文件系统的进程

4.swap分区

Swap 的作用就是在系统内存不足时,将部分不常用的数据暂时存储到硬盘上,以释放物理内存给其他正在运行的程序使用。

  1. 确定要使用的分区:

    • 如果你已经有一个未使用的分区,你可以将其作为 swap 分区。如果没有,请创建一个新的分区。
  2. 格式化分区为 swap 格式:

    • 如果你创建了一个新的分区,你需要使用 mkswap 命令将其格式化为 swap 格式。例如:
      mkswap /dev/sdX1

    其中 /dev/sdX1 是你新创建的分区的路径。

  3. 激活 swap 分区:

    • 使用 swapon 命令激活 swap 分区。例如:
      swapon /dev/sdX1

    这将立即将 swap 分区添加到系统中。

 

 

 

5.文件修复

在Linux系统中,使用 fsck 命令进行文件系统的检测和修复是很常见的操作。

注意:在修复文件前需要解挂载。

  • -t FS_TYPE:指定要检测和修复的文件系统类型。例如,-t ext4 表示要针对 ext4 文件系统进行操作。

  • -a:自动修复模式。当文件系统被标记为“需要检查并修复”时,使用此选项可以让 fsck 自动进行修复,而无需用户交互。

  • -r:交互式修复模式。在遇到错误时,fsck 会提示用户选择是否修复。

例如:

fsck -t ext4 -a /dev/sda1  #自动修复ext4文件
fsck.xfs -r /dev/sdb1  #交互式修复xfs文件

 

posted @ 2024-04-09 16:49  hx_ky36  阅读(119)  评论(0编辑  收藏  举报