Google 招聘 Linux 工程师的 20 个面试问题及答案

1. 如何查看当前的 Linux 服务器的运行级别?

答: ‘who -r’ 和 ‘runlevel’ 命令可以用来查看当前的 Linux 服务器的运行级别。

2. 如何查看 Linux 的默认网关?

答: 用 “route -n” 和 “netstat -nr” 命令,我们可以查看默认网关。

除了默认的网关信息,这两个命令还可以显示当前的路由表。

3. 如何在 Linux 上重建初始化内存盘镜像文件?

答: 在 CentOS 5.X / RHEL 5.X 中,可以用 mkinitrd 命令来创建初始化内存盘文件。

举例如下:

如果你想要给特定的内核版本创建初始化内存盘,你就用所需的内核名替换掉 ‘uname -r’ 。

在 CentOS 6.X / RHEL 6.X 中,则用 dracut 命令来创建初始化内存盘文件,举例如下:

给特定的内核版本重建初始化内存盘文件则使用以下命令:

4.cpio 命令是什么?

答: cpio 就是复制入和复制出的意思。

cpio 可以向一个归档文件(或单个文件)复制文件、列表,还可以从中提取文件。

5.patch 命令是什么?如何使用?

答: 顾名思义,patch 命令就是用来将修改(或补丁)写进文本文件里。

patch 命令通常是接收 diff 的输出并把文件的旧版本转换为新版本。

举个例子,Linux 内核源代码由百万行代码文件构成,所以无论何时,任何代码贡献者贡献出代码,只需发送改动的部分而不是整个源代码,然后接收者用 patch 命令将改动写进原始的源代码里。

创建一个 diff 文件给 patch 使用,

旧文件和新文件要么都是单个的文件要么都是包含文件的目录,-r 参数支持目录树递归。

一旦 diff 文件创建好,我们就能在旧的文件上打上补丁,把它变成新文件:

6.aspell 有什么用 ?

答: 顾名思义,aspell 就是 Linux 操作系统上的一款交互式拼写检查器。

aspell 命令继任了更早的一个名为 ispell 的程序,并且作为一款免费替代品 ,最重要的是它非常好用。

当 aspell 程序主要被其它一些需要拼写检查能力的程序所使用的时候,在命令行中作为一个独立运行的工具的它也能十分有效。

7. 如何从命令行查看域 SPF 记录?

答: 我们可以用 dig 命令来查看域 SPF 记录。举例如下:

8. 如何识别 Linux 系统中指定文件 (/etc/fstab) 的关联包?

答:

以上命令能列出提供”/etc/fstab”这个文件的包。

9. 哪条命令用来查看 bond0 的状态?

答:

10.Linux 系统中的 /proc 文件系统有什么用?

答: /proc 文件系统是一个基于内存的文件系统,其维护着关于当前正在运行的内核状态信息,其中包括 CPU、内存、分区划分、I/O 地址、直接内存访问通道和正在运行的进程。

这个文件系统所代表的并不是各种实际存储信息的文件,它们指向的是内存里的信息。/proc 文件系统是由系统自动维护的。

11. 如何在 /usr 目录下找出大小超过 10MB 的文件?

答:

12. 如何在 /home 目录下找出 120 天之前被修改过的文件?

答:

13. 如何在 /var 目录下找出 90 天之内未被访问过的文件?

答:

14. 在整个目录树下查找文件”core”,如发现则无需提示直接删除它们。

答:

15.strings 命令有什么作用?

答: strings 命令用来提取和显示非文本文件中的文本字符串。

当用来分析你系统上莫名其妙出现的二进制程序时,可以从中找到可疑的文件访问,对于追查入侵有用处。

16.tee 过滤器有什么作用 ?

答: tee 过滤器用来向多个目标发送输出内容。

如果用于管道的话,它可以将输出复制一份到一个文件,并复制另外一份到屏幕上(或一些其它程序)。

在以上例子中,从 ll 输出可以捕获到 /tmp/ll.out 文件中,并且同样在屏幕上显示了出来。

17.export PS1 = “$LOGNAME@hostname:$PWD:” 这条命令是在做什么?

答: 这条 export 命令会更改登录提示符来显示用户名、本机名和当前工作目录。

18.ll | awk ‘{print $3,”owns”,$9}’ 这条命令是在做什么?

答: 这条 ll 命令会显示这些文件的文件名和它们的拥有者。

19.Linux 中的 at 命令有什么用?

答: at 命令用来安排一个程序在未来的做一次一次性执行。

所有提交的任务都被放在 /var/spool/at 目录下并且到了执行时间的时候通过 atd 守护进程来执行。

20.linux 中 lspci 命令的作用是什么?

答: lspci 命令用来显示你的系统上 PCI 总线和附加设备的信息。

指定 -v,-vv 或 -vvv 来获取越来越详细的输出,加上 -r 参数的话,命令的输出则会更具有易读性。