当前位置: 首页 > news >正文

【RHCSA 问答题】第 13 章 访问 Linux 文件系统

目录

  • 存储设备是什么?怎么理解分区和格式化?
  • 文件系统是什么?
  • 挂载是什么?挂载点是什么?
  • 怎么理解块设备?
  • 在 SATA 附加存储中,第一磁盘上的第一个分区和第二磁盘的第二个分区分别对应哪个块设备文件?
  • 请比较 df 和 du 命令及-h 和-H 选项的作用。
  • lsblk 命令和 lsblk -fp 命令有什么用?
  • 有哪两种手动挂载的方式?举例说明。
    • 方式一:使用 mount 命令临时挂载(重启后失效)
    • 方式二:通过 /etc/fstab 永久挂载(开机自动挂载)
  • 使用 umount 卸载文件系统时需要注意什么?
  • 搜索文件时, locate 和 find 命令各有哪些优点?
  • 如何搜索/usr/bin 目录中文件大小超过 50KB 的所有文件?


存储设备是什么?怎么理解分区和格式化?

存储设备是用于保存数据的硬件,比如硬盘(HDD)、固态硬盘(SSD)、U盘等。这些设备提供了存储空间,可以用来保存文件和数据
分区是将一个物理存储设备划分成若干个逻辑区域,每个分区可以独立管理和使用,相当于给硬盘切块,方便系统组织和保护数据。
格式化是对分区进行初始化,创建文件系统(如 ext4、NTFS),使操作系统能够识别、存储和访问文件。


文件系统是什么?

文件系统(File System) 是操作系统用于管理存储设备上数据的机制和结构。它将底层的存储块组织成文件和目录,提供高效的文件创建、读取、查找和删除等操作方法。
每个文件系统对应一个已格式化的存储区域,使操作系统能够识别和访问数据。常见的文件系统有 Linux 的 ext4、Windows 的 NTFS 以及通用的 FAT32 等。


挂载是什么?挂载点是什么?

挂载是将存储设备或分区的文件系统操作系统的目录树关联起来,使得该目录成为访问存储设备数据的入口
挂载点就是Linux文件系统中的目录,作为存储设备内容在系统中的入口。当在挂载点上访问文件或目录时,实际上是在访问被挂载的文件系统中的数据


怎么理解块设备?

块设备从硬件角度来看,是能够以固定大小的数据块为单位进行随机读写的存储设备,如硬盘(HDD)、固态硬盘(SSD)和 U 盘;
操作系统角度,它被抽象为块设备文件为上层应用程序和用户提供了简化的接口,使数据的读写变得更加便捷。 通过这种抽象,操作系统能够管理不同类型的块设备,让用户可以在不同的块设备上创建文件系统,并通过挂载点来访问数据


在 SATA 附加存储中,第一磁盘上的第一个分区和第二磁盘的第二个分区分别对应哪个块设备文件?

第一磁盘上的第一个分区是/dev/sda1
第二磁盘上的第二个分区是/dev/sdb2
sda 代表第一个 SATA 磁盘,sdb 代表第二个 SATA 磁盘,
数字 1、2 表示对应的分区号。


请比较 df 和 du 命令及-h 和-H 选项的作用。

df 命令用于显示整个文件系统磁盘空间使用情况,主要关注磁盘分区的总容量和剩余空间;
du 命令用于查看文件或目录的磁盘使用量,更细致地查看某个路径下的数据大小。
-h-H 选项都能让命令输出更易读,
-h 使用二进制换算(1K=1024字节),
-H 使用十进制换算(1K=1000字节)。

df -h
Filesystem                         Size  Used Avail Use% Mounted on
udev                               1.9G     0  1.9G   0% /dev
tmpfs                              389M  1.6M  388M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv   97G  8.4G   84G  10% /
tmpfs                              1.9G     0  1.9G   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
tmpfs                              1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/sda2                          2.0G  212M  1.6G  12% /boot
/dev/loop1                          64M   64M     0 100% /snap/core20/2501
/dev/loop4                          92M   92M     0 100% /snap/lxd/32662
/dev/loop2                          92M   92M     0 100% /snap/lxd/29619
/dev/loop5                          51M   51M     0 100% /snap/snapd/24505
tmpfs                              389M     0  389M   0% /run/user/1000
/dev/loop6                          50M   50M     0 100% /snap/snapd/24792
/dev/loop3                          64M   64M     0 100% /snap/core20/2599
df -H
Filesystem                         Size  Used Avail Use% Mounted on
udev                               2.0G     0  2.0G   0% /dev
tmpfs                              408M  1.7M  407M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv  105G  9.0G   90G  10% /
tmpfs                              2.1G     0  2.1G   0% /dev/shm
tmpfs                              5.3M     0  5.3M   0% /run/lock
tmpfs                              2.1G     0  2.1G   0% /sys/fs/cgroup
/dev/sda2                          2.1G  223M  1.7G  12% /boot
/dev/loop1                          67M   67M     0 100% /snap/core20/2501
/dev/loop4                          97M   97M     0 100% /snap/lxd/32662
/dev/loop2                          97M   97M     0 100% /snap/lxd/29619
/dev/loop5                          54M   54M     0 100% /snap/snapd/24505
tmpfs                              408M     0  408M   0% /run/user/1000
/dev/loop6                          52M   52M     0 100% /snap/snapd/24792
/dev/loop3                          67M   67M     0 100% /snap/core20/2599
du -h
8.0K    ./.gnupg
4.0K    ./snap/lxd/32662
4.0K    ./snap/lxd/29619
4.0K    ./snap/lxd/common
16K     ./snap/lxd
20K     ./snap
4.0K    ./.ssh
4.0K    ./.cache
9.6M    .
du -H
8       ./.gnupg
4       ./snap/lxd/32662
4       ./snap/lxd/29619
4       ./snap/lxd/common
16      ./snap/lxd
20      ./snap
4       ./.ssh
4       ./.cache
9824    .

lsblk 命令和 lsblk -fp 命令有什么用?

都用来查看块设备结构和信息
lsblk 命令用于列出系统中的块设备信息,包括它们的设备名、主/次设备号(供内核识别)、是否为可移除设备(如U盘)、设备大小、是否只读、设备类型(如磁盘、分区、LVM)、挂载点
lsblk -fp 命令则显示完整路径名、文件系统类型、卷标(如有)、UUID、可用空间、使用率、挂载点,更关注的是每个块设备的文件系统属性
-f 选项显示文件系统的类型(如 ext4、xfs)、UUID(唯一标识符)和卷标(Label)等;
-p 选项(path)显示设备的完整路径(如 /dev/sda1)。

lsblk
NAME                      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
loop1                       7:1    0 63.8M  1 loop /snap/core20/2501
loop2                       7:2    0 91.9M  1 loop /snap/lxd/29619
loop3                       7:3    0 63.8M  1 loop /snap/core20/2599
loop4                       7:4    0 91.9M  1 loop /snap/lxd/32662
loop5                       7:5    0 50.9M  1 loop /snap/snapd/24505
loop6                       7:6    0 49.3M  1 loop /snap/snapd/24792
sda                         8:0    0  200G  0 disk
├─sda1                      8:1    0    1M  0 part
├─sda2                      8:2    0    2G  0 part /boot
└─sda3                      8:3    0  198G  0 part└─ubuntu--vg-ubuntu--lv 253:0    0   99G  0 lvm  /
sr0                        11:0    1 1024M  0 rom
lsblk -fp
NAME                     FSTYPE      LABEL UUID                                   FSAVAIL FSUSE% MOUNTPOINT
/dev/loop1               squashfs                                                       0   100% /snap/core20/2501
/dev/loop2               squashfs                                                       0   100% /snap/lxd/29619
/dev/loop3               squashfs                                                       0   100% /snap/core20/2599
/dev/loop4               squashfs                                                       0   100% /snap/lxd/32662
/dev/loop5               squashfs                                                       0   100% /snap/snapd/24505
/dev/loop6               squashfs                                                       0   100% /snap/snapd/24792
/dev/sda
├─/dev/sda1
├─/dev/sda2              ext4              e5fd5d6a-1231-4118-a5d9-5212f9a149c1      1.6G    11% /boot
└─/dev/sda3              LVM2_member       uHkEeN-zSro-6xX1-SzgG-Yi04-3lwq-tR0yD9└─/dev/mapper/ubuntu--vg-ubuntu--lvext4              d493b37e-f347-4316-ac18-9c33a10197bc     83.6G     9% /
/dev/sr0

有哪两种手动挂载的方式?举例说明。

方式一:使用 mount 命令临时挂载(重启后失效)

  1. 创建挂载点目录(如果还没有)
    mkdir -p /mnt/data
  2. 使用设备名挂载
    mount /dev/vdb1 /mnt/data
    或:使用 UUID 挂载(推荐)
    先查看 UUID(找出对应 /dev/vdb1 的 UUID)
    lsblk -fp
    假设 UUID 为 46f5-23bf,则挂载命令为:
    mount UUID="46f5-23bf" /mnt/data

方式二:通过 /etc/fstab 永久挂载(开机自动挂载)

  1. 打开/etc/fstab文件:vim /etc/fstab
  2. 添加以下一行(使用设备名方式):
    /dev/vdb1 /mnt/data ext4 defaults 0 2
    或者(推荐使用 UUID):
    先查看 UUID(找出对应 /dev/vdb1 的 UUID)
    lsblk -fp
    在 /etc/fstab 中添加:
    UUID=46f5-23bf /mnt/data ext4 defaults 0 2
    块设备名/UUID ,挂载点 ,文件系统类型,常用挂载选项,是否使用 dump(一般设为 0),fsck 检查顺序(根分区为 1,其他为 2)
  3. 修改完 /etc/fstab 后,立即加载并验证配置是否正确
    mount -a

使用 umount 卸载文件系统时需要注意什么?

使用 umount 卸载文件系统时,需要确保挂载点及其子目录没有被任何进程访问且当前工作目录不能位于该挂载点或其子目录下。同时,建议先执行sync命令确保数据已写入磁盘,防止数据丢失。
卸载时可以使用挂载点路径或设备名,但若发现挂载点被占用,可以用lsoffuser命令查找并终止相关进程。切勿强制卸载或直接拔出设备,以避免数据损坏。


搜索文件时, locate 和 find 命令各有哪些优点?

locate 的优点是搜索速度非常快,因为它基于预先构建的文件名数据库(通常每天自动更新一次),直接查询数据库即可,不需要实时扫描磁盘。
但缺点是数据库不是实时更新,可能找不到最近新建或移动的文件。

find的优点是可以实时搜索并且可以按照多种条件来定制搜索,如大小、时间、权限等。功能强大且灵活。
但实时扫描整个目录可能比较,特别是在大目录或整个文件系统中搜索时。


如何搜索/usr/bin 目录中文件大小超过 50KB 的所有文件?

使用 find /usr/bin -size +50K


http://www.lryc.cn/news/600905.html

相关文章:

  • PYTHON从入门到实践-16数据视图化展示
  • 卫星通信终端天线对星之:参考星对星
  • DOM元素添加技巧全解析
  • 单片机CPU内部的定时器——滴答定时器
  • Linux DNS 服务器正反向解析
  • Mybatis学习之配置文件(三)
  • Linux随记(二十一)
  • 变频器实习DAY15
  • Linux内核设计与实现 - 第13章 虚拟文件系统(VFS)
  • Linux shuf命令随机打乱行顺序
  • 差模干扰 共模干扰
  • 利用RAII与析构函数避免C++资源泄漏
  • kafka的部署和jmeter连接kafka
  • 20250726-2-Kubernetes 网络-Service 定义与创建_笔记
  • C++/CLI vs 标准 C++ vs C# 语法对照手册
  • Java 大视界 -- Java 大数据在智能医疗影像数据标注与疾病辅助诊断模型训练中的应用(366)
  • greenhills编译出错问题
  • 20250726-1-Kubernetes 网络-Service存在的意义_笔记
  • 【Spring AI】大模型服务平台-阿里云百炼
  • 高可用集群KEEPALIVED的详细部署
  • 【MySQL】MySQL 缓存方案
  • 使用Clion开发STM32(Dap调试)
  • 在 Scintilla 中为 Squirrel 语言设置语法解析器的方法
  • Flutter控件归纳总结
  • 面试150 IPO
  • 达梦[-2894]:间隔表达式与分区列类型不匹配
  • 大语言模型困惑度:衡量AI语言能力的核心指标
  • Windows Server容器化应用的资源限制设置
  • 小白成长之路-部署Zabbix7(二)
  • Word文档试卷处理新方案:答案提取与格式化一键完成