50 个 Unix 面试问题及答案 (2025)

这里列出了 Unix 面试问题和答案,可以帮助应聘者获得理想的工作。

 

面向新人的 Unix 面试问题和答案

1)什么是UNIX?

它是一种可移植操作系统,专为高效的多任务和多用户功能而设计。它的可移植性使其可以在不同的硬件平台上运行。它用 C 编写,允许用户在 shell 下进行处理和控制。

👉 免费 PDF 下载:Unix 面试问题与答案


2)什么是过滤器?

过滤器这个术语通常用于指代任何能够从标准输入获取输入、对该输入执行某些操作并将结果写入标准输出的程序。过滤器也是任何可以在管道中的两个其他程序之间使用的程序。

Unix 面试问题


3) 在 shell 中发出命令时遵循的典型语法是什么?

UNIX shell 下的典型命令语法遵循以下格式:

命令 [-参数] [-参数] [–参数] [文件]


4)有没有办法只使用一个命令就可以删除当前目录中的所有文件(包括其所有子目录)?

是的,这是可能的。为此,请使用“rm –r *”。rm 命令用于删除文件。–r 选项将删除目录和子目录,包括其中的文件。星号代表所有条目。


5) –v 和 –x 选项设置之间的主要区别是什么?

–v 选项会在参数和变量被替换之前回显每个命令;而 –x 选项则会在替换之后回显命令。


6)什么是内核?

内核是 UNIX 操作系统的主程序,它控制计算机资源,将资源分配给不同的用户并执行不同的任务。但是,内核并不直接与用户打交道。相反,它会在每个用户登录时为其启动一个单独的交互式程序,称为 shell。


7)什么是 Shell?

A 充当用户和系统之间的接口。作为命令解释器,shell 接收命令并设置它们以供执行。


8) Korn Shell 的主要功能是什么?

  • 具有模拟 emacs 或 vi 的内置编辑器的历史机制
  • 内置整数运算
  • 字符串操作能力
  • 命令别名
  • 数组
  • 作业控制

9)常见的shell有哪些,其指标是什么?

  • sh——Bourne shell
  • csh——C 外壳
  • bash—Bourne Again Shell
  • tcsh – 增强型 C Shell
  • zsh – Z Shell
  • ksh—Korn Shell

10)区分多用户和多任务。

多用户意味着可以有多个人同时使用计算机。多任务意味着即使是单个用户也可以让计算机同时执行多个任务或程序。


11)什么是命令替换?

命令替换是每次 shell 处理命令时执行的步骤之一。shell 只执行那些用反引号括起来的命令。这将替换命令的标准输出并显示在命令行上。


12)什么是目录?

每个文件都分配给一个目录。目录是文件的一种特殊形式,用于维护其中所有文件的列表。


13)什么是 inode?

索引节点是在为文件系统预留的磁盘部分上创建的条目。索引节点包含有关文件的几乎所有信息。它包括文件在磁盘上的起始位置、文件的大小、文件上次使用的时间、文件上次更改的时间、各种读取、写入和执行权限、文件所有者以及其他信息。


14) 在目录 honky 中有一个名为 tonky 的文件。 Later 你向 tonky 添加了新材料。目录、inode 和文件发生了哪些变化?

由于名称和 inode 编号保持不变,因此目录条目保持不变。在 inode 文件中,文件大小、上次访问时间和上次修改时间均已更新。在文件本身中,添加了新内容。


15)描述 UNIX 中的文件系统

理解 UNIX 中的文件系统与了解文件和 inode 在系统中的存储方式有关。磁盘或磁盘的一部分被留出来用于存储文件和 inode 条目。整个功能单元称为文件系统。


面向资深 Unix 用户的面试问题

16)区分相对路径和绝对路径。

相对路径是指相对于当前路径的路径。而绝对路径则是指从根目录引用的精确路径。


17)解释 UNIX 系统中目录的重要性

目录中的文件本身也可以是目录;它将被称为原始目录的子目录。此功能使得可以开发目录和文件的树状结构,这对于维护组织方案至关重要。


18)简述 Shell 的职责

  • 程序执行
  • 变量和文件名替换
  • I / O重定向
  • 管道连接
  • 环境控制
  • 解释型编程语言

19)什么是 shell 变量?

Shell 变量是名称(标识符)和分配值的组合,存在于 Shell 中。这些变量可能有默认值,或者可以使用适当的赋值命令手动设置其值。Shell 变量的示例有 PATH、TERM 和 HOME。


20)系统调用、库函数和 UNIX 命令之间有什么区别?

系统调用是内核编程的一部分。库函数是一种不属于内核但可供系统用户使用的程序。但是,UNIX 命令是独立程序;它们可以在编程中同时包含系统调用和库函数。


21)什么是 Bash Shell?

它是一个免费的 shell,设计用于 UNIX 系统。作为大多数基于 UNIX 的系统的默认 shell,它结合了 C 和 Korn Shell 中的功能。


22)列举UNIX中最常用的一些网络命令

  • telnet – 用于远程登录
  • ping – 用于测试连通性的回显请求
  • su——用户切换命令
  • ftp – 用于复制文件的文件传输协议
  • 手指——信息收集命令

23)区分 cmp 命令和 diff 命令。

cmp 命令主要用于逐字节比较两个文件,然后显示第一个遇到的不匹配项。另一方面,diff 命令用于指示要进行的更改,以使两个文件彼此相同。


24) 列出目录时 -l 有什么用?

-l 通常用于 ls 之类的列表命令,用于以长格式显示文件,每行一个文件。长格式指的是与文件相关的附加信息,例如所有权、权限、数据和文件大小。


25)什么是管道?

管道,用管道符“|”表示,用于将两个或多个命令组合在一起。第一个命令的输出作为下一个命令的输入,依此类推。


26)什么是超级用户?

超级用户是一种特殊类型的用户,可以访问系统上的所有文件和命令。请注意,超级用户的登录名通常是 root,并受所谓的 root 密码保护。


27) 如何在 UNIX 中确定和设置路径?

每次输入命令时,名为 PATH 或 path 的变量将定义 shell 将在哪个目录中搜索该命令。如果返回错误消息,原因可能是该命令不在您的路径中,或者命令本身不存在。您还可以使用“set path = [directory path]”命令手动设置路径。


28) 是否可以在进程执行时查看有关它的信息?

每个进程都由一个进程标识符唯一标识。可以使用 ps 命令查看有关进程的详细信息和状态。


29) 在 UNIX 中命名文件时遵循的标准约定是什么?

命名文件时的一个重要规则是不允许使用具有特殊含义的字符,例如 * / & 和 %。目录是一种特殊类型的文件,遵循与文件相同的命名约定。使用字母和数字,以及下划线和点字符等字符。


30)为什么不建议使用 root 作为默认登录名?

根帐户非常重要,滥用很容易导致系统损坏。这是因为通常适用于用户帐户的安全措施不适用于根帐户。


针对 5 年以上经验的 Unix 面试问题和答案

31)tee 命令有什么用途?

tee 命令做两件事:一是从标准输入获取数据并将其发送到标准输出;二是将输入数据的副本重定向到指定的文件中。


32)区分 cat 命令和 more 命令。

使用 cat 命令显示文件内容时,屏幕上显示不完的大量数据会不停地滚动,导致难以查看。另一方面,在这种情况下使用 more 命令更合适,因为它会一屏一页地显示文件内容。


33)什么是解析?

解析是将命令行分解为单词的过程。这是通过使用分隔符和空格来实现的。如果命令中包含制表符或多个空格,则最终会用单个空格替换它们。


34)什么是 pid?

Pid 是进程 ID 的缩写。它主要用于标识在 UNIX 系统上运行的每个进程,无论它是在前台运行还是在后台运行。每个 pid 都被视为唯一的。


35) 系统如何知道一个命令在哪儿结束,另一个命令在哪儿开始?

通常,由 ENTER 或 RETURN 键生成的换行符充当标志。但是,分号和 & 符号也可以充当命令终止符。


36)什么是虚拟终端?

虚拟终端 与您迄今为止使用的终端类似。它们用于执行命令和提供输入。唯一的区别是您不能在虚拟终端上使用鼠标。因此,您需要知道键盘快捷键。

虚拟终端

虚拟终端使多个用户可以在同一台计算机上同时使用不同的程序。这就是虚拟终端成为 Linux 最显著的功能之一的原因。


37)什么是通配符解释?

命令行 包含通配符,例如“*”或“?”。它们被 shell 替换为与输入命令匹配的排序文件列表。通配符用于设置要处理的文件列表,而不是一次指定一个。


38)此命令的输出是什么?$who | sort –logfile > newfile

在这个命令中,命令“who”的输出成为“sort”命令的输入。同时,“sort”打开logfile,将其与命令“who”的输出一起排列,并将最终排序后的输出放置到文件newfile中。


39) 如何从任何用户类型切换到超级用户类型?

要从任何用户类型切换到超级用户,可以使用 su 命令。但是,在授予您完全访问权限之前,系统会要求您输入正确的超级用户密码。


40) 将 PATH 的值更改为:.:/usr/della/bin: /bin: /usr/bin 会产生什么效果

这将导致 shell 在查找命令文件时,在查看当前目录之后、在查看 /bin 目录之前,先查看 /usr/della/bin 目录。


41)编写一个命令,以彩色、长格式显示当前目录中的文件。

答案: ls -l –color


42)编写一个命令,查找目录中的所有文本文件,其中不以任何形式包含单词“amazing”(也就是说,它必须包含单词 Amazing、AMAZING 或 aMAZINg)

答:

grep –vi amazing *.txt

43)编写一个命令,输出名为 IN.TXT 的文件的排序内容,并将输出放在另一个名为 OUT.TXT 的文件中,同时排除重复的条目。

答:

sort IN.TXT | uniq > OUT.TXT

44)编写一个命令,让 UNIX 系统在 15 分钟内关闭,然后重新启动。

答:

/sbin/shutdown –r +15

45)什么命令会将您的提示符更改为 MYPROMPT?

要更改提示,我们使用 PS1 命令,例如:

PS1 = 'MYPROMPT:'

46)这个命令有什么作用? cat food 1 > kitty

答案:它将 cat food 的输出重定向到文件 kitty 中;命令与以下相同:cat food > kitty


47) 这个交互式 shell 脚本有什么问题?

echo 这是什么月份?读取 $monthecho $month 是和其他月份一样好的月份。

答案:首先,问号应该被转义(\?),这样它就不会被解释为 shell 元字符。其次,应该读作 month,而不是 $month。


48) 编写一个 shell 脚本,请求用户的年龄然后返回该信息以及一些适当的注释。

答:

echo Hello! What\'s your age\?
read age
echo $age! I\'ll be obsolete by that age!

49)编写一个脚本,按以下顺序打印出日期信息:时间、星期几、星期数、月份、年份(示例输出:17 年 34 月 51 日星期日 12:2012:XNUMX PDT)

答:

set 'date'
echo $4 $5 $1 $3 $2 $6

50)
编写一个脚本,显示以下内容作为输出:

給我一個 U!

U!

給我媽媽一個N!

N!

給我一個我!

I!

给我一个X!

X!

答案:for i in UNI Xdo

echo Give me a $i!
echo $i!
done

这些面试问题也会对你的口试有帮助