一、文件系统和设备:
linux上的文件是按照文件系统层次结构访问的,是由系统可用的存储设备所提供的文件系统组装而来,每一个文件系统都是一个已格式化的存储设备,可用于存储文件
1、文件系统和挂载点:
要让文件系统的内容在文件系统层次结构中可用,必须将它挂载到一个空目录,该目录被称为挂载点,可使用ls命令查看是否挂载
2、块设备:
块设备是一种特殊类型文件,在挂载块设备前必须使用文件系统对其格式化,块设备和其他设备文件存储在/dev目录
设备类型 | 设备命令 |
SATA/SAS/USB 附加存储 | /dev/sda、/dev/sdb |
virtio-blk 超虚拟化存储(部分虚拟机) | /dev/vda、/dev/vdb |
NVMe 附加存储(很多SSD) | /dev/nvme0、/dev/nvme1 |
SD/MMC/eMMC存储(SD卡) | /dev/mmcblk0、/dev/mmcblk1 |
3、磁盘分区:
存储设备可被划分为更小的区块,称为分区;分区用于划分硬盘,不同部分可通过不同的文件系统进行格式化,分区本身就是块设备(文件类型表示为小写b)
4、逻辑卷:
逻辑卷管理(LVM)可以将一个或多个块设备汇集为一个存储池,称为卷组;然后再将卷组分配到一个或多个逻辑卷,等同于物理磁盘上的分区
5、检查文件系统:
df #报告所有已挂载的普通文件系统的总磁盘空间、已用和可用磁盘空间,以及已用磁盘占比和挂载点
df -h #报告单位是KiB(2^10)、MiB(2^20)或GiB(2^30)
df -H #报告单位是KB(10^3)、MB(10^6)或GB(10^9)
du #报告有关某一特定目录树实用的空间的详细信息,有-h和-H选项,以递归方式显示所有文件大小
二、挂载和卸载文件系统:
1、识别块设备:
lsblk #可列出指定块设备或所有可用设备的详细信息
lsblk -fp #列出设备的完整路径、UUID和挂载点,以及分区中文件系统的类型,如果未挂载文件系统,挂载点则为空
2、手动挂载文件系统:
mount #允许root用户手动挂载文件系统,第一个参数是要挂载的文件系统,第二个是挂载点
注意:用作挂载点的目录必须为空目录,否则挂载到比目录的文件均不可访问
(1)按设备名挂载:在/dev/vdb1目录上的/mnt/data分区中挂载文件系统
mount /dev/vdb1 /mnt/data
(2)按文件系统UUID挂载:
mount UUID="46f543fd-78c9-4526-a857-244811be2d88" /mnt/data
3、卸载文件系统:
umount #使用挂载点作为参数可卸载文件系统,要卸载的文件系统要在停用状态才能成功卸载
lsof #列出所给目录中所有打开的文件以及访问它们的进程,可以识别哪些进程正在阻止卸载文件系统