【面试全纪实 | Linux 02 文件系统类】请回答,你真的了解Linux吗?

🗺️博客地图

📍1. 简单 Linux 文件系统?

📍2. Linux 的目录结构是怎样的?

📍3. 什么是 inode ?

📍4.简述 Linux 文件系统通过 i 节点把文件的逻辑结构和物理结构转换的工作过程?

📍5. 什么是硬链接和软链接?

📍6. RAID 是什么?


1. 简单 Linux 文件系统?

      在 Linux 操作系统中,所有被操作系统管理的资源,例如网络接口卡、磁盘驱动器、打印机、输入输出 设备、普通文件或是目录都被看作是一个文件。

      也就是说在 Linux 系统中有一个重要的概念一切都是文件。其实这是 Unix 哲学的一个体现,而 Linux是重写 Unix 而来,所以这个概念也就传承了下来。在 Unix 系统中,把一切资源都看作是文件,包括硬件设备。UNIX系统把每个硬件都看成是一个文件,通常称为设备文件,这样用户就可以用读写文件的方式实现对硬件的访问。

  • Linux 支持 5 种文件类型,如下图所示:文件类型

2. Linux 的目录结构是怎样的?

这个问题,一般不会问。更多是实际使用时,需要知道。

Linux 文件系统的结构层次鲜明,就像一棵倒立的树,最顶层是其根目录

常见目录说明:

  • /bin:存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里;
  • /etc:存放系统管理和配置文件;
  • /home:存放所有用户文件的根目录,是用户主目录的基点,比如用户user的主目录就 是/home/user,可以用~user表示;
  • /usr:用于存放系统应用程序/opt:额外安装的可选应用程序包所放置的位置。一般情况
  • 下,我们可以把tomcat等都安装到这里;
  • /proc:虚拟文件系统目录,是系统内存的映射。可直接访问这个目录来获取系统信息;
  • /root:超级用户(系统管理员)的主目录(特权阶级o);
  • /sbin:存放二进制可执行文件,只有root才能访问。这里存放的是系统管理员使用的系统级
  • 别的管理命令和程序。如ifconfig等;
  • /dev:用于存放设备文件;
  • /mnt:系统管理员安装临时文件系统的安装点,系统提供这个目录是让用户临时挂载其他的
  • 文件系统;
  • /boot:存放用于系统引导时使用的各种文件;
  • /lib:存放着和系统运行相关的库文件 ;
  • /tmp:用于存放各种临时文件,是公用的临时文件存储点;
  • /var:用于存放运行时需要改变数据的文件,也是某些大文件的溢出区,比方说各种服务的
  • 日志文件(系统启动日志等)等;
  • /lost+found:这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下
  • 叫xxx.chk)就在这里。

3. 什么是 inode

      一般来说,面试不会问inode 。但是 inode 是一个重要概念,是理解 Unix/Linux 文件系统和硬盘储存 的基础。理解inode,要从文件储存说起:

      文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"Sector)。每个扇区储存512字节(相当于0.5KB)。操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个""block)。

      这种由多个扇区组成的"",是文件存取的最小单位。""的大小,最常见的是4KB,即连续八个 Sector 组成一个 block 。文件数据都储在""中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为"索引节点"。每一个文件都有对应的inode,里面包含了与该文件有关的一些信息。

4.简述 Linux 文件系统通过 i 节点把文件的逻辑结构和物理结构转换的工作过程?

      一般来说,面试官不太会问这个题目。

      Linux 通过 inode 节点表将文件的逻辑结构和物理结构进行转换。

      ① inode 节点是一个 64 字节长的表,表中包含了文件的相关信息,其中有文件的大小、文件所有者、文件的存取许可方式以及文件的类型等重要信息。在 inode 节点表中最重要的内容是磁盘地址表。在磁盘地址表中有 13 个块号,文件将以块号在磁盘地址表中出现的顺序依次读取相应的块。

      ② Linux 文件系统通过把 inode 节点和文件名进行连接,当需要读取该文件时,文件系统在当前目录表中查找该文件名对应的项,由此得到该文件相对应的 inode 节点号,通过该 inode 节点的磁盘地址表把分散存放的文件物理块连接成文件的逻辑结构。

5. 什么是硬链接和软链接?

① 硬链接

      由于 Linux 下的文件是通过索引节点(inode)来识别文件,硬链接可以认为是一个指针,指向文件索引节点的指针,系统并不为它重新分配 inode 。每添加一个一个硬链接,文件的链接数就加1

不足:1)不可以在不同文件系统的文件间建立链接;2)只有超级用户才可以为目录创建硬链接

② 软链接

      软链接克服了硬链接的不足,没有任何文件系统的限制,任何用户可以创建指向目录的符号链接。因而现在更为广泛使用,它具有更大的灵活性,甚至可以跨越不同机器、不同网络对文件进行链接。

      不足:因为链接文件包含有原文件的路径信息,所以当原文件从一个目录下移到其他目录中,再访问链接文件,系统就找不到了,而硬链接就没有这个缺陷,你想怎么移就怎么移;还有它要系统分配额外的空间用于建立新的索引节点和保存原文件的路径。

  • 实际场景下,基本是使用软链接。总结区别如下:
  1. 硬链接不可以跨分区,软件链可以跨分区。
  2. 硬链接指向一个 inode 节点,而软链接则是创建一个新的 inode 节点。
  3. 删除硬链接文件,不会删除原文件,删除软链接文件,会把原文件删除。

6. RAID 是什么?

      RAID 全称为独立磁盘冗余阵列(Redundant Array of Independent Disks),基本思想就是把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达到甚至超过一个价格昂贵、 容量巨大的硬盘。RAID通常被用在服务器电脑上,使用完全相同的硬盘组成一个逻辑扇区,因此操作系统只会把它当做一个硬盘。

      RAID 分为不同的等级,各个不同的等级均在数据可靠性及读写性能上做了不同的权衡。在实际应用中,可以依据自己的实际需求选择不同的 RAID 方案。

      当然,因为很多公司都使用云服务,大家很难接触到 RAID 这个概念,更多的可能是普通云盘、SSD 云盘的概念。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木子Linux

各位看官老爷,行行好

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值