访问Linux文件系统
文件系统与挂载点:
对于Linux文件系统层次结构,无需知道特定文件所在的存储设备,只需要知道该文件所在的目录即可。但需要知道存储设备与目录的关联关系,及空间使用情况。
文件系统可以挂载到一个目录上,该目录称为挂载点(mount point),挂载支持手动挂载和自动挂载。文件系统、存储与块设备:
Linux中,对存储设备的低级别访问是访问块设备(block device)文件。在挂载这些块设备前,必须先使用文件系统对其进行格式化。块设备存储在/dev目录中。
在RHEL中,第一个SATA/PATA、SAS、SCSI或USB设备称为/dev/sda,第二个被称 为/dev/sdb。
注意:
1. 根据不同virtio驱动来命名不同的磁盘盘符。
2. virtio_blk内核模块:/dev/vdX;virtio_scsi内核模块:/dev/sdX
[root@VM-0-3-centos ~]# lsmod | grep virtio
virtio_balloon 18015 0
virtio_net 28085 0
net_failover 18147 1 virtio_net
virtio_blk 18472 2
virtio_pci 22985 0
virtio_ring 22991 4 virtio_blk,virtio_net,virtio_pci,virtio_balloon
virtio 14959 4 virtio_blk,virtio_net,virtio_pci,virtio_balloon
磁盘分区:
存储设备通常划分为更小的区块,称为分区(partition)。
不同分区可以通过不同的文件系统进行格式化或用于不同的用途。
分区本身就是块设备。
第一磁盘上的第一个分区是/dev/sda1,第二磁盘上的第三个分区是/dev/sdb3,
vda分区类似。
NVMe SSD命名略有不同。
第一磁盘上的第一个分区是/dev/nvme0p1,第二磁盘上的第三个分区 是/dev/nvme1p3。
逻辑卷:
逻辑卷管理(LVM)可用于整理磁盘和分区。
一个或多个块设备可以汇集为一个存储池,称为卷组(volume group)。
卷组中的磁盘空间被分配到一个或多个逻辑卷(logical volume),它们的功能等
同于物理磁盘上的分区。
LVM的目录结构类似/dev/myvg/mylv,其中myvg为卷组,mylv为逻辑卷。
/dev/mapper/myvg_mylv是另一种命名方式。
以上两种均为实际设备文件的软链接
检查文件系统:
df命令用于显示文件系统的空间状态与挂载点。
[root@VM-0-3-centos ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
devtmpfs 929388 0 929388 0% /dev
tmpfs 941004 24 940980 1% /dev/shm
tmpfs 941004 508 940496 1% /run
tmpfs 941004 0 941004 0% /sys/fs/cgroup
/dev/vda1 51473868 4313780 44962844 9% /
tmpfs 188204 0 188204 0% /run/user/0
为增加可读性,可以添加 -h 或 -H 选项, -h 单位是 KiB(2^10)、
MiB(2^20)
或 GiB(2^30),-H 单位是 SI 单位,即 KB(10^3)、MB(10^6)或
GB(10^9)。
du命令可以查看特定目录使用空间状况,同样可以使用 -h 和 -H 选项。
[root@VM-0-3-centos ~]# du /usr/share
20K /usr/share/X11/locale/vi_VN.viscii
2.1M /usr/share/X11/locale
2.1M /usr/share/X11
88K /usr/share/ucx/examples
28K /usr/share/ucx/perftest
120K /usr/share/ucx
140K /usr/share/bison/m4sugar
68K /usr/share/bison/xslt
[root@VM-0-3-centos ~]# du -h /var/log
4.0K /usr/share/locale/zh_CN/LC_TIME
3.6M /usr/share/locale/zh_CN
4.0K /usr/share/locale/del/LC_MESSAGES
8.0K /usr/share/locale/del
2.4M /usr/share/locale/sr/LC_MESSAGES
```