Skip to content

Linux 運用スキルクイズ

このクイズでは、Kubernetes 環境で使用される Linux 運用スキルについての理解を確認します。

選択問題

  1. どのコマンドが環境変数を子プロセスで利用可能にしますか?
    • A) set
    • B) export
    • C) declare
    • D) env
回答を表示

回答: B) export

  1. .bashrc はいつ実行されますか?
    • A) ログインシェルの場合のみ
    • B) すべてのシェルセッションで
    • C) 非ログインの対話型シェルで
    • D) 常に .bash_profile とともに
回答を表示

回答: C) 非ログインの対話型シェルで

  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) 1 回だけ置換する
    • 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 application の 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. 現在のシェルでファイルの内容を実行するコマンドは何ですか?
回答を表示

回答: source (または .)

  1. JSON 解析ツールは何ですか?
回答を表示

回答: jq

  1. bastion jump に使用される SSH オプションは何ですか?
回答を表示

回答: ProxyJump (または -J)

  1. ディスク I/O を監視するコマンドは何ですか?
回答を表示

回答: iostat

  1. Pod service account token へのパスは何ですか?
回答を表示

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

実践問題

  1. 必須の DATABASE_URL とデフォルト 30 の TIMEOUT を持つスクリプトを書いてください。
回答を表示
bash
#!/bin/bash
: ${DATABASE_URL:?"DATABASE_URL required"}
TIMEOUT=${TIMEOUT:-30}
  1. 3 回以上再起動した Pods を JSON として出力するコマンドを書いてください。
回答を表示
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. Node 診断スクリプトを書いてください。
回答を表示
bash
#!/bin/bash
echo "=== System ===" && uptime && free -h && df -h
echo "=== kubelet ===" && systemctl status kubelet --no-pager
  1. ConfigMap env vars と volume mount の違いを説明してください。
回答を表示
  • Environment Variables: Pod 起動時に読み込まれ、変更には再起動が必要
  • Volume Mount: 自動更新(約 1 分)、再起動は不要

学習資料に戻る