1. 存储设备是什么?怎么理解分区和格式化?
存储设备就是用来长期保存数据的硬件,比如硬盘、SSD、U 盘之类的。分区可以理解为把一整块硬盘“切成几块逻辑区域”,方便分别使用和管理;格式化则是在某个分区上创建文件系统,让操作系统知道文件该怎么存、怎么找。如果不分区或不格式化,系统基本是“看得见但用不了”。
2. 文件系统是什么?
文件系统是操作系统用来组织和管理数据的一套规则,决定了文件如何存放、目录如何组织、权限怎么控制。比如 ext4、xfs 都是常见的 Linux 文件系统。没有文件系统,磁盘就只是杂乱无章的一堆数据块,系统没法高效访问。
3. 挂载是什么?挂载点是什么?
挂载就是把一个存储设备上的文件系统接入到 Linux 的目录树中,让它“能被访问”。挂载点就是这个接入口,对应的是一个已经存在的目录,比如把某个分区挂载到 /mnt/data,以后访问这个目录,其实就是在访问那个分区里的内容。
4. 怎么理解块设备?
块设备可以理解为按“固定大小的数据块”来读写的设备,比如硬盘、SSD。它们在 Linux 中以设备文件的形式存在,比如 /dev/sda、/dev/sda1。和字符设备相比,块设备更适合随机读写大量数据。
5. 在 SATA 附加存储中,第一磁盘上的第一个分区和第二磁盘的第二个分区分别对应哪个块设备文件?
在 SATA 设备中,第一块磁盘通常是 /dev/sda,它的第一个分区就是 /dev/sda1;第二块磁盘是 /dev/sdb,它的第二个分区就是 /dev/sdb2。字母表示磁盘顺序,数字表示分区编号。
6. 请比较 df 和 du 命令及 -h 和 -H 选项的作用。
df 用来从“文件系统角度”看磁盘使用情况,比如整个分区还剩多少空间;du 则是从“目录或文件角度”统计实际占用了多少空间。-h 表示以更容易阅读的方式显示大小,使用 1024 作为换算单位;-H 也会人性化显示,但使用的是 1000 作为单位,在某些场景下和硬盘厂商的标称容量更一致。
7. lsblk 命令和 lsblk -fp 命令有什么用?
lsblk 用来查看系统中的块设备结构,比如磁盘、分区以及它们的挂载关系。加上 -fp 后,会显示完整路径、文件系统类型和挂载点,更适合用来确认“这个分区到底是哪一个设备、挂在哪”。
8. 有哪两种手动挂载的方式?举例说明。
一种是直接用设备文件挂载,比如 mount /dev/sdb1 /mnt/data;另一种是通过 UUID 或标签挂载,比如 mount UUID=xxxx /mnt/data。后者更稳定,因为设备名在某些情况下可能会变化。
9. 使用 umount 卸载文件系统时需要注意什么?
卸载前要确保没有程序正在使用这个挂载点,比如当前终端不在该目录下,也没有文件被打开,否则会卸载失败。必要时可以先切换目录,或者查找占用进程再处理。
10. 搜索文件时,locate 和 find 命令各有哪些优点?
locate 基于事先建立的数据库,搜索速度非常快,适合查文件名;缺点是结果可能不是实时的。find 是实时在文件系统中查找,条件更灵活,比如按大小、时间、权限查,但速度相对慢一些,尤其是在目录很多的时候。
11. 如何搜索 /usr/bin 目录中文件大小超过 50KB 的所有文件?
可以用 find 命令来做,比如:
find /usr/bin -type f -size +50k
这样就能找到 /usr/bin 目录下所有大小超过 50KB 的普通文件。

