スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

デバイスとファイルシステム(1)

1.Linuxで利用可能なジャーナリングファイルシステムをすべて選択せよ。

1.ext2
2.ext3
3.UFS
4.XFS
5.MINIX
6.ReiserFS

正解: 2 , 4 , 6

ext3、XFS、ReiserFS、JFSなどがLinuxでは利用できます。ext2やMINIXファイルシステムはジャーナリング機能を持っていません。なお、ジャーナリングファイルシステムは、ファイルシステムへの書き込み操作を記録しておくことで、整合性チェックを劇的に高速化できます。


2.新たにパーティションを作成したり、パーティションを削除したりするために利用するコマンドはどれか。

1.mount
2.e2fsck
3.dumpfs
4.fdisk
5.tune2fs

正解: 4

パーティションを作成したり削除したりするには、fdiskコマンドがよく使われます。

mountはファイルシステムをマウントするコマンド
dumpfsやtune2fsはファイルシステムのデバッグや詳細情報を表示するコマンド
e2fsckはext2ファイルシステムの検査と修復を行うコマンドです。


3.比較的大きなシステムの場合、専用パーティションに割り当てた方がよいと考えられるディレクトリはどれか?考えられるものを2つ選択せよ。

1./var
2./mnt
3./etc
4./tmp
5./dev

正解: 1 , 4

/varや/tmpを独立したパーティションに割り当てるのは、ログや一時ファイルが大量に生成されてファイルシステムがいっぱいになった場合でも、システムへの影響を小さくするためです。/etcや/devはルートファイルシステムに含まれなければなりません。


4.SCSIインターフェースには、SCSIハードディスクが1台接続されている。このハードディスクにパーティションを作成したい。適切なコマンドと引数を記述せよ。(接続されているSCSI機器はハードディスクのみ)

正解: fdisk /dev/sda

パーティションを作成するコマンドはfdiskです。SCSIハードディスクを表すデバイスファイルは、/dev/sda、/dev/sdb...となります。


5.セカンダリー・マスター・ IDEハードディスクの最初のパーティションを表しているものを選択しなさい。

1. hda0
2. hda1
3. hdc0
4. hdc1

正解:4.hdc1

ハードディスクを表す表記の決まりは以下のようになっています。
1文字目がhならばIDEディスク、sならばSCSIディスク。
2文字目のdはディスクであることを意味します。
3文字目が
aならば1番目(IDEでは、プライマリ・マスター)、
bならば2番目(IDEでは、プライマリ・スレーブ)、
cならば3番目(IDEでは、セカンダリ・マスター)、
dならば4番目(IDEでは、セカンダリ・スレーブ)のディスクを意味します。

4文字目はパーティションの番号で、1から始まります。


6.ext2ファイルシステムを/dev/hdb1に作成するコマンドを記述せよ。

正解: mkfs -t ext2 /dev/hdb1

-cオプションを付けると実行前に不良ブロックをチェックします。


7.スワップ領域を/dev/hda6に作成するコマンドを記述せよ。

正解:mkswap /dev/hda6

通常はスワップ領域として独立したパーティションを割り当てます。


8.ディレクトリのサイズを調べ、小さい順に並べたい。下線部に当てはまるコマンド、オプションはどれか?

___ -S | sort -___

1.du 5.d
2.df 6.p
3.do 7.n
4.dc 8.a
9.s

正解:左下線部→1 右下線部→7

2.はファイルシステムの空き容量を確認するコマンドです。


9.次に該当するduコマンドのオプションを記述せよ。

①ディレクトリ以外のファイルについても表示する
②全ての容量の合計を表示する
③指定したファイルやディレクトリのみの合計を表示する
④サブディレクトリを含めずに集計する

正解:①-a ②-c ③-s ④-S

10.以下のコマンドで、「-H」というオプションの意味として適切なものはどれか?

$ du -H

1.ディレクトリを処理対象から除外する
2.読みやすい単位で表示する
3.ハードリンクも処理対象にする
4.デバイスファイルは処理対象から除外する
5.ハードリンクを処理対象から除外する

正解: 2

M(メガ)やK(キロ)など、容量に合わせて読みやすい単位で表示するのが-Hオプションです。-hも同様ですが、それぞれ、1000単位とするか、1024単位とするかが異なります。
スポンサーサイト

テーマ : UNIX/Linux
ジャンル : コンピュータ

GNUとUNIXコマンド(6)

1. /etc/httpd/conf/httpd.confファイルを表示したい。ただし「#」で始まるコメント行は表示しないものとする場合、下線部に適切なコマンドとオプションを記述せよ。

$ ___________ "^#" /etc/httpd/conf/httpd.conf | less

正解: grep -v

grepコマンドはマッチした行を表示しますが、-vオプションを使うと、マッチしなかった行を表示します。


2.インストール済みのRPMパッケージの中から、大文字小文字の区別なしに「xml」の文字列をパッケージ名に含むものだけをすべて表示したい。下線部に適切なコマンドとオプションを記述せよ。

$ rpm -qa | ___________ xml

正解:grep -i

grepコマンドは、テキストファイルの中を検索してマッチした文字列のある行のみを出力します。-iオプションを使うと、大文字と小文字の区別を行いません。

$ rpm -qa | grep -i xml
libxml-1.8.17-5
perl-libxml-perl-0.07-25
perl-XML-Grove-0.46alpha-21
...


3.正規表現で、

^a..[ab]$

にマッチするものをすべて選択せよ。

1.abca
2.abcab
3.babab
4.aab
5.ab.b

正解:1 , 5

「^」は行頭、「.」は任意の一文字、「[ab]」はabいずれか一文字、「$」は行末を表します。つまり、最初の文字はaで、その後に2文字あり、次にaもしくはbがあるという条件です。最後の「$」がなければ、3.もマッチします。


4.正規表現で、文字列「AB12」にマッチするものを選択しなさい。

1.[AB][12]
2.AB*
3.[AB12]*
4.[AB].[12].
5.A*2

正解:4. [AB].[12].

メタキャラクタ「*」は「直前にある文字、0文字以上」を意味します。また、メタ・キャラクタ「.」は「任意の1文字を意味します。さらに、メタ・キャラクタ「[]」は範囲指定の意味をもちます。すなわち、「[]」に含まれる文字のいずれかを意味します。例えば、「[AB]」は「A」または「B」を意味します。このほか、「AB*」は「A」「AB」「ABB」…を表します。また、「A*2」は「2」「A2」「AA2」…を表します。


5.vi エディタを使っている。カーソルのある行から5行を削除するには、どの操作を行えばよいか。なお、vi はコマンドモードであるとする。

1. 5X
2. 5xx
3. 5D
4. 5dd
5. 5XX

正解:4

1行削除は「dd」なので、5行削除する場合は「5dd」となります。
5X:カーソルより左側の文字を5文字削除します。
5xx:カーソル位置の文字を6文字削除します(「5x」+「x」)。
5D:何も削除されません。
5XX:カーソルより左側の文字を6文字削除します(「5X」+「X」)。 5X:カーソルより左側の文字を5文字削除します。




6.viを使ってソースコードの編集をしている。行番号を表示させたい場合、コマンドモードでどのように入力すればよいか?

1. :n
2. :set nu
3. /setnumber
4. :set number
5. :set -o

正解:2 , 4

「:set ~」で、さまざまなコマンドを実行できます。
:set autoindent ... 自動インデント(省略形:ai)
:set number ....... 行番号の表示(省略形:nu)
:set tabstop=4 .... タブ幅の設定(省略形:ts=4)


7.vi エディタのコマンドモードでの操作説明として正しいものを以下の中からすべて選択せよ。

1. 0 .... 行頭に移動する
2. 5G ... ファイルの5行目に移動する
3. E .... ファイルの最後の行に移動する
4. X .... カーソルのある行を削除する
5. $ .... 行末に移動する

正解:1 , 2 , 5

ファイルの最後の行に移動するのは G です。
カーソルのある行を削除するのは dd です。


8.viエディタを利用している。直前に実行した編集コマンドを繰り返し実行するには、コマンドモードでどのコマンドを入力すればよいか?

1. u
2. x
3. .
4. :
5. -

正解:3

コマンドモードで「.」を入力すると、直前の編集コマンドが繰り返されます。


9.vi エディタで文書を編集している。コマンドモードで「ZZ」(大文字の'Z'を2回)を入力した場合、どのような結果になるか?

1.ファイルへの書き込みを行わずに vi を終了する
2.編集中の内容を破棄して vi を終了する
3.編集中の内容をファイルに書き込んで vi を終了する
4.編集中の内容を破棄して、直前に保存した内容に戻す

正解:3

これは、:wq とするのと同じです。
1, 2, 4 の正しいコマンドは以下のとおりです。
1:q
2:q!
4:e!

テーマ : UNIX/Linux
ジャンル : コンピュータ

tag : LINUX LPIC

GNUとUNIXコマンド(5)

1.PIDが1500のプロセスが異常なので、「kill 1500」として終了させようとしたが、終了しない。次にどのコマンドを実行するのが適切か?

1.kill -9 1500
2.kill -15 1500
3.kill -SIGTERM 1500
4.kill -KILL 1500
5.kill -SIGHUP 1500

正解: 1.kill -9 1500 , 4.kill -KILL 1500

KILLシグナル(-KILL、-SIGKILL、-9)を使うと、シグナルを受け取ったプロセスは強制終了します。


2.「kill 750」の場合と同じシグナルがプロセスに送られるのはどれか?

1.kill -HUP 750
2.kill -9 750
3.kill -SIGTERM 750
4.kill -15 750
5.kill -TERM 750

正解: 3 , 4 , 5

killコマンドでシグナルの指定を省略した場合は、
TERMシグナル(15)がデフォルトで送られます。
3,4,5いずれの形式で指定しても同様です。


3.これから、あるプログラムを実行する。ログアウト後にも、実行中のプログラムが終了されないようにして、そのプログラムを実行したい。このとき、利用するコマンドとして適切なものを選択しなさい。

1. nohup
2. fg
3. sh
4. jobs

正解:1.nohup

ログイン中に実行したプログラムは、ユーザーがログアウトすると終了されます。これは、プログラムをバック・グラウンドで実行していても同様です。ログアウト後も引き続きプログラムを実行するためにはnohupコマンドを使います。


4.実行中のプロセスを表示することのできるコマンドを3つ選択せよ。

1.kill
2.top
3.renice
4.ps
5.pstree

正解: 2 , 4 , 5

psは実行中のプロセスを表示するコマンドです。
topは、実行中のプロセスをさまざまなパラメータでソートして連続的に表示できます。
pstreeはプロセスの親子関係をツリー状に表示します。


5.プロセス「process」を「$ kill -9 process」として終了させた。この終了方法は、あまり良くない方法である。その理由として適切なものを選択しなさい。

1. プロセスの終了処理が実行されないから
2. 他のプロセスまで終了されてしまうから
3. ダンプファイルが作成されるから
4. プロセスが破壊される可能性があるから

正解:1.プロセスの終了処理が実行されないから

killコマンドはプロセスにシグナルを送るためのコマンドです。シグナルとは、「終了」や「強制終了」といった命令のことです。killコマンドは、psコマンドでプロセス番号を確認した上で次のように実行します。

$ kill -<シグナル名> <プロセス番号>
$ kill -<シグナルID> <プロセス番号>

ここで、「シグナル名」や「シグナルID」を省略して実行すると、自動的にシグナル「SIGTERM(シグナルID は 15)」が適用されます。プロセスを終了させるためには、通常シグナル「SIGTERM」を利用します。しかし、プロセスの暴走などにより、シグナル「SIGTERM」ではプロセスを終了できないこともあります。そのような場合は、シグナル「SIGTERM」の代わりにシグナル「SIGKILL(シグナルID は 9」を利用して、プロセスを終了させます。プロセス(プログラム)によっては、次回起動時に備えてプログラムの状態を保存(終了処理)するものもあります。シグナル「SIGKILL」を使ってプロセスを終了させると、プロセスが終了処理する間もなく強制的に終了させられます。したがって、不用意にシグナル「SIGKILL」を利用することはお勧めできません。


6.プロセスの優先度は nice コマンドで指定できるが、次の選択肢の中で、引数として指定する nice値で最も優先度が低いものはどれか?

1.20
2.10
3.0
4.-10
5.-20

正解: 2

niceコマンドで指定できる優先度を nice 値といいます。nice値は、-20~19の範囲で指定し、小さいほど優先度は高くなります。選択肢の中では、10が最も優先度が低くなります。


7.psコマンドのオプションを答えろ

①ほかのユーザーのプロセスも表示する
②親子関係をツリー状に表示する
③ユーザー名も表示する
④制御端末のないデーモンなどのプロセスも表示する
⑤全てのプロセスを表示する
⑥詳細な情報を表示する
⑦特定のPID(プロセスID)のプロセス情報のみ表示する

正解:①a ②f ③u ④x ⑤-e ⑥-l ⑦-p

psコマンドには「-」を付けるオプションと付けないオプションがある。


8.killコマンドを使用してPIDが560のプロセスにTERMシグナルを送る方法を4つ記述せよ。

正解:①kill -15 560 ②kill -s 15 560 ③kill -TERM 560 ④kill -SIGTERM 560

9.次の文章の空白を埋めろ

ジョブとはユーザーがコマンドやプログラムをシェル上で実行するひとまとまりの処理単位です。ジョブはフォアグラウンドもしくはバックグラウンドで実行されます。バックグラウンドでコマンドを実行するには、コマンドラインの最後に( ① )を記述します。
実行中のジョブは( ② )コマンドで確認できます。
ログアウトした後もプログラムを実行させたい場合は( ③ )コマンドを使います。
現在実行中のジョブのモード(フォアグラウンド、バックグラウンド)を変更するには( ④ )コマンドや( ⑤ )コマンドを使います。

正解:①& ②jobs ③nohup ④⑤bg,fg

10.実行中のプロセスのうち、hogeユーザーが実行しているすべてのプロセスの優先度を5に変更したい。以下の空欄に当てはまるコマンドは何か?

# __________ 5 -u hoge

正解: renice

実行中のプロセスの優先度を変更するコマンドはreniceです。

テーマ : UNIX/Linux
ジャンル : コンピュータ

tag : LINUX LPIC

GNUとUNIXコマンド(4)

1.sedを使ってHTMLファイルの中にあるタグをすべて削除したい。適切なものはどれか?

1.sed 's/<*>//g'
2.sed 's/<[^>]*>//g'
3.sed 's/<^$>//g'
4.sed 's/\<*\>'

正解: 2

HTMLのタグは「<」で始まり、任意の要素名があって「>」で閉じられます。「<」で始まり、「>」以外([^>])の文字列が任意の文字数入る(*)という正規表現を表す2.が正解です。


2.空のディレクトリを削除するコマンドは

正解:rmdir

3.ホームディレクトリにあるtestディレクトリの中身を再帰的に削除するにはどのようなコマンドを実行すればよいか。以下の空欄に当てはまるコマンドとオプションを書け

( ) ~/test

正解:rm -r(-R)

4.カレントディレクトリを表示するコマンドは

正解:pwd

5.start.txtをend.txtという名前に変更する方法を記述せよ

正解:mv start.txt end.txt

6.ディレクトリ、/mnt/floppy/dirA/以下のファイルおよびディレクトリをすべて/tmp/以下にコピーしたい(隠しファイルを除く)。その際、cpコマンドに指定すべきオプションを選択しなさい。

$cp [____] /mnt/floppy/dirA /tmp

1. オプションは必要ない。自動で全てコピーされる
2. -R
3. -d
4. -f
5. -i

正解:2

ディレクトリをコピーするときは、「ディレクトリを再帰的にコピー」するために-rまたは-Rオプションを付加します。cpコマンドは使用頻度が高いので代表的な以下のオプションは覚えておきましょう。

-a 可能な限りディレクトリ構造や属性を保持する。-dpR と等価
-b 上書きや削除されることになるファイルにはバックアップを作成する
-d シンボリックリンクをコピーするときは実体をコピーする
-f コピー先に同名のファイルがあるときは強制的に上書きする
-i 上書きされるファイルがあるときは確認要求を行う
-l ファイルをコピーするときは変わりにハードリンクを作成する
-P 指定したディレクトリを付けてコピーする
-p オーナー、グループ、パーミッション、タイムスタンプを保持する
-r ディレクトリを再帰的にコピーする。ディレクトリ以下をコピーするときは すべてファイルとしてコピーする
-s ディレクトリ以外のファイルをコピーするとき、シンボリックリンクを作成する
-R ディレクトリを再帰的にコピーする


7./tmpディレクトリ以下に存在するすべての可視ファイルと可視ディレクトリを削除したい。このとき、削除の可否を無視し、目的を達成するコマンドラインとして適切なものを選択しなさい。

1. rm -rf /tmp/*
2. delete /tmp/*
3. del /tmp/*
4. rm -Ra /tmp/*

正解:1

ファイルやディレクトリを削除するためにはrmコマンドを使います。rmコマンドを使うとき、ファイルやディレクトリに書き込み権限がないと、本当に削除してよいかどうかを確認するためのメッセージが表示されます。メッセージが表示された場合、「Y」キーに続いて「Enter」キーをタイプすればファイルを削除できますが、削除するファイルが多い場合は不便です。そこで、このような場合には「-f」オプションをつけて rmコマンドを実行します。「-f」オプションを付けてrmコマンドを実行すると、ファイルを削除してよいかどうかを確認するためのメッセージは一切表示されません。また、あるディレクトリ以下に存在するディレクトリもすべて削除する場合は、「-r」オプションを付けてrmコマンドを実行します。
以上より、問題文の要求に応えるためにはrmコマンドに「-r」オプションと「-f」オプショを付けて実行します。なお、deleteコマンドとdelコマンドは存在しません。


8./tmp以下から1MB以上のファイルを検索したい。下線部に適切なオプションを記述せよ。

# find /tmp -_______ +1000k

正解: size

# find /tmp -size +1000k
findコマンドでは、検索条件に「-size +サイズ」と指定することで、指定したサイズ以上のファイルを検索できます。


9.psコマンドの出力結果を画面上に表示し、かつpslog.txtファイルにも保存したい場合、下線部に適切なコマンドを記述せよ。

$ ps aux | ________ pslog.txt

正解: tee

teeコマンドは、標準入力からのストリームを標準出力とファイルに分けて出力します。


10.commandコマンドの実行結果とエラー出力をcommand.logファイルに保存する。以下のどれを実行するのが適切か。

1.command > command.log
2.command 2>> command.log
3.command 2>&1 | command.log
4.command > command.log 2>&1

正解:4

1.はcommandの実行結果のみがcommando.logに保存され、エラー出力は保存されない。
2.はcommandのエラー出力のみをcommand.logに追記する。
3.はcommandの実行結果とエラー出力をパイプを使ってファイルに送ろうとしているので不正解。

テーマ : UNIX/Linux
ジャンル : コンピュータ

tag : LINUX LPIC

GNUとUNIXコマンド(3)

1.以下のような2つのファイルがある。

 $ cat A.txt
 1 REDHAT
 2 TURBO
 3 VINE
 4 PLAMO

 $ cat a.txt
 1 redhat
 2 turbo
 3 vine
 4 plamo

これを以下のように結合して、1つのファイルjoin.txtにしたい。

 $ cat join.txt
 1 REDHAT redhat
 2 TURBO turbo
 3 VINE vine
 4 PLAMO plamo

必要なオプション、引数をつけて、コマンドを記述せよ。

正解:join -j 1 A.txt a.txt > join.txt

「-j 1」で両方のファイルの最初のフィールドで結合します。ちなみにこの場合、オプションなしで「join A.txt a.txt」としても同じ結果になります。


2.テキスト・ファイル内の列を対象に、矩形表示/非表示を行うコマンドを選択しなさい。

1. cut
2. expand
3. col
4. tac
5. nl

正解:1.cut

cutコマンドはテキスト・ファイルの各行から所望の部分だけを抜き出すためのコマンドです。たとえば、各行の要素がタブで区切られているとき、cutコマンドを使えば所望の列だけを抜き出して表示できます。


3.chat.log ファイルのすべての行頭に "> " (引用符) を付けて表示したい。
元ファイル:abcdefg
表示   :> abcdefg
以下のどのコマンドの組合せを実行すればよいか?

1.cat chat.log > sed s/^/'> '/
2.sed 's/^/'> '/ < cat chat.log
3.cat chat.log | sed s/^/'> '/
4.cat chat.log > sed "s/^/'> '/g"
5.sed -f chat.log -e s/^/"> "/
6.sed -e s/^/'> '/g < chat.log

正解: 3 , 6

1. は、「>」ではなくて「|」(パイプ) ならばOK。
2. は、「'」の数があってない時点で×。
sed s/^/'> '/ < chat.log ならOK。
4. は、「>」を「|」に変えても、「"」のせいで sed の出力に「'」も入ってしまいます。
5. は、-f オプションの使い方がそもそも間違ってます。-f オプションは、sed のスクリプトを読み込むファイルを指定します。
ちなみに、sed s/^/'> '/ chat.log も同じ動作をします。


4.ファイルsampleには、内容が重複している行が多数存在している。重複している行を1行にまとめて表示するにはどうすればよいか?下線部に適切なコマンドを記述せよ。

$ sort sample | _________

正解:uniq

uniqコマンドは重複行をまとめて表示します。ただし、あらかじめソートしておく必要があります。


5./var/log/messages ファイルの先頭20行を表示するコマンドはどれか。正しいものを全て選択せよ。

1.head -20 /var/log/messages
2.head +20 /var/log/messages
3.head -n 20 /var/log/messages
4.tail -20 /var/log/messages
5.tail +20 /var/log/messages

正解: 1 , 3

2.head には + というオプションはありません。
4.tail -20 は、ファイルの末尾から20行を表示します。
5.tail +20 は、ファイルの20行目以降を表示します。


6.テキスト・ファイル「file1」に存在する大文字アルファベットをすべて小文字アルファベットに変更したい。そのための方法として適切なものを選択しなさい。

1. nl [a-z] [A-Z] < file1
2. tac [A-Z] [a-z] > file1
3. expand [a-z] [A-Z] | fle1
4. tr [A-Z] [a-z] < file1
5. sed --lower [A-Z] < file1

正解:4.tr [A-Z] [a-z] < file1

nlコマンドはテキスト・ファイルに行番号をつけて表示するためのプログラムです。
tacコマンドはテキスト・ファイルの内容を逆順に表示するためのプログラムです(catコマンドと逆の機能)。
expandコマンドはテキスト・ファイル内のタブ文字をスペース文字に変換するためのプログラムです。
選択肢の中で、テキスト・ファイル内の文字を別の文字に置換できるのはtrコマンドとsedコマンドです。このうち、テキスト・ファイル内の大文字をすべて小文字に置換するためにはtrコマンドを利用します。なお、sedコマンドに「--lower」というオプションは存在しません。


7.テキストファイルfile.txt内にある文字列「abc」をすべて「def」に変更して表示するためには、どのコマンドを実行すればよいか?

1.sed c/abc/def/s file.txt
2.grep -v -s /abc/def file.txt
3.cat file.txt | grep abc | grep def
4.sed s/abc/def/g file.txt
5.fmt abc def < file.txt

正解:4

書式:sed s/str1/str2/g file
で、str1をstr2に変更して表示します。
最後のgをつけなかった場合は、1行に複数のstr1があった場合、最初のstr1だけがstr2に変更されます。


8.バイナリファイルの内容を8進数や16進数で表示するコマンドはどれか?

1.mon
2.hexdump
3.bin
4.od
5.ed

正解:2.4

9.複数の受信メールをまとめたファイル「mailfile」の中から、発信者のメールアドレスを表示したい場合、どのようにすればよいか? なお、発信者のメールアドレスは「From:」以下に記されているものとし、「From:」を除いて表示したい。

1.grep mailfile '^From' | cut -d: -f1
2.grep '^From' mailfile | cut -d: -f2
3.grep '$From' mailfile | cut -d':'
4.grep mailfile "From" | cut -d: -f2

正解:2

まず「行頭が"From"」を正規表現で表すと「^From」となります。この結果ではFrom行がそのまま出てきますから、cut コマンドを使って2番目のフィールド(つまりメールアドレス部分)を抽出しています。
※ ただし実際には、メールアドレス以外の部分も含まれてしまいますので、あまり実用的ではありません


10.下記は、/etc/passwd の一部である。

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:
daemon:x:2:2:daemon:/sbin:
adm:x:3:4:adm:/var/adm:

これを加工して、ログイン名とホームディレクトリのみ表示するには、以下のどれを実行すればよいか?

1.cut -f1,6 /etc/passwd
2.cut -f 1,6 /etc/passwd
3./etc/passwd > cut -f1,6 -d:
4.cut -d: -f1,6 /etc/passwd
5.cut -d: -f 1,6 < /etc/passwd

正解: 4 , 5

-f オプションで取り出すフィールドを指定します。
-d オプションでフィールドを区切るデリミタを指定します。(デフォルトのデリミタは TAB です)
-f, -d オプションの次は、スペースを入れても入れなくてもOKです。
この問題では、':' を区切りとして指定し、1番目と6番目のフィールドのみ抜き出しています。
なお、選択肢 4. は引数としてファイルを指定しているのに対し、選択肢 5. ではリダイレクトを使っています。

テーマ : UNIX/Linux
ジャンル : コンピュータ

GNUとUNIXコマンド(2)

文字色1.文字列「shutdown」で始まる直近のコマンドを再び実行するにはどうすればよいか?

1.「!-shutdown」と入力してEnterキーを押す
2.「\shutdown」と入力してEnterキーを押す
3.「!shutdown」と入力してEnterキーを押す
4.「`^shutdown`」と入力してEnterキーを押す
5.「`shutdown`」と入力してEnterキーを押す

正解:3 「!shutdown」と入力してEnterキーを押す

bashシェルでは、コマンド履歴を利用して操作を簡略化できます。

!! 直前のコマンド
!n 履歴番号がn番のコマンド
!-n n回前に実行したコマンド
!string 文字列stringで始まる直近のコマンド
!?string 文字列stringを含む直近のコマンド


2.以下の説明に該当する変数は何か?

コマンド検索パス→PATH
使用する言語→LANG
カレントユーザー→USER
カレントディレクトリのパス→PWD
ホームディレクトリのパス→ HOME
プロンプト表示の文字列→PS1
コマンド実行履歴の格納ファイル→HISTFILE
コマンド実行履歴の最大記憶数→HISTSIZE

3.すべての環境変数を表示するためのコマンドは

正解:env

4.以下を実行するためのコマンドを記述せよ(1行で)

A.変数LPIにLinuxという値を代入し、同時に環境変数として定義する

正解:export LPI=Linux

B. /LPIディレクトリを環境変数PATHの末尾に追加する

正解:PATH=$PATH:/LPI

C.シェル変数と環境変数の両方を表示する

正解:set

D.変数LPIを削除する

正解:unset LPI

5.直前に/etc/inetd.d/network stop という操作を行った。 /etc/inetd.d/network start という操作を行いたい。どのコマンドを実行すればよいか?

1. !!start>>stop
2. !(start>stop)
3. !!(start||stop)
4. ^stop^start
5. !!`stop`<`start`

正解:4

「^文字列A^文字列B」とすると、前のコマンドライン内の文字列Aを文字列Bに置き換えて実行します。コマンドやパラメータだけを変更して実行する場合に便利です。


6.単一引用符でくくられた変数の展開について変数VARの値が「LINUX」であるとき、
$ echo '$VAR+\$VAR+\\$VAR'
とすると、どのように表示されるか?

1.LINUX+LINUX+\LINUX
2.LINUX$VARLINUX
3.LINUX+$VAR+\LINUX
4.LINUX+LINUX+$VAR
5.$VAR+\$VAR+\\$VAR

正解: 5  $VAR+\$VAR+\\$VAR

単一引用符は、引用符内をすべて文字列として表します。


7.二重引用符でくくられた変数の展開について変数VARの値が「hoge」であるとき、
$ echo "$VAR+\$VAR+\\$VAR"
とすると、どのように表示されるか?

1. $VAR+\$VAR+\\$VAR
2. hoge+hoge+\hoge
3. hoge+$VAR+\hoge
4. hoge$VARhoge
5. hoge+hoge+$VAR

正解: 3 hoge+$VAR+\hoge

二重引用符は、「$」「`」を除き、引用符内を文字列として扱います。
バックスラッシュ「\」は、直後の文字をメタキャラクタとしてではなく文字として扱います。二重引用符内で「"」「$」「`」「\」をエスケープするのに使われます。


8.bashシェルの基本操作。①~⑤をアルファベット1文字で埋めろ

画面をクリアしてカレント行を再表示する
→Ctrl+①
処理を中断する
→Ctrl+②
画面への出力を停止する
→Ctrl+③
画面への出力を再開する
→Ctrl+④
処理を一時停止(サスペンド)する
→Ctrl+⑤

正解:①:L ②:C ③:S ④:Q ⑤:Z

9.Linuxシステムに存在する、システム・アカウントを含むすべてのアカウント数を調べたい。そのための方法として適切なものを選択しなさい。

1. wc /etc/passwd | grep -l
2. cat /etc/passwd | wc --count
3. grep /etc/passwd | wc --list
4. cat /etc/passwd | wc --lines

正解:4.cat /etc/passwd | wc --lines

ファイル「/etc/passwd」には、システムに存在するすべてのアカウント情報が含まれています。アカウント情報は1行につき1ユーザー分が記述されています。よって、システムに存在するすべてのアカウント数(ユーザー数)を調べるためには、ファイル「/etc/passwd」の行数を数えればよいことになります。ファイルの行数を数えるためにはwcコマンドが有効です。wcコマンドに「-l」オプションまたは「--lines」オプションを付けて実行すると、標準出力の行数を数えられます。


10.テキストファイル中にタブをスペースに変換するためのコマンドを選択しなさい。

1. expand
2. fmt
3. split
4. unexpand

正解:1.expand

テキスト・ファイル内のタブをスペースに変換するためには、expandコマンドを利用します。
逆に、スペースをタブに変換するためにはunexpandコマンドを利用します。例えば、テキスト・ファイル「file.txt」に2行が記述されているとします。

1 A alpha
2 B beta

ここで、「1」と「A」、「A」と「alpha」の間には半角8文字分のタブが挿入されています。2行目も同じです。このタブを同じ文字数分(ここでは8文字分)のスペースに変換するためには次のようにexpandコマンドを実行します。

$ expand file.txt

これにより、ファイル「file.txt」内のタブが8文字分のスペースに置換されます。これを1文字分のスペースに置換する場合は、次のように expandコマンドを実行します。

$ expand -t1 file.txt




テーマ : UNIX/Linux
ジャンル : コンピュータ

tag : LINUX LPIC

GNUとUNIXコマンド(1)

1.環境変数を表示するコマンドは

正解:env

2.環境変数を設定するコマンドは

正解:export

3.環境変数とシェル変数の両方を表示するコマンドは

正解:set

4.設定されている環境変数やシェル変数を削除するコマンドは

正解:unset

5.変数の内容を表示するコマンドは

正解:echo

テーマ : UNIX/Linux
ジャンル : コンピュータ

tag : LINUX LPIC

インストールとパッケージ管理

1.パーティション「/usr」の空き容量が不足してきたので、パーティション「/new」を新たに追加した。その後、パーティション「/usr」の内容をパーティション「/new」に移動した。
その際、アプリケーションプログラムのパスを変更することなくパーティション「/usr」の役割をパーティション「/new」に引き継がせるもっとも簡単な方法として適切なものを選択しなさい。

1. シンボリックリンクを作成する
2. ハードリンクを作成する
3. ループバックデバイスを使用する
4. ブロックデバイスを作成する

正解:1. シンボリックリンクを作成する

パーティション「/new」のシンボリックリンク「/usr」を作成することで、ユーザーは、従来通り、/usrディレクトリ以下にアクセスすることができます。ハード・リンクはその性質上、ファイルシステム(パーティション)をまたいで作成できません。また、ループバック・デバイスを使用することや、ブロック・デバイスを作成することは、本文とは関係ありません。なお、実際の運用においては、パーティション/newを/usrディレクトリとしてマウントし直すことが一般的かつ堅実な対処方法です。


2.fdiskコマンドを使ってパーティションを作成している。パーティションタイプを、デフォルトのext2(83)から、Linux RAID(fd)へ変更したい。
パーティションタイプを変更するには、どのサブコマンドを使えばよいか?

1. p
2. t
3. s
4. type
5. :fd

正解: 2

パーティションには、格納するファイルシステムのタイプに合わせ、16進数のパーティションタイプが付けられています。パーティションタイプを変更するには、fdiskの対話モードでtサブコマンドを使います。


3.Linuxカーネルをメモリにロードし、制御を渡す機能のことを一般になんというか?

正解:ブートローダ

4.LILOブートローダをインストールし、設定するためのコマンドは?

正解:liloコマンド(/sbin/lilo)

5.ブートローダーLILOのブート・コードをインストールする場所として適切なものを選択しなさい。

1. MBR
2. /procディレクトリ
3. フラッシュROM
4. /bootパーティション

正解:1.MBR

ブートローダLILOのブート・コードは2種類あります。ここでは、2つのブート・コードを1stブート・ローダおよび2ndブート・ローダと呼ぶことにします。1stブート・ローダの役割は2nd ブート・ローダをメモリに読み込むことです。メモリに読み込まれた2ndブート・ローダはLinuxカーネルをメモリに読み込み、Linuxを起動します。2ndブート・ローダは通常/bootパーティションにインストールされます。一方、1stブート・ローダは/bootパーティションの先頭セクタまたはMBRにインストールされます。/bootパーティションと/bootパーティションの先頭セクタとでは意味が異なります。よって1が正解です


6.以下は/etc/lilo.confの一部である。搭載メモリが128MBであることをカーネルに渡したい場合、下線部にはどのように記述すればよいか?

image=/boot/vmlinuz
label=linux
root=/dev/hda2
_______________
read-only

1. option="mem 128M"
2. append="mem=128M"
3. mem=128M
4. kernel-option "mem=128M"

正解: 2.append="mem=128M"

カーネルが起動するときにカーネルに渡すオプションは、appendで指定します。
カーネルがメモリ容量を正しく認識できない場合などに有効です。
カーネルに渡すオプションは、起動時にブートプロンプトで指定することもできます。


7.カーネルの再構築を行い、新しいカーネルから起動できるように/etc/lilo.confを変更した。次回起動時に変更内容が反映されるようにするには、何というコマンドを実行すればよいか? コマンドをフルパスで記述せよ。

正解: /sbin/lilo

8.以下は何に関する記述か

ファイルシステムを表す構造体です。動作中にファイルシステムを管理するために必要な情報として、ファイルシステムの名前 (ext2 など)、ファイルシステムのサイズとその状態、ブロック・デバイスへの参照、メタデータ情報 (空きリストなど) が含まれます。通常、ストレージ・メディアに保管されていますが、存在しない場合にはすぐに作成することができます。構造体は ./linux/include/linux/fs.h に記載されています。

正解:スーパーブロック
9.以下のアーカイブを展開したい。下線部に当てはまるオプション1文字を記述せよ。

$ tar ___xvf software.tar.bz2

正解: j

~.bz2は、bzip2で圧縮されたことを示します。bzip2はgzipより高圧縮を実現します。tarコマンドで扱うには、jオプションを利用します。bunzip2コマンドを使っても解凍できます。


10.以下のアーカイブを展開したい。下線部に当てはまるオプション1文字を記述せよ。

$ tar ___xvf software.tar.gz

正解:z

テーマ : UNIX/Linux
ジャンル : コンピュータ

tag : LINUX LPIC

ハードウェアとアーキテクチャ(2)

1.シリアルポートのIRQやUARTチップの種類を表示するコマンドは

正解:setserial

2.USBは、カーネル2.4でホットプラグに対応し、/sbin/hotplugが適切な処理を行う。このとき使われるスクリプトが格納されているディレクトリはどれか?

1. /etc/usb/hotplug
2. /proc/bus/usb
3. /etc/hotplug
4. /proc/usb
5. /etc/rc.d/init.d

正解: 3

ホットプラグのスクリプトは/etc/hotplugに格納されます。


3.利用しているコンピュータに搭載されているUSBコントローラの種類を確認するときに役立つと考えられるコマンドを2つ選択せよ。

1. lsmod
2. ldconfig
3. cat /etc/usb-core
4. dmesg
5. cat /proc/ioports

正解: 1 , 4

lsmodコマンドやdmesgコマンドの結果をgrepするなどして、USBコントローラの種類を確認できます(ただし、カーネルに認識されていないときやモジュールが存在しないときなどは確認できません)。

root# lsmod | grep uhci
uhci_hcd 31065 0


USBコントローラにはUHCIとOHCIがあり、使用するマザーボードなどによって異なります。
Linuxでは双方に対応しています。


4.USBデバイスクラスと対応するデバイスについて不適切な組み合わせはどれか。

1.[Mass Strage Devices]と[ハードディスクやCD-ROMドライブ]
2.[HID]と[USB、HUB]
3.[Communication Devices]と[モデム、NIC]
4.[Audio Devices]と[音源モジュールやスピーカ]
5.[Printer Devices]と[プリンタ]

正解: 2

HID(Human Interface Devices)は、キーボードやマウスなどに対応するデバイスクラスです。


5.USB1.1規格の説明として適切なものはどれか?

1. ホットプラグに対応している
2. プラグ&プレイに対応している
3. 最大接続機器数は15台である
4. 転送速度は最大480Mbpsである
5. Linuxではカーネル2.0で正式に対応した

正解:1 , 2

USBの最大接続機器数は127台です。
USB1.1の転送速度は最大12Mbpsであり、
USB2.0になって最大480Mbpsとなりました。

Linuxで正式に対応したのはカーネル2.4からです
(カーネル2.2でも一部機能を使えるバージョンがあります)。


6.UHCI、OHCI。それぞれのドライバ(USBコントローラドライバ)を記述せよ

正解:usb-uhci.oとusb-ohci.o

7.USBモジュールを手動でロードするコマンドは

正解:modprobe

8.USBデバイスの情報を表示するコマンドは

正解:lsusb [オプション]

9.USBデバイスが利用しているカーネルモジュールを表示するコマンドは

正解:usbmodules

テーマ : UNIX/Linux
ジャンル : コンピュータ

tag : LINUX LPIC

ハードウェアとアーキテクチャ(1)

1.以下のようにI/Oアドレスの一覧を表示するには、なんというファイルを参照すればよいか。

0000-001f : dma1
0040-005f : timer
0060-006f : keyboard
0070-007f : rtc

正解:/proc/ioports

2.SCSI-1規格において、接続可能なデバイスの数はいくつか?ただし、ホストアダプタは含まないものとする。

正解:7

3.Ultra Wide SCSIのホストアダプタを装着しているPCにおいて、このホストアダプタに接続できるSCSI機器は何台か?

正解:15台

4.1台のSCSIハードディスクで利用できる最大論理パーティション数何個か?

正解:11個

パーティションの合計最大数は、
IDEディスクの場合は63個、SCSIディスクの場合は15個となります。
IDE ディスクの場合は63個(基本パーティション 3 個と論理パーティション 60 個)
SCSIディスクは、SCSIの最大パーティション数は15です。
その場合、次のように分割することができます。

基本パーティション -- 3個
拡張パーティション -- (1個)←数に入れない。
論理パーティション -- (/dev/sda5~/dev/sda16)12個


5.SCSIについての説明で、正しいものをすべて選択せよ。

1. SCSIコントローラを除くと,7台もしくは15台までのデバイスを接続できる
2. SCSI機器は、ハードウェア固有のMACアドレスで識別される
3. SCSI機器の基本設定は、Linuxconf を利用できる
4. SCSI接続の両端には終端装置が必要である
5. Ultra SCSI や Fast SCSI はバス幅が8ビットである

正解: 1 , 4 , 5

1:SCSI-2などは7台、Wide SCSIなどは15台が接続できます。
2:MACアドレスはネットワークカードの識別に使われます。
3:Linuxconfでは設定できません。
4:終端装置(ターミネータ)が必要です。内蔵されている場合も多いです。
5:バス幅(1回の転送で送れるデータ量)が8ビットのものは、7台のデバイスが接続できます。


6.SCSIデバイスの詳細な情報を表示できるコマンドはどれか?

1. cat /dev/sd*
2. cat /etc/scsi
3. scsi_info
4. cat /proc/scsi_info
5. lspci

正解:3

scsi_infoコマンドで、SCSI IDやデバイスのモデル名などの情報を表示することができます。

# /sbin/scsi_info /dev/sda


7.SCSI接続されているデバイスの詳細情報を調べるにはどこのファイルをを参照すればよいか

正解:/proc/scsi/scsi

8.PCIデバイスの情報を調べるにはどこのファイルを参照すればよいか。また、表示させるコマンドは

正解:ファイル→/proc/pci コマンド→lspci

9.デバイスごとのDMA,IRQ,I/Oアドレスを一覧表示させるコマンドは

正解:lsdev

10.サウンド・カードを接続したとき、使用されるI/Oアドレスとして一般的なものを選択しなさい。

1. 0x220
2. 0x03f8
3. 0xd800
4. IRQ7
5. COM1

正解:1

CPUと各種デバイスは「I/Oポート」というものを通してデータをやりとします。
デバイスは、他のデバイスが使用するI/Oポートを利用できません。したがって、デバイスごとに別々のI/Oポートを利用する必要があります。本文で問われている「I/Oアドレス」はI/Oポートの位置です。Sound Blasterなど、ISAバス・サウンド・カードは、一般的にI/Oポート・アドレスが「220-22Fh」のI/O ポートを利用します。これを簡単に表記すると「0x220」となります。

テーマ : UNIX/Linux
ジャンル : コンピュータ

tag : LINUX LPIC

スカウター
プロフィール

Author:うにえる
個人的メモ

検索フォーム
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。