難易度は 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問解く