当前位置: 首页 > 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.dtcms.com/a/300287.html

相关文章:

  • 水下目标识别准确率↑89%!陌讯多模态融合算法在智慧水务的落地实践
  • ArkData-关系型数据库
  • 测试分类
  • Swagger 配置及使用指南
  • Redis C++客户端——通用命令
  • 多模态大模型与 AI 落地:从技术原理到实践路径的深度解析
  • 力扣刷题(第九十九天)
  • 【C语言进阶】程序环境和预处理
  • [Python 基础课程]注释
  • C++高效实现AI人工智能实例
  • IntelliJ IDEA 中左上方未显示项目根目录问题
  • 网络:基础概念
  • GLSL 3.0简介
  • [RPA] 日期时间练习案例
  • Xinference vs SGLang:详细对比分析
  • 最优估计准则与方法(4)最小二乘估计(LS)_学习笔记
  • 【补题】Codeforces Global Round 15 B. Running for Gold
  • P1019 [NOIP 2000 提高组] 单词接龙
  • 从Python编程到AI大模型:GeoAI大模型驱动的地球科学智能计算——涵盖随机森林、CNN、LSTM、Transformer及科研绘图实战
  • linux mmc驱动精讲-1、引言
  • UNet改进(25):集成可变形注意力的高效图像分割方法
  • python 检测蜂窝网络,实现掉网自动拨号
  • nacos启动报错:Unable to start embedded Tomcat。
  • ChatIm项目文件上传与获取
  • 配置nodejs
  • 面试150 数据流的中位数
  • 6.数组和字符串
  • 从稀疏数据(CSV)创建非常大的 GeoTIFF(和 WMS)
  • 【时时三省】(C语言基础)返回指针值的函数
  • TRIM功能