Linux標準教科書（Ver3.0.0）章末テストの解答例をつくったよ

LPI-JAPANは**Linux標準教科書** (https://www.lpi.or.jp/linuxtext/download.php) というLinux初学者向けの教材を公開しています。各章ごとに章末テストがあるのですが、解答が記載されていなかったので解答例をつくってみました。Linux標準教科書（Ver3.0.0）を対象としました。

## 1章 Linuxとは
(1) 基本ソフトウェアとして適切なものを選びなさい。

- 3. Windows
- 4. Linux

(2) 応用ソフトウェアとして適切なものを選びなさい。

- 1. Word
- 2.Excel

(3)Operating System の役割として適切なものを 2 つあげなさい。

- 共通部品の提供
- リソース管理

(4)Linux について正しく述べているものを選びなさい。

- Linux はカーネルとユーザランドによって成り立つ。

(5) パッケージを使って応用ソフトウェアを導入する利点を説明しなさい。

- ソースコードをビルドする手間を省ける

## 2章 Linuxのインストール
環境構築についての章のため、章末テストはありませんでした。

## 3章 基本的なコマンド
(1) ファイルやディレクトリを参照するコマンドを記述しなさい。

```
ls
```

(2)/media/cdrom/の中身を最新更新日順に並べて表示するコマンドを選びなさい。

```
ls -lt /media/cdrom/
```

(3) 今いるパスを表示するコマンドを記述しなさい。

```
pwd
```

(4)/home/user フォルダにある test というファイルを/root/backup フォルダに移動します。以下の空欄に当てはまるコマンドを書きなさい。

```
mv /home/user/test /root/backup
ls /root/backup
合計 4
rw-r--r--. 1 root root 19 6 月 14 11:14 2012 test
```

(5) パス/etc の中のファイルで、ファイル名の一部に「resolv」という文字列が含まれるファイル
を検索するコマンドを記述しなさい。

```
find /etc -name resolv
```

## 4章 正規表現とパイプ
(1)grep コマンドを利用し、行頭が a または b で始まる行を抽出できる正規表現を以下の 4 つの中から選びなさい

- 4. grep -e ^\[ab]

(2)「ls /usr/bin | grep -e ^a..$」というコマンドを実行した場合、どのような結果になるか答えなさい。

- /usr/bin以下のaからはじまるの3文字のディレクトリ名、ファイル名が表示される

(3) パス/etc の中にあるファイルでファイル名が conf で終わるものを grep とパイプを用いて記述しなさい。

```
ls /etc | grep conf$
```

(4)ls -l を実行した結果を ls-result ファイルに書き込む場合のコマンドを記述しなさい。

```
ls -l >> ls-result
```

(5)chkconfig --list の実行結果から iptables だけを絞り込んで表示するコマンドを grep を使って記述しなさい。

```
chkconfig --list | grep iptables
```

## 5章 基本的なコマンド2
(1)sort コマンドの実行結果となるように、適切なオプションを付けなさい。
$ sort (-k 3) price
Digital Camera 9800
32-inch TV 49800
Blue-ray Recorder 59800

(2)uniq-sample というファイルに対して uniq コマンドを実行したときの実行結果を答えなさい。

- red
- blue
- red
- blue

(3)file1 と file2 の内容の違いを比較するコマンドを記述しなさい。

```
diff file1 file2
```

(4) 以下のコマンドを実行したところ、何も結果が表示されずコマンド待ち状態になりました。何が考えられるか答えなさい。

- file1とfile2の内容が同じ

(5) パス /etc の ls コマンドの実行結果が保存されたファイル ls-etc の終わり 8 行分を表示する場合のコマンドを記述しなさい。

```
$ tail -n 8 ls-etc
wpa_supplicant
xdg
xinetd.d
xml
yp.conf
yum
yum.conf
yum.repos.d
```

解答: tail -n 8

## 6章 viエディタ
vi を使用中の場合に、以下を実現するためのコマンドを答えなさい。
(1) カレント行から 3 行をコピーする。

```
3yy
```

(2) 文書内の abc という語句を検索する。

```
/abc
```

(3) 編集中のファイルを保存せずに強制終了する。

```
:q!
```

(4) 文書の 100 行目に移動する。

```
100G
```

(5) 文書中の「高野豆腐」を「絹ごし豆腐」に置換する。ただし g オプションを付けて実行する。

```
:%s/高野豆腐/絹ごし豆腐/g
```

## 7章 管理者の仕事
(1)useradd で user を作りましたが、ログインすることができません。ログインできるようにする
には何が必要か答えなさい。

- passwdコマンドでパスワードを登録する 

(2) ユーザ user2 を削除する場合のコマンドを答えなさい。

```
userdel  user2
```

(3) グループ penguin を作成する場合のコマンドを答えなさい。

```
groupadd penguin
```

(4) すでに作成済みのユーザ penguin のパスワードを変更する場合のコマンドを答えなさい。

```
passwd penguin
```

(5)su コマンドに-オプションを付けない場合と付ける場合の違いは何か、答えなさい。

- -オプションを付けない場合は、カレントディレクトリを変更せずにrootでログインする
- -オプションを付ける場合は、カレントディレクトリをrootのホームディレクトリに変更してログインする

## 8章 ユーザ権限とアクセス権
(1) 以下のコマンドを実行した場合の実行結果を選びなさい。
umask 022
touch test
chgrp nobody test
ls -l test

- 3. -rw-r--r--. 1 root nobody 18 5 月 29 18:51 2012 test

(2)chownfile のファイルモードを 755 にするためのコマンドを記述しなさい。

```
chmod 755 chownfile
```

(3)chownfile のファイルモードを 644 にするためのコマンドを記述しなさい。

```
chmod 644 chownfile
```

(4)umask 070 にした後 umask ファイルを作成した場合に設定されるファイルモードは以下のど
れでしょうか？

- 2. -rw----r--. 1 user user 0 5 月 29 19:22 2012 umask

(5)umask 022 にした後 umask ファイルを作成した場合に設定されるファイルモードは以下のど
れでしょうか？

- 4. -rw-r--r--. 1 user user 0 5 月 29 19:24 2012 umask

## 9章 シェルスクリプト
(1)実行結果が解になるように、変数"LPI"に入力した値を出力しなさい。

```
$ LPI=linux
$ echo $LPI
linux
```

解答: $LPI

(2)以下のスクリプトの空欄を埋め、カレントディレクトリにファイルlpi.txtが存在しているか確認するスクリプトを完成させなさい。

```
#!/bin/bash

if [ -f lpi.txt ]; then
    echo file exists.
else
    echo file does not exists.
fi
```

解答: else, fi

(3)以下のスクリプトの空欄を埋め、カレントディレクトリ内のすべてのファイル（サブディレクトリを除く）の種類を表示するスクリプトを完成させなさい。

```
#!/bin/bash

for i in `ls`
do
    if [ ! -d $i ]; then
        file $i
    fi
done
```

解答: done

(4)次の動作をするシェルスクリプトを書きなさい。
1.実行すると、age:として年齢の入力を促される。
2.20以上の値を入れると'you can drink.'と出力される。
3.20未満の値を入れると、'you cannot drink.'と出力される。

```
#!/bin/bash

echo -n age:; read age

if [ $age -ge 20 ]; then
    echo "you can drink."
else
    echo "you cannot drink."
fi
```

(5)bashで、シェルスクリプトの中身を表示しながら実行（デバッグ）するにはどのようにしたらよいか答えなさい。

- `sh -x`コマンドでシェルスクリプトを実行する

```
$ sh -x 9-9-4.sh
+ echo -n age:
age:+ read age
6
+ '[' 6 -ge 20 ']'
+ echo 'you cannot drink.'
you cannot drink.
```

## 10章 ネットワークの設定と管理
(1) 以下のうち、一般的に使われるサーバーが使うポートについて、正しい組み合わせを選びな
さい。

- 1. 22:SSH 80:HTTP 443:HTTPS

(2)traceroute コマンドの動作と利用方法を説明しなさい。

- 動作:送信先までに経由するゲートウェイを表示する
- 利用方法:pingコマンドで送信先から正常なレスポンスがないとき、経由ゲートウェイのルーティングが正しいか調べる。

(3) マシンに設定されている IP アドレスをコマンドで表示しなさい。

```
ip a
```

(4) マシンの DNS サーバー参照先として 8.8.8.8 を設定しなさい。

```/etc/resolv.conf
nameserver 8.8.8.8
```

(5)192.168.100.20 からのアクセスを拒否するよう設定しなさい。

```/etc/hosts.deny
sshd : 192.168.100.20
```

## 11章 プロセス管理
(1)作成中のプログラムをシェルスクリプトから試行したところ、プロンプトが返ってこなくなった。どのような対処方法があるか。

- CTRL + Cを押して、SIGINT(Interupt Signal)を送信する。

(2)シグナル番号とシグナル名の組み合わせとして正しいのは次のうちどれか。

- 2, 4(同じ？)

## 12章 ファイル管理
(1)マシンのハードディスクのパーティションを確認するコマンドを記述しなさい。

```
# fdisk -l
```

(2)スワップファイルシステムについて説明しなさい。

- メモリのデータを一時的にハードディスクに退避させるための領域

(3)ext3やext4がext2より優れている点を1つあげなさい。

- ジャーナリング機能を採用しており、システム障害時にデータ損失のリスクを回避できる。

(4)ハードリンクとシンボリックリンクの違いを説明しなさい。

- ハードリンクはデータの実体を直接参照する。（データの別名をつくるイメージ）
- シンボリックリンクはデータの実体を間接的に参照する。（データのショートカットをつくるイメージ）

(5)ログインしているユーザのホームディレクトリの使用量を表示するコマンドを記述しなさい。

```
$ du -sh ~
```