Linux 面试问题与答案

2025年3月17日 | 阅读16分钟
Linux Interview Questions

下面列出了最常问的 Linux 面试问题和答案。

Linux 操作系统内部


1) 什么是 Linux?讨论它的特性。

Linux 是一个基于 UNIX 的操作系统。它最初由 Linus Torvalds 引入。它是一个开源操作系统,旨在为计算机用户提供免费且低成本的操作系统。

Linux 是一种开源的类 Unix 计算机操作系统,它直接管理系统的资源和硬件,如存储、内存和 CPU,并处理硬件和软件之间的通信。它最初于 1991 年 10 月 5 日由 Linus Torvalds 发布,用于系统,被认为比 Windows 更快、更安全。它可以免费分发,并且基本上围绕 Linux 内核建立。此外,它可以安装在笔记本、计算机、台式机、手机等设备上。Linux 操作系统的版本包括 Gentoo、SUSE Linux、Debian、Ubuntu 等。

Linux 操作系统的一些重要方面包括:

Top 62 Linux Interview Questions
  • 适应性强且健壮: Linux 可以长时间工作而不会崩溃,并且非常耐安全威胁。
  • 开源免费: 每个人都可以轻松免费地获得它。
  • 更安全: Linux 更安全,因为它提供具有身份验证功能的安全保障,例如文件系统访问控制、安全审计和密码身份验证。
  • 多程序系统: 可以同时运行多个功能或应用程序。
  • 应用程序支持: Linux 包含自己的软件仓库,这是一个可以获取软件的存储位置或地方,以便用户可以获取应用程序。
  • 图形用户界面: Linux 为用户提供了与系统协作的界面,并允许使用图形用户界面应用程序,如 Firefox、VLC 等。
  • 自定义键盘: 世界上使用多种不同的语言。因此,Linux 支持多种语言键盘安装。

2) UNIX 和 Linux 有什么区别?

UNIX 最初是贝尔实验室的专有操作系统,后来发布了其商业版本,而 Linux 是一种免费、开源且非专有的操作系统,供大众使用。


3) 什么是 Linux 内核?讨论它的功能。

Linux 内核是低级系统软件。它用于为用户管理硬件资源。它提供了一个用户级交互界面。

Linux 内核是 Linux 操作系统的主要组件。简单来说,它是一个资源管理器,充当软件和硬件之间的桥梁。其主要作用是处理硬件资源,通常用于提供交互界面。Linux 内核是系统启动时加载的初始程序。它也被称为低级系统软件。

其主要功能如下:

  1. 存储管理
  2. 设备管理
  3. 进程管理
  4. 内存管理
  5. 访问管理和使用连接到计算机的各种外设。

4) 编辑 Linux 内核是否合法?

是的。您可以编辑 Linux 内核,因为它根据通用公共许可证 (GPL) 发布,任何人都可以编辑它。它属于自由和开源软件类别。


5) 什么是 LILO?

LILO 是 Linux 的引导加载程序。它用于将 Linux 操作系统加载到主内存中以开始其操作。它是一个引导加载程序,用于将 Linux 加载到内存并启动操作系统。它也被称为引导管理器,提供系统的双重引导。它可以作为辅助引导程序或主引导程序,实现多种功能,例如启动内核、加载内存、识别其他支持程序和定位内核。如果我们希望使用 Linux 操作系统,我们需要安装一个独特的引导加载程序,即 LILO,因为它允许 Linux 操作系统引导。


6) 开源有什么优点?

开源使您可以将您的软件,包括源代码,免费分发给任何感兴趣的人。因此,您可以添加功能,甚至调试和纠正源代码中的错误。


7) Linux 的基本组件有哪些?

就像其他操作系统一样,Linux 拥有所有组件,如内核、shell、GUI、系统实用程序和应用程序。通常,Linux 由五个组件或元素组成,如下所示和解释:

Top 62 Linux Interview Questions
  1. 内核: 它是 Linux 的主要或核心部分,通常负责操作系统的所有主要活动,例如设备管理、进程管理等。
  2. 系统库: 系统库是独特的程序或函数,系统实用程序或应用程序可以通过它们访问内核功能,而无需代码要求。它用于实现操作系统的功能。
  3. 系统实用程序: 系统实用程序是负责执行个体级和专用任务的实用程序。它们被认为更负责任,并允许用户处理系统。
  4. 硬件: 它是包含 CPU、显示器、键盘、鼠标等项目的物理硬件。
  5. Shell: 它是一个我们可以执行命令、程序和 shell 脚本的环境。它是内核和用户之间的接口,向用户隐藏了内核功能的所有复杂性。

8) Linux 有什么优点?

每个方面都具有附加功能,并且为所有代码提供免费下载设施。


9) 你所说的 Linux Shell 是什么意思?解释它的类型。

Linux Shell 被称为内核和用户之间可用的用户界面。它用于执行与 Linux 操作系统之间的通信和命令。Linux shell 将人类可读的命令作为输入,并将其转换为内核可理解的语言。

经典 Linux 系统上使用了不同类型的 shell,如下所示:

  1. Bourns Shell
  2. ZSH
  3. TCSH
  4. Bourns Again Shell 或 BASH
  5. Korn Shell 或 KSH
  6. C Shell 或 CSH

10) 说出 Sun Microsystems 专门设计的 Linux 名称。

Solaris 是 Sun Microsystems 的 Linux。


11) 说出 Linux 加载器的名称。

LILO 是 Linux 加载器。


12) 如果您在 Linux 中保存了一个文件。后来您想重命名该文件,为此设计了什么命令?

使用 'mv' 命令重命名文件。


13) 写一个内部命令。

内置在 shell 中的命令称为内部命令。


14) 解释进程 ID 和 INODE。

  1. 进程 ID: 它是提供给所有进程的唯一 ID。它用于在进程结束之前在整个计算机上唯一标识一个正在运行的进程。
  2. INODE: 它是操作系统提供给所有文件的唯一名称。所有 inode 在文件系统中都有一个唯一的 inode 号。INODE 存储有关文件的许多详细信息,包括链接数、访问模式、文件类型、文件大小、所有权等。

15) 如果程序员希望在指定时间执行一条指令。使用哪个命令?

使用 'at' 命令。


16) 说出一些 Linux 变体。

一些 Linux 命令是:

  • CentOS
  • Ubuntu
  • Redhat
  • Debian
  • Fedora

17) 什么是交换空间?

交换空间用于指定 Linux 临时保存一些并发运行程序的空间。当 RAM 没有足够的空间来保存所有正在执行的程序时,它就会被使用。

顾名思义,交换空间是当 RAM 或物理内存已满时使用的硬盘空间。它是物理内存的替代品。其主要功能是当实际 RAM 没有足够的空间来容纳所有正在运行的程序并且需要更多空间时,用磁盘空间替换内存。换句话说,它可以被 Linux 用作 RAM 的扩展。


18) 什么是 BASH?

BASH 是 Bourne Again SHell 的缩写。它是原始 Bourne shell 的替代品,由 Steve Bourne 编写。

它通常是一个命令行解释器。BASH 由 Brian Fox 为 GNU 操作系统编写,可以替代 Bourne Shell。它与 Bourne Shell 相同,但包含一些额外功能,如命令行修订,使其更方便易用。它是几乎所有 Linux 安装上的默认用户 shell。基本上,它是一个非编译和解释过程,也可以在终端窗口中执行。此外,它还能够读取 shell 脚本中的命令。


19) BASH 和 DOS 的基本区别是什么?

  • BASH 命令区分大小写,而 DOS 命令不区分大小写。
  • DOS 在命名文件时遵循约定。在 DOS 中,8 个字符的文件名后跟一个点和 3 个字符作为扩展名。BASH 不遵循此类约定。

20) 什么是 root 账户?

root 账户类似于系统管理员账户。它为您提供系统的完全控制权。您可以创建和维护用户账户,为每个账户分配不同的权限等。


21) 什么是 GUI 和 CLI?

GUI: GUI 是图形用户界面的缩写。它是一种人机界面,允许用户通过视觉指示器和图形图标与电子设备协作。使用这些图形图标或元素使用户可以方便地与系统协作。它视觉直观,并允许更高的生产力。它使用用户点击的图像和图标与系统进行通信。由于使用了图像和图标,它更具吸引力且用户友好。

CLI: CLI 是命令行界面的缩写。它是一个命令行程序,接受文本作为输入来运行操作系统的任务。它允许用户输入声明性命令来指示系统执行操作。它比其他界面需要更少的内存,并且不需要 Windows,因为也可以使用低分辨率显示器。它是一个允许用户输入声明性命令来指示计算机执行操作的界面。


22) 哪款流行的办公套件在 Microsoft 和 Linux 上都可以免费使用?

Open Office Suite 在 Microsoft 和 Linux 上都可以免费使用。您可以在两者上安装它。


23) 假设您的公司最近从 Microsoft 切换到 Linux,并且您有一些 MS Word 文档需要在 Linux 中保存和工作,您会怎么做?

在 Linux 上安装 Open Office Suite。它方便您处理 Microsoft 文档。


24) 什么是 SMTP?

SMTP 是简单邮件传输协议的缩写。它是一种用于邮件传输的互联网标准。


25) 什么是 Samba?为什么使用它?

Samba 服务用于通过提供 Microsoft SMB 支持将 Linux 机器连接到 Microsoft 网络资源。


26) 用户管理的基本命令有哪些?

  • last,
  • chage,
  • chsh,
  • lsof,
  • chown,
  • chmod,
  • useradd,
  • userdel,
  • newusers 等。

27) Linux 中文件名的最大长度是多少?

255 个字符。


28) Linux 操作系统是否没有病毒?

不,到目前为止还没有哪个操作系统是完全没有病毒的,但 Linux 的病毒数量较少。


29) 在 Linux 系统中,哪个分区存储系统配置文件?

/stc 分区。


30) 使用哪个命令解压缩 gzip 文件?

gunzip 命令用于解压缩 gzip 文件。


31) 为什么开发人员在密码上使用 MD5 选项?

MD5 是一种加密方法,因此它用于在保存密码之前对其进行加密。


32) 什么是虚拟桌面?

虚拟桌面用于替代当前桌面上的最小化和最大化不同窗口。虚拟桌面方便您在一个空白画布上打开一个或多个程序,而不是最小化或恢复所有必需的程序。


33) 软挂载点和硬挂载点有什么区别?

在软挂载中,如果客户端无法连接服务器,它会给出错误报告并关闭连接,而在硬挂载中,如果客户端无法访问服务器,连接会挂起;一旦系统启动,它会再次访问服务器。


34) Alt+Ctrl+Del 组合键在 Linux 中是否有效?

是的,它像 Windows 一样工作。


35) Linux 中的文件权限有哪些?

Linux 操作系统中有 3 种类型的权限,如下所示:

  • 读取: 用户可以读取文件并列出目录。
  • 写入: 用户可以在目录中写入新文件。
  • 执行: 用户可以访问和运行目录中的文件。

36) VI 编辑器中使用的模式有哪些?

Visual Editor 或 VI 编辑器是几乎所有 Linux 操作系统都附带的默认文本编辑器。VI 编辑器中使用了三种不同类型的模式,如下所述:

  • 常规模式或命令模式: 对于 VI 编辑器,它是默认模式。它用于键入执行特定或特定 vi 功能的命令。要从其他模式输入此模式,必须单击 [esc]。它允许我们查看内容。
  • 编辑模式或插入模式: 它允许我们在文件中键入文本或执行文本编辑。要从其他模式输入此模式,必须单击 [esc]。它允许我们插入或删除内容或文本。
  • 替换模式或 Ex 模式: 它用于存储文件和执行命令。它使用不同的参数运行文件。要输入此模式,必须单击 [:]。它允许我们覆盖文本或内容。

37) 如何退出 vi 编辑器?

以下命令用于退出 vi 编辑器。

  1. :wq 保存当前工作并退出 VI。
  2. :q! 退出 VI 而不保存当前工作。

38) 如何从 vi 中的文件中删除信息?

以下命令用于从 vi 编辑器中删除信息。

  1. x 删除当前字符。
  2. dd 删除当前行。

39) 如何在 vi 中创建新文件或修改现有文件?

  1. vi filename

40) Linux 用户模式类型有哪些?

有两种 Linux 用户模式可用,如下所示:

  • GUI
  • 命令行

41) 进程状态有哪些?

Linux 进程是一种可以处于几种不同状态的进程。进程从开始到结束都处于这些状态。在 Linux 中,进程状态如下所述:

Top 62 Linux Interview Questions
  1. 新建/就绪: 创建了一个新进程,并准备执行。
  2. 运行中: 进程正在运行。
  3. 阻塞/等待: 进程等待用户输入,如果它没有执行资源,例如输入、文件锁和内存,它可能会保持阻塞或等待状态。
  4. 完成/终止: 进程已被操作系统终止或完成执行。
  5. 僵尸: 进程已中止,但与进程相关的信息仍然可用,并且在进程表中可用。

42) Linux 系统中典型的交换分区大小是多少?

它应该是系统中可用 RAM 或物理内存量的两倍。


43) 用于自动挂载文件系统的文件叫什么名字?

fstab 文件是用于自动挂载文件系统的文件。


44) LVM 是什么意思,为什么它很重要?

逻辑卷管理(LVM)是一种为 Linux 内核提供逻辑卷管理功能的工具。它的引入是为了方便物理存储设备管理。此外,它还具有分配磁盘、调整大小、镜像和条带化逻辑卷的功能。

其主要优点是增强的抽象、控制和灵活性。它允许可扩展的磁盘空间管理。需要在线调整文件系统大小。LVM 分区大小可以使用 Linux 中的 "lvextend" 命令增加,使用 "lvreduce" 命令减小。


45) 定义 "/proc" 文件系统。

proc 文件系统是一个虚拟或伪文件系统,它提供了一个与内核数据结构交互的接口。通常,它包含有关当前正在运行的进程的有用详细信息。此外,它还可以在执行或运行时修改一些内核参数。


46) 什么是守护进程?

守护进程也被称为后台进程。它们是 Linux 中在后台执行的长时间运行的程序。它们没有任何控制终端;因此它们在后台执行。守护进程是计算机启动时开始的进程,只有在计算机关闭时才结束或终止。它只是增加基本操作系统功能的一种形式。它提供了操作系统中不可用的许多功能。


47) 哪个守护进程可以控制打印假脱机进程?

行打印守护进程可以控制打印假脱机进程。


48) 僵尸进程是什么意思?

在 Linux 中,僵尸进程也称为死亡或已失效进程。它是一个已完成执行但其访问仍保留在进程表中的进程。通常,这是由于子进程和父进程之间的通信不足造成的。此进程因父进程需要读取子进程的状态而出现。一旦完成 wait 系统调用,此进程就会从进程表中删除。


49) anacron 和 cron 有什么区别?

  • Anacron: 在 Linux 中,anacron 是一个用于按一定间隔运行任务的程序。它在每周或每天断电的机器上有效工作。
  • Cron: 在 Linux 中,cron 是一个用于在预期时间运行任务的程序。它在持续运行的机器上有效工作。
AnacronCron
它不是守护进程。它是一个守护进程。
只有超级用户可以使用它。普通用户也可以使用它。
它非常适合笔记本电脑和台式机。它非常适合服务器。
它不假定系统 24*7 运行。它假定系统 24*7 运行。
anacron 的最小粒度仅为天。cron 的最小粒度为分钟。
它定期执行命令。它执行计划命令。

50) Linux 下的平均负载是什么意思?

顾名思义,平均负载是 Linux 服务器在给定时间内测量的系统平均负载。Linux 服务器的平均负载可以使用 "uptime" "top" 命令检测。此外,它还用于记录系统资源。


51) 什么是 Shell 脚本?

顾名思义,Shell 脚本主要是为 shell 编写的脚本。该脚本描述了用于管理应用程序的编程语言。它允许执行输入到 shell 中的不同命令。通常,它帮助我们制作复杂的程序,包括函数、循环和条件语句。


52) 内核启动的第一个进程叫什么名字,它在 Linux 中的进程 ID 是多少?

"init" 是内核启动的第一个进程,它的进程 ID 是 1。

Linux 网络


53) Linux 中的 /etc/hosts 和 /etc/resolv.conf 文件是什么?

  • /etc/hosts: 此文件将任何域名或主机名转换为其对应的 IP 地址。
  • /etc/resolv.conf: 此文件配置 DNS 域名服务器,因为它包含域名服务器的信息,即我们的 DNS 服务器的信息。然后,DNS 服务器解析 IP 地址主机名。

54) 什么是 Linux 中的网络绑定?

网络绑定也称为 NIC 捆绑。它是一种将两个或多个网络接口连接到一个接口的绑定。通常,它通过增加网络带宽和吞吐量来提高冗余和性能。


55) 网络绑定有哪些类型?

有几种网络绑定模式,如下所述:

  • 模式-0 (balance-rr): 模式-0 是默认模式,它根据轮询策略工作。它提供负载平衡和容错等功能。
  • 模式-1 (active-backup): 它根据主动-备份策略工作。在另一个节点发生故障时,只有一个节点工作或响应。
  • 模式-2 (balance-xor): 此模式设置一个异或 (XOR) 模式,以提供容错和负载平衡。
  • 模式-3 (broadcast): 它根据广播策略工作。此模式配置一个广播模式,以提供容错,并且只能用于特定目标。
  • 模式-4 (802.3ad): 它也称为动态链路聚合模式。它根据 IEEE 802.3ad 标准工作。它配置一个 IEEE 802.3ad 动态链路聚合模式,并创建具有相似双工和速度设置的聚合组。
  • 模式-5 (balance-tlb): 它也称为自适应发送负载平衡 (TLB)。它配置 TLB 模式以实现负载平衡和容错。
  • 模式-6 (balance-alb): 它也称为自适应负载平衡。它配置 ALB 模式以实现负载平衡和容错。它不需要独特的交换机支持。

55) squid、DHCP、SSH、FTP、SMTP 和 DNS 的默认端口是什么?

几种服务的默认端口如下:

服务器默认端口
squid3128
DHCP68/UDP (dhcp 客户端), 68/UDP (dhcp 服务器)
SSH22
FTP21 (连接已建立), 22 (数据传输)
SMTP25
DNS53

56) 硬链接和软链接有什么区别?

  1. 软链接: 软链接也称为符号链接。这些文件通常指向其他文件。它不包含目标文件中的数据,而是指向文件系统中任何地方的其他条目。我们可以使用以下命令创建软链接:
  1. 硬链接: 硬链接是指向类似底层 inode 的特殊文件。它在 Linux 操作系统中可以被称为旧文件的额外名称。我们可以使用以下命令创建硬链接:
软链接硬链接
它是实际文件的符号链接。它使用实际文件的镜像副本。
通常,它共享不同的 inode 号。通常,它共享相似的 inode 号。
它不包含原始内容,但包含原始文件位置。它包含原始内容。
对此链接进行的任何修改或更改将直接反映到实际文件及其硬链接。对实际文件进行的任何修改将直接反映到其他文件。
它链接目录。它不能链接目录。
它们比硬链接慢。它们比软链接快。

57) Linux 下有哪三种标准流?

在 Linux 中,标准流是程序及其环境之间的 I/O 通信通道。在 Linux 环境中,输入和输出分布在三个标准流中,如下所述:

  • stdin (标准输入)
  • stdout (标准输出)
  • stderr (标准错误)

Linux 命令


58) 解释 netstat 命令。

网络统计或 netstat 命令是用于配置和故障排除的网络工具。它显示系统上的每个网络连接。它提供了一种检查各种 TCP/IP 方面是否正在运行以及哪些连接可用的方法。


59) 定义 ping 命令。

Packet Internet Groper 或 ping 命令检查目标和源之间的连接状态。换句话说,此命令检查网络是否存在以及主机是否可达。我们可以使用 ping 命令检查系统的 IP 地址和名称。


60) 说出用于查看默认运行级别​​的命令。

"/etc/inittab" 命令用于查看默认运行级别。


61) 说出用于查看目录或文件大小的命令。

"du" 命令用于查看目录或文件的大小。磁盘使用情况或 du 命令检查系统上目录和文件的磁盘使用信息。此外,它还用于递归地显示目录和文件大小。


62) 说出用于计算文件中字符数的命令。

"wc" 命令用于计算文件中的字符数。字数统计或 wc 命令用于计算任何文本文件中的字符、单词和行数。