10 个核心 Linux 面试问题及答案,来挑战挑战!

本文精心挑选了10个核心Linux面试问题,看看你会几个?

友情提醒:都不简单!

1. 如何在Bash中定义宏或绑定键到特定命令?

在Linux运维或开发中,重复输入长命令会降低效率。Bash提供了绑定快捷键的功能,让你可以通过按一个键快速执行复杂命令。这在面试中常被问到,因为它考察了你对Bash环境的熟悉程度。

在Bash中,可以使用bind命令将键盘按键绑定到特定命令,从而创建自定义快捷键。首先,你需要知道按键的转义序列(escape sequence)。最简单的方法是按Ctrl + v,然后按下目标键(例如F12),终端会显示该键的转义序列,比如^[[24~

假设你想将F12绑定到date命令,显示当前时间。可以在终端输入:

bind '"\e[24~":"date"'

执行后,按F12将直接运行date命令,输出当前日期和时间。

2. 如何列出所有可用命令?

Linux系统中可执行命令众多,包括内置命令、别名和PATH中的程序。面试官可能通过这个问题考察你对系统环境的了解。

使用compgen -c命令可以列出当前Bash环境中所有可用的命令,包括内置命令、别名和PATH中的可执行文件。例如:

compgen -c

输出将是一长串命令列表,如lscatsystemctl等。

3. 如何打印目录栈?

在Linux中,pushdpopd用于目录导航,目录栈记录了导航历史。面试官可能通过此问题考察你的目录管理能力。

使用dirs命令可以查看目录栈内容,显示按顺序存储的目录列表,当前目录位于栈顶。例如:

dirs

假设你执行了pushd /usr/sharepushd /var/log,运行dirs可能输出:

/var/log /usr/share

4. 如何不重启系统的情况下移除所有后台作业?

Linux中,长时间运行可能积累多个后台或挂起作业。面试官可能想知道你如何管理这些作业。

使用disown -r命令可以将所有运行或停止的后台作业从当前Shell ejected

Shell:

disown -r

5. Bash中的hash命令有何作用?

Bash的哈希表管理命令路径,影响命令执行效率。面试官可能借此考察你的性能优化知识。

hash命令管理Bash的内部哈希表,存储已执行命令的完整路径,加快后续执行速度。运行hash可查看哈希表内容,例如:

hash

输出可能如下:

面试加分点:提到与which命令的区别(which查找PATH中的命令路径,而hash显示实际使用的缓存路径)。

6. Bash中用于整数运算的命令是什么?

Bash脚本中常需进行简单数学运算,面试官可能考察你的脚本编写能力。

let命令用于执行整数运算,常用于脚本中的数学计算。例如:

let a=5
let b=10
let c=a+b
echo $c

输出:15

let支持加(+)、减(-)、乘(*)、除(/)、取模(%)等运算。

替代方法

  • 使用(( ))语法:((c=a+b))
  • 使用expr命令:c=$(expr $a + $b)(注意空格)。

let仅支持整数运算,浮点数需使用bc命令。

面试加分点:提到let(( ))的性能差异((( ))更现代且可读性强),或介绍浮点运算的bc命令。

7. 如何逐页查看大型文本文件?

处理大文件是Linux运维的常见任务,面试官可能考察你的文件处理能力。

使用less命令可以逐页查看大型文本文件:

less bigfile.txt

less vs moremore仅支持向前翻页,而less支持双向滚动、搜索(/键)和标记。

常用操作

  • Space:下一页。
  • b:上一页。
  • /pattern:搜索字符串。
  • q:退出。

面试加分点:提到less的高级功能,如-N(显示行号)、-S(不换行),或结合tail -f实时监控日志文件。

8. Linux(或典型数据库)中的数据字典由谁拥有?

数据库管理是Linux运维的重要部分,面试官可能考察你的数据库知识。

在MySQL中,数据字典由数据库服务器内部管理,非特定用户所有。root用户拥有对所有数据库(包括mysqlinformation_schemaperformance_schema)的完全访问权限。

数据字典内容:包括表结构、用户权限、索引等元数据,存储在系统数据库中。

普通用户可通过information_schema查询部分元数据,但无法修改。

Oracle中,数据字典由SYS用户管理,权限更严格。

面试加分点:提到information_schema的具体用途,如分析慢查询或优化数据库性能。

9. 如何了解一个Linux命令的作用?

Linux命令繁多,快速了解命令功能是基本技能。面试官可能考察你的学习能力。

使用whatis命令可以快速查看命令的单行描述,例如:

whatis zcat

输出:

whatis从man页面数据库提取简介,需确保mandb已更新(sudo mandb)。

替代方法

  • man cmd:查看完整手册。
  • cmd --help:查看命令帮助信息。
  • apropos keyword:查找相关命令。

面试加分点:提到apropos的高级用法,如apropos -r regex查找复杂关键字。

10. 如何检查磁盘配额和用户文件数量?

多用户环境中,磁盘配额管理至关重要。面试官可能考察你的系统管理能力。

使用repquota -a命令查看所有启用配额的文件系统的用户磁盘使用情况和文件数量:

repquota -a

输出内容:包括用户名、已用空间、文件数量、软/硬限制等。

需启用磁盘配额(通过quotaon命令或/etc/fstab配置)。

相关命令

  • quota user:查看特定用户的配额。
  • edquota user:编辑用户配额。

面试加分点:提到配额的配置步骤(如修改/etc/fstab、运行quotacheck),展示系统管理经验。

原文链接:,转发请注明来源!