LPI-JapanLevel 2

難易度は Level 1(やさしめ)〜Level 5(難関) の5段階です。

LinuC レベル1 101試験のサンプル問題(本番形式・解説付き)

LinuC レベル1 101試験(LPI-Japan・LinuC-1 101試験(Linux技術者認定))の出題形式を、実際の問題で確かめられます。ここに掲載する5問は、無料の会員登録で解ける模試 第1回(60問)の冒頭から抜粋したオリジナル問題です。当サイトは全754問を本番CBT準拠の形式で収録しており、この5問はそのごく一部にあたります。

設問1

System V形式のオプションで、端末を持たないものを含む全プロセスをフルフォーマット(親PID等を含む詳細)で表示するコマンドを入力せよ。

入力形式(コマンドを打ち込んで答える問題です)

ps -ef(正解)

別解: ps -fe

解説

ps -e は全プロセス(every process)、-f はフルフォーマット(full-format listing、PPID・STIMEなどを含む)を意味するSystem V形式のオプションである。BSD形式のps auxと同じ目的を異なる流儀の書式で実現しており、LinuC 101ではSystem V形式(ハイフンあり)とBSD形式(ハイフンなし)の両方の書き方を理解しているかが問われる。

設問2

コマンド「ln original.txt hardlink.txt」を実行した場合の説明として正しいものはどれか。

  • hardlink.txtはoriginal.txtへのパスだけを保持する別のinodeを持つファイル(シンボリックリンク)として作成され、元ファイルを削除するとリンク切れになる
  • hardlink.txtはoriginal.txtの中身をブロック単位で複製した独立ファイルとして作成され、作成後に一方を書き換えてももう一方には反映されない
  • hardlink.txtはoriginal.txtと同じinodeを共有するハードリンクとして作成され、どちらから編集しても同じ実体データが変更される(正解)
  • lnはリンクの種類を指定するオプションが必須であり、-sを付けていないこの実行例では種別を判定できずエラーになり、hardlink.txtは作成されない

解説

lnコマンドを-sオプションなしで実行するとハードリンクが作成され、元ファイルと同じinode(実体データ)を共有する。シンボリックリンクを作成するには-sオプションが必要であり、-sなしで実行したこの例では同じinodeを共有するハードリンクが作られる。lnは実体データを複製するコマンドではないため、別のinodeを持つ独立したファイルは作られない。-sを付けないlnの実行はハードリンクを作成する正規の用法であり、オプション不足のエラーにはならない。

他の選択肢が誤りである理由

  • 「hardlink.txtはoriginal.txtへのパスだけを保持する別のinodeを持つファイル(シンボリックリンク)として作成され、元ファイルを削除するとリンク切れになる」誤り。シンボリックリンクを作成するには-sオプションが必要であり、-sなしで実行したこの例では同じinodeを共有するハードリンクが作られる。リンク先のパスを保持する別ファイルにはならない。
  • 「hardlink.txtはoriginal.txtの中身をブロック単位で複製した独立ファイルとして作成され、作成後に一方を書き換えてももう一方には反映されない」誤り。lnは実体データを複製するコマンドではないため、別のinodeを持つ独立したファイルは作られない。内容をブロック単位で複製するのはcpやddの役割である。
  • 「lnはリンクの種類を指定するオプションが必須であり、-sを付けていないこの実行例では種別を判定できずエラーになり、hardlink.txtは作成されない」誤り。-sを付けないlnの実行はハードリンクを作成する正規の用法であり、オプション不足のエラーにはならない。hardlink.txtは正常に作成される。

設問3

ファイル input.txt の内容を標準入力として sort コマンドに読み込ませるコマンドとして正しいものはどれか。

  • sort > input.txt
  • sort < input.txt(正解)
  • sort >> input.txt
  • sort | input.txt

解説

<はファイルの内容を標準入力として渡すリダイレクトである。>はsortの実行結果をinput.txtへ上書き保存するリダイレクトであり、入力としての読み込みではない。>>も出力を追記するリダイレクトであり、入力としての読み込みではない。|はコマンド同士の標準出力と標準入力を接続するパイプであり、後ろにファイル名を直接指定する記法としては誤りである(input.txtがコマンドとして解釈されエラーになる)。

他の選択肢が誤りである理由

  • 「sort > input.txt」>はsortの実行結果をinput.txtへ上書き保存するリダイレクトであり、入力としての読み込みではない。
  • 「sort >> input.txt」>>も出力を追記するリダイレクトであり、入力としての読み込みではない。
  • 「sort | input.txt」|はコマンド同士の標準出力と標準入力を接続するパイプであり、後ろにファイル名を直接指定する記法としては誤りである(input.txtがコマンドとして解釈されエラーになる)。

設問4

現在カーネルにロードされているモジュールの一覧を表示するコマンドはどれか。

  • lsusb
  • lsmod(正解)
  • lspci
  • lsblk

解説

lsmodは/proc/modulesの内容を読みやすい形式で表示し、現在カーネルにロードされているモジュールの一覧(モジュール名・サイズ・使用状況など)を確認できるコマンドである。lsusbはUSBバスに接続されたデバイスの一覧を表示するコマンドであり、カーネルモジュールの一覧ではない。lspciはPCI/PCIeバスに接続されたデバイスの一覧を表示するコマンドであり、カーネルモジュールの一覧ではない。lsblkはブロックデバイスとそのパーティション構成を一覧表示するコマンドであり、カーネルモジュールの一覧ではない。

他の選択肢が誤りである理由

  • 「lsusb」lsusbはUSBバスに接続されたデバイスの一覧を表示するコマンドであり、カーネルモジュールの一覧ではない。
  • 「lspci」lspciはPCI/PCIeバスに接続されたデバイスの一覧を表示するコマンドであり、カーネルモジュールの一覧ではない。
  • 「lsblk」lsblkはブロックデバイスとそのパーティション構成を一覧表示するコマンドであり、カーネルモジュールの一覧ではない。

設問5

動かしているカーネルのリリース番号(例: 6.8.0-xx)だけを確認したい。uname コマンドを使って入力せよ。

入力形式(コマンドを打ち込んで答える問題です)

uname -r(正解)

別解: uname --kernel-release

解説

uname はシステム情報を表示するコマンドで、-r(--kernel-release)オプションでカーネルのリリース番号を表示する。

続きは、会員登録なしでそのまま50問解けます。採点と解説つきで、上と同じ本物の問題です。

登録なしで50問解く