Skip to content

Linux 操作技能测验

本测验用于测试你对 Kubernetes 环境中使用的 Linux 操作技能的理解。

选择题

  1. 哪个命令可以让环境变量对子进程可用?
    • A) set
    • B) export
    • C) declare
    • D) env
显示答案

答案:B) export

  1. .bashrc 何时执行?
    • A) 仅用于登录 shell
    • B) 用于所有 shell 会话
    • C) 用于非登录交互式 shell
    • D) 始终与 .bash_profile 一起执行
显示答案

答案:C) 用于非登录交互式 shell

  1. ${REPLICAS:-3} 表示什么?
    • A) 将 REPLICAS 设置为 3
    • B) 如果未设置 REPLICAS,则使用 3
    • C) 从 REPLICAS 中减去 3
    • D) 错误
显示答案

答案:B) 如果未设置 REPLICAS,则使用 3

  1. awk 'NR>1 {print $1}' 做什么?
    • A) 打印所有行的第一个字段
    • B) 仅打印第一行
    • C) 打印除表头外的第一个字段
    • D) 打印包含第一个字段的行
显示答案

答案:C) 打印除表头外的第一个字段

  1. sed -i 's/old/new/g'g 的作用是什么?
    • A) 不区分大小写
    • B) 替换一行中的所有匹配项
    • C) 只替换一次
    • D) 启用正则表达式
显示答案

答案:B) 替换一行中的所有匹配项

  1. jq -r-r 的作用是什么?
    • A) 递归搜索
    • B) 反向排序
    • C) 不带引号输出原始字符串
    • D) 只读
显示答案

答案:C) 不带引号输出原始字符串

  1. ssh -L 8080:localhost:80 user@server 表示什么?
    • A) 将服务器的 8080 转发到本地的 80
    • B) 将本地的 8080 转发到服务器的 80
    • C) 将服务器的 80 转发到本地的 8080
    • D) 将本地的 80 转发到服务器的 8080
显示答案

答案:B) 将本地的 8080 转发到服务器的 80

  1. vmstat 中的 wa 表示什么?
    • A) Web 应用程序 CPU
    • B) I/O 等待时间百分比
    • C) 警告数量
    • D) 活跃进程
显示答案

答案:B) I/O 等待时间百分比

  1. 哪个命令会创建 LVM Physical Volume?
    • A) lvcreate
    • B) vgcreate
    • C) pvcreate
    • D) fscreate
显示答案

答案:C) pvcreate

  1. curl -s -o /dev/null -w "%{http_code}" URL 输出什么?
    • A) 响应正文
    • B) 响应标头
    • C) HTTP 状态码
    • D) 响应时间
显示答案

答案:C) HTTP 状态码

简答题

  1. 哪个命令会在当前 shell 中执行文件内容?
显示答案

答案:source(或 .)

  1. JSON 解析工具是什么?
显示答案

答案:jq

  1. 用于 bastion 跳转的 SSH 选项是什么?
显示答案

答案:ProxyJump(或 -J)

  1. 哪个命令用于监控磁盘 I/O?
显示答案

答案:iostat

  1. Pod service account token 的路径是什么?
显示答案

答案:/var/run/secrets/kubernetes.io/serviceaccount/token

实践题

  1. 编写一个脚本,要求必须提供 DATABASE_URL,并将 TIMEOUT 默认值设为 30。
显示答案
bash
#!/bin/bash
: ${DATABASE_URL:?"DATABASE_URL required"}
TIMEOUT=${TIMEOUT:-30}
  1. 编写一个命令,以 JSON 形式输出重启次数为 3 次及以上的 Pods。
显示答案
bash
kubectl get pods -A -o json | jq '[.items[] | select([.status.containerStatuses[]?.restartCount] | add >= 3)]'
  1. 编写一个通过 bastion 同步 yaml 文件的 rsync 命令。
显示答案
bash
rsync -avzP --include='*.yaml' --exclude='*' -e "ssh -J bastion" /src/ user@host:/dest/

高级题

  1. 编写一个节点诊断脚本。
显示答案
bash
#!/bin/bash
echo "=== System ===" && uptime && free -h && df -h
echo "=== kubelet ===" && systemctl status kubelet --no-pager
  1. 解释 ConfigMap 环境变量与卷挂载的区别。
显示答案
  • 环境变量:在 Pod 启动时加载,更改后需要重启
  • 卷挂载:自动更新(约 1 分钟),无需重启

返回学习资料