linux磁盘管理
1.查看磁盘信息
lsblk
:显示块设备信息,包括磁盘、分区和挂载点。df
:显示文件系统的磁盘空间使用情况。du
:显示指定目录或文件的磁盘使用情况。partprobe
:重新扫描磁盘分区表。对于在运行时创建、删除或修改磁盘分区时特别有用,因为内核可能不会立即更新分区信息。
2.分区管理
fdisk
或parted
:用于创建、删除、调整磁盘分区。
fdisk查询磁盘信息
fdisk [选项] [设备]
其中,选项
可以是以下之一:
-l
:列出所有磁盘分区的信息,包括大小、起始位置、类型等。-s
:显示磁盘分区的总扇区数。-h
:显示帮助信息。
fdisk分区
在管理磁盘分区时,通常会进行以下步骤:
- 打开设备:运行
fdisk
命令并指定要操作的设备,例如/dev/sda
。 - 显示分区:输入
p
查看当前磁盘的分区情况。 - 创建新分区:输入
n
创建一个新的分区。根据需要选择分区的类型、起始位置、大小等信息。 - 删除分区:输入
d
删除指定的分区。通常需要指定要删除的分区编号。 - 保存更改:输入
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
:使用默认的挂载选项,通常包括rw
和sync
等选项。sync
:以同步模式挂载文件系统,确保写入操作立即同步到磁盘。async
:以异步模式挂载文件系统,写入操作可能会延迟进行。
如图所示,直接挂载的文件默认允许读写(rw)操作,重新挂载后变为只读(ro)。
自动挂载
我们可以通过编辑 /etc/fstab
文件来配置自动挂载。
每一行代表一个文件系统的挂载。各字段的含义如下:
<file system>
: 文件系统的设备文件路径,可以是设备文件路径、UUID 或者卷标。<mount point>
: 挂载点,文件系统会被挂载到这个目录。<type>
: 文件系统类型,比如ext4
、ntfs
等。<options>
: 挂载选项,例如defaults
、rw
、ro
、noauto
等。<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 的作用就是在系统内存不足时,将部分不常用的数据暂时存储到硬盘上,以释放物理内存给其他正在运行的程序使用。
-
确定要使用的分区:
- 如果你已经有一个未使用的分区,你可以将其作为 swap 分区。如果没有,请创建一个新的分区。
-
格式化分区为 swap 格式:
- 如果你创建了一个新的分区,你需要使用
mkswap
命令将其格式化为 swap 格式。例如:mkswap /dev/sdX1
其中
/dev/sdX1
是你新创建的分区的路径。 - 如果你创建了一个新的分区,你需要使用
-
激活 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文件