LinuCレベル1 101試験の例題と解説
1.03.2フィルタを使ったテキストストリームの処理
■例題
コマンドの説明として適切ではないものを選択してください。
1.「nl /etc/passwd」を実行すると、/etc/passwdの行頭に行番号が追加されて出力される
2.「wc -c /etc/passwd」を実行すると、/etc/passwdの行数が出力される
3.「head -n 10 /etc/passwd」を実行すると、/etc/passwdの先頭から10行が出力される
4.「tail -n 10 /etc/passwd」を実行すると、/etc/passwdの末尾から10行が出力される
※この例題は実際の試験問題とは異なります。
解答と解説
答えは「2.「wc -c /etc/passwd」を実行すると、/etc/passwdの行数が出力される」です。
以下のように出力されます。左から行数・単語数・バイト数・ファイル名です。
$ wc /etc/passwd
69 104 3283 /etc/passwd
ただし、オプションを指定することで、出力する情報を限定することが可能です。
[wcコマンドの主なオプション]
-c … バイト数のみを出力する
-w … 単語数のみを出力する
-l … 行数のみを出力する
-cはバイト数を出力するためのオプションであるため、選択肢2は適切ではないということになります。
その他の回答で利用しているコマンドの解説は以下の通りです。
nlコマンドは、引数で指定されたファイルに行番号を振って出力するコマンドです。
以下のように出力されます。
$ nl /etc/passwd
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
4 adm:x:3:4:adm:/var/adm:/sbin/nologin
5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
(以下省略)
headコマンドは、引数で指定されたファイルの最初の一部を出力するコマンドです。
デフォルトでは10行出力されます。-nオプションで行数を指定することもできます。
以下は出力例です。
$ head /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
tailコマンドは、引数で指定されたファイルの末尾から一部を出力するコマンドです。
デフォルトでは10行出力されます。-nオプションで行数を指定することもできます。
以下は出力例です。
$ tail /etc/passwd
user01:x:1000:1000:user01:/home/user01:/bin/bash
user02:x:1001:1002:user02:/home/user02:/bin/bash
systemd-coredump:x:978:978:systemd Core Dumper:/:/sbin/nologin
akmods:x:977:977:User is used by akmods to build akmod packages:/var/cache/akmods/:/sbin/nologin
vboxadd:x:976:1::/var/run/vboxadd:/bin/false
radiusd:x:95:95:radiusd user:/var/lib/radiusd:/sbin/nologin
clamupdate:x:975:975:Clamav database update user:/var/lib/clamav:/sbin/nologin
qemu:x:107:107:qemu user:/:/sbin/nologin
saslauth:x:974:76:Saslauthd user:/run/saslauthd:/sbin/nologin
radvd:x:75:75:radvd user:/:/sbin/nologin
このようなコマンドを組み合わせて利用することで、データをエディタで開いて編集するよりも高速に編集をしたり、欲しいデータを探すことができます。
使い方をよく覚えておきましょう。
■例題作成者 株式会社デージーネット ソリューション開発部 森 彰吾 氏