lpic_quiz_ch3

-- Views

April 16, 26

スライド概要

profile-image

はじめまして、yukikoと申します。 DX推進のお力になれれば嬉しいです! 気軽にLinkedinなどでお声がけくださいね! ★スキル LPICレベル2取得者 AI、Python、Splunk、BIが得意領域です。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

LPIC-1 Exam 101 シェル・コマンド 理解度確認クイズ 問題 3.1 〜 3.12 コマンド連結 / 変数・クォーティング / リダイレクト / テキスト処理 / vi エディタ 全 12 問 記述 3問・選択 7問・複数選択 2問 記述 選択 3問 ALJ Education Plus株式会社 石黒友季子 複数選択 7問 2問

2.

選択 重要度 ★★★★★ 問 3.1 command1 が正常に終了しなかった場合のみ command2 を実行するには? bash のコマンドラインに入力する方法を選んでください。 A command1 ; command2 B command1 || command2 C command1 && command2 D command1 :: command2 E command1 2> command2 ヒント: || は OR 演算子。左辺が失敗(非ゼロ終了)したときに右辺を実行する LPIC-1 Exam 101 シェル・コマンド 理解度確認クイズ(問題3.1〜3.12) 2 / 26

3.

選択 解答 A command1 ; command2 B command1 || command2 C command1 && command2 D command1 :: command2 E command1 2> command2 問 3.1 ─ コマンド連結(||) 《 解説 》 • || :左辺が正常に終了しなかった場合(終了コード≠0)のみ右辺を実行する(OR) • ; :左辺の結果に関わらず必ず右辺を実行する • && :左辺が正常に終了した場合のみ右辺を実行する(AND) • :: :bash に該当する書式は存在しない LPIC-1 Exam 101 シェル・コマンド 理解度確認クイズ(問題3.1〜3.12) 3 / 26

4.

選択 重要度 ★★★★☆ 問 3.2 次のコマンドラインを実行したときの結果を選んでください。 $ TEST=date;echo `$TEST` A 現在の日時が表示される B 「$TEST」と表示される C 「$date」と表示される D 「date」と表示される E 誤りがあるのでエラーになる ヒント: バッククォート(`)内はコマンドとして展開される。; はコマンドを順に実行する LPIC-1 Exam 101 シェル・コマンド 理解度確認クイズ(問題3.1〜3.12) 4 / 26

5.

選択 解答 問 3.2 ─ バッククォートとセミコロン $ TEST=date;echo `$TEST` A 現在の日時が表示される B 「$TEST」と表示される C 「$date」と表示される D 「date」と表示される E 解説 誤りがあるのでエラーになる 《 》 • ; でコマンドを区切ると順に実行される → TEST=date が実行 → $TEST に 'date' が代入される • バッククォート(`$TEST`) → $TEST が展開され 'date' → date コマンドが実行 → 現在日時を出力 • 単一引用符(')内は変数展開なし → '$TEST'はそのまま $TEST と表示される • 二重引用符(")内は変数展開あり → "$TEST" は date を表示 LPIC-1 Exam 101 シェル・コマンド 理解度確認クイズ(問題3.1〜3.12) 5 / 26

6.

重要度 ★★★★☆ 選択 問 3.3 $HOME/bin ディレクトリを環境変数 PATH に追加するには? bash シェルでどのようにすればよいか選んでください。 A PATH=PATH+'$HOME/bin' B PATH=$HOME/bin C PATH=$PATH:$HOME/bin D $PATH=$HOME/bin E PATH='$PATH:$HOME/bin' ヒント: PATH に追加する場合は既存の値 $PATH を先に指定し、: で区切って連結する LPIC-1 Exam 101 シェル・コマンド 理解度確認クイズ(問題3.1〜3.12) 6 / 26

7.

選択 解答 A PATH=PATH+'$HOME/bin' B PATH=$HOME/bin C PATH=$PATH:$HOME/bin D $PATH=$HOME/bin E PATH='$PATH:$HOME/bin' 問 3.3 ─ PATH変数への追加 《 解説 》 • PATH=$PATH:$HOME/bin → 既存の PATH に : で区切って $HOME/bin を追加する(正解) • PATH=$HOME/bin → 既存のPATHが消え $HOME/bin だけになってしまう • 変数を定義するとき変数名の先頭に $ は不要($PATH= とするのは誤り) • 単一引用符で囲うと変数展開されず PATH='$PATH:$HOME/bin' という文字列になる LPIC-1 Exam 101 シェル・コマンド 理解度確認クイズ(問題3.1〜3.12) 7 / 26

8.

重要度 ★★☆☆☆ 複数選択 問 3.4 sample.txt の英小文字をすべて英大文字に変換して画面に出力するコマンド を すべて選んでください(複数選択)。 A tr 'a-z' 'A-Z' sample.txt B cat sample.txt | tr 'a-z' 'A-Z' C tr -f 'a-z' -t 'A-Z' < sample.txt D tr [:lower:] [:upper:] < sample.txt E tr '[:lower:]' '[:upper:]' < sample.txt ヒント: tr はファイルを引数に取れない。パイプか入力リダイレクトで渡す必要がある LPIC-1 Exam 101 シェル・コマンド 理解度確認クイズ(問題3.1〜3.12) 8 / 26

9.

複数選択 解答 A tr 'a-z' 'A-Z' sample.txt B cat sample.txt | tr 'a-z' 'A-Z' C tr -f 'a-z' -t 'A-Z' < sample.txt D tr [:lower:] [:upper:] < sample.txt E tr '[:lower:]' '[:upper:]' < sample.txt 問 3.4 ─ tr コマンド(文字変換) 《 解説 》 • tr コマンドはファイルを引数に指定できない → パイプか < でデータを渡す必要がある(A は誤り) • B:cat でパイプ渡し → 正解 D:[:lower:] [:upper:] は引用符なしでもOK → 正解 • E:'[:lower:]' '[:upper:]' 引用符ありでも正解(引用符は任意) • C:tr に -f オプションは存在しない → 書式誤りで不正解 LPIC-1 Exam 101 シェル・コマンド 理解度確認クイズ(問題3.1〜3.12) 9 / 26

10.

記述 重要度 ★★★☆☆ 問 3.5 /var/log/messages ファイルの末尾 20 行を表示するコマンドを記述してくだ さい。 下線部に当てはまるコマンドを記述してください。 $ -n 20 /var/log/messages ポイント • -n オプション:表示する行数を指定(-n 20 または -20 のどちらも可) • 行数を指定しない場合、デフォルトで末尾 10 行が表示される ヒント: ファイルの先頭を表示するコマンドは head、末尾を表示するコマンドは? LPIC-1 Exam 101 シェル・コマンド 理解度確認クイズ(問題3.1〜3.12) 10 / 26

11.

記述 解答 問 3.5 ─ tail コマンド tail -n 20 /var/log/messages (または:tail -20 /var/log/messages でも可) $ tail -n 20 /var/log/messages $ tail -20 /var/log/messages # どちらも同じ結果 《 解説 》 • tail:ファイルの末尾を表示するコマンド(デフォルト:末尾10行) • -n 行数:表示する行数を指定する(-行数 の形式でも指定可能) • head:ファイルの先頭を表示する(-n で行数指定は同じ) • tail -f:ファイルの末尾をリアルタイムで表示(ログ監視に便利) LPIC-1 Exam 101 シェル・コマンド 理解度確認クイズ(問題3.1〜3.12) 11 / 26

12.

記述 重要度 ★★☆☆☆ 問 3.6 重複する行を1行にまとめて sample.new として保存するコマンドを記述して ください。 下線部に当てはまるコマンドを記述してください。 $ sort sample.old | > sample.new ポイント • 重複する行を1行にまとめるコマンドを使う • 事前に sort コマンドでソートしておく必要がある(連続する同じ行のみ処理するため) ヒント: uniq は consecutive(連続する)重複行のみ処理する。sort と組み合わせるのが一般的 LPIC-1 Exam 101 シェル・コマンド 理解度確認クイズ(問題3.1〜3.12) 12 / 26

13.

記述 解答 問 3.6 ─ uniq コマンド uniq $ sort sample.old | uniq > sample.new 《 解説 》 • uniq:連続する重複行を1行にまとめて出力するコマンド • uniq は連続する重複行のみ処理するため、事前に sort でソートが必要 • sort | uniq の組み合わせは、重複排除のための定番パターン • sort -u でも同様に重複排除が可能(sort + uniq を一度に処理) LPIC-1 Exam 101 シェル・コマンド 理解度確認クイズ(問題3.1〜3.12) 13 / 26

14.

選択 重要度 ★★★★★ 問 3.7 find の実行結果とエラー出力を、いずれも find.log に保存するコマンドを選 んでください。 A find / -name core > find.log B find / -name core 2>> find.log C find / -name core 2>&1 | find.log D find / -name core > find.log 2>&1 E find / -name core 2>&1 find.log ヒント: 2>&1 は「標準エラー出力を標準出力と同じ場所へ」。> の後に 2>&1 を書く順序に注意 LPIC-1 Exam 101 シェル・コマンド 理解度確認クイズ(問題3.1〜3.12) 14 / 26

15.

選択 解答 A find / -name core > find.log B find / -name core 2>> find.log C find / -name core 2>&1 | find.log D find / -name core > find.log 2>&1 E find / -name core 2>&1 find.log 問 3.7 ─ リダイレクト(2>&1) 《 解説 》 • > find.log 2>&1 の順序が重要:① 標準出力を find.log へ → ② エラー出力を標準出力(find.log)へ • A:標準出力のみ find.log に保存。エラー出力は端末に表示される • B:エラー出力のみ find.log に追記。実行結果は保存されない • C:パイプの後に find.log はコマンドと認識されてしまうため不正解 LPIC-1 Exam 101 シェル・コマンド 理解度確認クイズ(問題3.1〜3.12) 15 / 26

16.

選択 重要度 ★★★★☆ 問 3.8 lpic.txt の全ての「lpic」を「LPIC」に変更して lpic2.txt として保存するコマン ドを選んでください。 A sed s/lpic/LPIC/f lpic.txt > lpic2.txt B tr s/lpic/LPIC/f < lpic.txt > lpic2.txt C sed -f /lpic/LPIC/ lpic.txt > lpic2.txt D grep lpic LPIC < lpic.txt > lpic2.txt E sed s/lpic/LPIC/g lpic.txt > lpic2.txt ヒント: sed で全置換するには g フラグを使う。書式:sed s/旧/新/g ファイル名 LPIC-1 Exam 101 シェル・コマンド 理解度確認クイズ(問題3.1〜3.12) 16 / 26

17.

選択 解答 A sed s/lpic/LPIC/f lpic.txt > lpic2.txt B tr s/lpic/LPIC/f < lpic.txt > lpic2.txt C sed -f /lpic/LPIC/ lpic.txt > lpic2.txt D grep lpic LPIC < lpic.txt > lpic2.txt E sed s/lpic/LPIC/g lpic.txt > lpic2.txt 問 3.8 ─ sed コマンド(全置換) 《 解説 》 • sed s/旧/新/g :g フラグで各行のすべての一致を置換(g がないと各行の最初の1つだけ) • A:/f フラグは存在しない(/g が正しい) • B:tr は文字単位の変換コマンド。文字列パターンの置換には使えない • C:-f はファイルからコマンドを読み込むオプション。書式が誤り LPIC-1 Exam 101 シェル・コマンド 理解度確認クイズ(問題3.1〜3.12) 17 / 26

18.

記述 重要度 ★★☆☆☆ 問 3.9 sample.tar.gz ファイルの SHA512 ハッシュ値を表示するコマンドを記述して ください。 下線部に当てはまるコマンドを記述してください。 $ sample.tar.gz ポイント • ハッシュ値はファイルの改ざんや破損がないかを確認するために使用する • SHA512 以外のハッシュ値コマンド:md5sum(MD5) ヒント: sha1sum(SHA1) sha256sum(SHA256) SHA512ハッシュを表示するコマンドは sha___sum の形式 LPIC-1 Exam 101 シェル・コマンド 理解度確認クイズ(問題3.1〜3.12) 18 / 26

19.

記述 解答 問 3.9 ─ sha512sum コマンド sha512sum sample.tar.gz $ sha512sum sample.tar.gz → 長いハッシュ値... sample.tar.gz 《 解説 》 • sha512sum:SHA-512 ハッシュ値を計算して表示するコマンド • ハッシュ値の用途:ファイルの改ざん・破損確認(オリジナルと同じかどうかを確認) • 関連コマンド:md5sum(MD5)sha1sum(SHA1)sha256sum(SHA256) • LPIC では sha512sum / sha256sum / md5sum の使い分けが問われることがある LPIC-1 Exam 101 シェル・コマンド 理解度確認クイズ(問題3.1〜3.12) 19 / 26

20.

選択 重要度 ★★★★☆ 問 3.10 vi エディタでカーソル行から 8 行削除する操作を選んでください。 コマンドモードになっています。 A 「dd」と入力すると行数を尋ねてくるので「8」と入力する B 「d8」と入力する C Ctrl キーと D キーを 8 回押す D 「8dd」と入力する E 「8yy」と入力する ヒント: vi のコマンドモードでは「数値 + コマンド」でそのコマンドを数値回繰り返す LPIC-1 Exam 101 シェル・コマンド 理解度確認クイズ(問題3.1〜3.12) 20 / 26

21.

選択 解答 問 3.10 ─ vi エディタ(8dd) A 「dd」と入力すると行数を尋ねてくるので「8」と入力する B 「d8」と入力する C Ctrl キーと D キーを 8 回押す D 「8dd」と入力する E 「8yy」と入力する 《 解説 》 • vi コマンドモードでは「数値 + コマンド」で繰り返し回数を指定できる • 8dd → dd(1行削除)を 8 回繰り返す → カーソル行から 8 行を削除 • dd は行削除(delete line)。行数を尋ねてくることはない(A は誤り) • 8yy → yy(1行コピー)を 8 回繰り返す → 削除ではなくコピーになる(E は誤り) LPIC-1 Exam 101 シェル・コマンド 理解度確認クイズ(問題3.1〜3.12) 21 / 26

22.

複数選択 重要度 ★★★★☆ 問 3.11 以下のコマンド実行後に予想される事態を 2 つ選んでください。(複数選択 ) $ echo $PATH /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games $ PATH=$HOME/bin A ~/bin ディレクトリ以下のコマンドはコマンド名のみで実行可能となる B PATH 変数の設定時に「$」を付け忘れているのでエラーメッセージが表示される C PATH 変数の設定時に「$」を付け忘れているので PATH 変数の内容は変更されないが、エラーメッセージは表示されない D 「PATH="$HOME/bin"」のように引用符で囲って指定しなければエラーになる E ヒント: PATH=$HOME/bin とすると PATH の内容は $HOME/bin のみになってしまう点に注目 多くのコマンドが「command not found」となって実行できなくなる LPIC-1 Exam 101 シェル・コマンド 理解度確認クイズ(問題3.1〜3.12) 22 / 26

23.

複数選択 解答 問 3.11 ─ PATH変数の上書き A ~/bin ディレクトリ以下のコマンドはコマンド名のみで実行可能となる B PATH 変数の設定時に「$」を付け忘れているのでエラーメッセージが表示される C PATH 変数の設定時に「$」を付け忘れているので PATH 変数の内容は変更されないが、エラーメッセージは表示されない D 「PATH="$HOME/bin"」のように引用符で囲って指定しなければエラーになる E 多くのコマンドが「command not found」となって実行できなくなる 《 解説 》 • PATH=$HOME/bin → 既存の PATH が消え $HOME/bin のみに上書きされる • A:$HOME/bin だけが PATH に設定されるので、そのディレクトリのコマンドは実行可能 • E:既存のPATHが消えるため、/usr/bin 等のコマンドが「command not found」になる • 変数の定義では変数名に $ は不要。$PATH= ではなく PATH= と書く(B・C は誤り) LPIC-1 Exam 101 シェル・コマンド 理解度確認クイズ(問題3.1〜3.12) 23 / 26

24.

選択 重要度 ★★★☆☆ 問 3.12 history | grep $PATH を実行しても何も表示されなかった理由を選んでくださ い。 $ PATH=/opt/bin:$PATH $ echo $PATH /opt/bin:/usr/local/bin:/usr/bin:/bin $ history | grep $PATH ← 何も表示されなかった A bash はログアウト時に履歴が記録されるので、直前のコマンドは history で出力されない B デフォルトでは .bash_history ファイルが用意されていないので、あらかじめ作成しておく必要がある C history コマンドは引数に出力行数を指定する必要がある D grep コマンドではなく fgrep コマンドを使う必要がある ヒント: grep $PATH と書いた場合、$PATH はシェルによって展開される。何に展開される? LPIC-1 101 シェル・コマンド 理解度確認クイズ(問題3.1〜3.12) E Exam シェルによって展開されないよう '$PATH' のように引用符で囲む必要がある 24 / 26

25.

選択 解答 問 3.12 ─ history と変数展開 A bash はログアウト時に履歴が記録されるので、直前のコマンドは history で出力されない B デフォルトでは .bash_history ファイルが用意されていないので、あらかじめ作成しておく必要がある C history コマンドは引数に出力行数を指定する必要がある D grep コマンドではなく fgrep コマンドを使う必要がある E シェルによって展開されないよう '$PATH' のように引用符で囲む必要がある 《 解説 》 • grep $PATH → $PATH がシェルによって展開される → /opt/bin:/usr/local/bin:... という長い文字列で検索 • その長いパス文字列と完全一致する履歴は存在しないため何も表示されない • '$PATH' のように単一引用符で囲むとシェルによる展開がされず「$PATH」という文字列で検索できる • bash は HISTSIZE 行をメモリに保持し、ログアウト時に .bash_history に書き込む(デフォルトで存在する) LPIC-1 Exam 101 シェル・コマンド 理解度確認クイズ(問題3.1〜3.12) 25 / 26

26.

クイズ終了 お疲れさまでした 記述 3問 3.5・3.6・3.9 tail / uniq / sha512sum 選択 7問 3.1・3.2・3.3・3.7・3.8・3.10・3.12 コマンド連結・変数・sed・vi・history 3.4・3.11 tr コマンド・PATH変数の挙動 複数選択 2問 LPIC-1 Exam 101 コマンド連結 / クォーティング / リダイレクト / テキスト処理 / vi ALJ Education Plus株式会社 石黒友季子