#初めに
LPIC試験の勉強をしていて、勉強したものをまとめています。
ご指摘等ございましたらご教授下さい。
#プロセスとジョブ
##プロセスの管理
###プロセスとは?
メモリ上で実行中のプログラムをプロセスと言います。
psコマンドで表示できます。
ps [オプション]
プロセスを起動すると、プロセス毎に固有のID番号が割り当てられます。
これをプロセスID(PID)と言います。
システム上で実行されているプロセスを全て表示するには、auxオプションを付けます。
しかし、psコマンドでは、オプションに「-」を付けません。
###プロセスの表示
プロセスは、実行中の他のプロセスから起動されます。
これをフォークと言います。起動元のプロセスを親プロセス、親プロセスが起動したプロセスを
子プロセスと言います。親子関係はpstreeコマンドを使うとよく分かります。
topコマンドを使うと、プロセス実行状況をモニタリングできます。
###プロセスの終了
プロセスに送る信号をシグナルと言います。
9 KILL 強制終了
15 TERM 終了
18 CONT 再開
19 STOP 一時停止
killコマンドを使います。
kill -[シグナルID] プロセスID
kill -s[シグナル名] プロセスID
killallコマンドを使用するとプロセスIDではなく、プロセス名を指定できます。
##ジョブの管理
###フォアグランドジョブとバックグラウンドジョブ
1つのコマンドを実行すると、そのコマンドから複数のプロセスが起動することがあります。
ユーザー側の処理の単位をジョブと言います。
通常、コマンドライン上でコマンドを処理するとそれが終了するまでは次のコマンドを入力することができません。これがフォアグラウンドジョブです。一方、裏でジョブを実行させることもできます。それをバックグラウンドジョブと言います。これはコマンドラインの末尾に&を付けます。
###ジョブの操作
実行中のジョブはiobsコマンドを実行すると確認できます。
Runningはバックグラウンドで実行中です。また、Stoppedはバックグラウンドで停止中です。
+は直前に実行していたジョブを、-はその前のジョブを表します。
これらのジョブをフォアグラウンドで実行させるには、fgコマンドを使います。
fg [%ジョブID]
%の後はジョブIDだが、%が無いとプロセスIDになります。
フォアグラウンドでジョブが実行されている最中にCtrl+Zキーを押すと、
そのジョブは一時停止状態になります。一時停止中のジョブの実行を
バックグラウンドで再開させるには、bgコマンドを使用します。
bg [%ジョブID]
#ネットワークの利用
ネットワークの基礎を理解しよう
ネットワークの範囲をネットワークセグメントと言います。
##ネットワークの設定と管理
Linuxでネットワークの設定をするには、コマンドを使って設定する場合と、
設定ファイルに書き込むパターンがあります。
###/etc/hostnameファイル
/etc/hostnameファイルで、ホスト名を設定します。
ホスト名を確認するにはhostnameコマンドを実行します。
###/etc/hostsファイル
このファイルには、IPアドレスとホスト名との対応を記述します。
###/etc/resolv.confファイル
このファイルにはホストが利用するDNSサーバを指定します。
8.8.8.8はGoogleが提供しているパブリックDNSサーバです。
###ネットワークインターフェイスの情報確認
ホストとネットワークの窓口となるのが、ネットワークインタフェースです。
ipはネットワークインターフェイスやルーティングテーブルを管理するコマンドです。
ip address showコマンドを実行するとネットワークのインターフェイスの情報が確認できます。
loはホスト自身を表すローカルループバックインターフェイスです。
これは自分自身を表すインターフェースで、127.0.0.1です。
古いシステムではifconfigコマンドが使われています。
ifconfig [ネットワークインタフェース名]
###ポートの確認
サーバがポートからのデータを待ち受けている状態をポートが開いていると言います。
開いているポートを確認するには、ssコマンドを使用します。
ss [オプション]
古いコマンドでは、netstatコマンドでポートの状態を確認します。
###ルーティングテーブルの確認
routeコマンドを実行すると、ルーティングテーブルが表示されます。
defaultの後はデフォルトゲートウェイです。
これは違うネットワークに接続するために送るものです。
##ネットワークを利用するコマンド
###hostコマンド
これはDNSサーバに問い合わせを行い、指定したホスト名に
対応するIPアドレスを確認できます。
host ホスト名orIPアドレス
###sshコマンド
SSHは、ネットワークを経由した他のホストとの通信を安全に行うプロトコルです。
sshコマンドを使って、安全な遠隔操作ができるようになります。
ssh [ユーザー名@]接続先ホスト名 or IPアドレス
SSHでは、公開認証鍵という、パスワードを使わずに認証を行う仕組みも備えています。
公開認証鍵では、パスワードの代わりに、
公開鍵と秘密鍵という2つの鍵ペアを使って認証します。
なので、パスワードを盗まれても安全です。
###pingコマンド
pingコマンドを使うと、指定したホストに向けてICMPパケットを送信します。
もしホストが動作していなければ反応が返ってきます。
死活監視はコンピュータが動作しているか、エラーを起こしてダウンしているか、
といったコンピュータの動作状況を監視することです。
ping 接続先ホスト名orIPアドレス
Ctrl+Cを押すまでICMPパケットは送信され続けます。
#システムの管理
##ログとログファイル
システムやプログラムの活動状況の記録をログと言います。
ログの多くはログファイルに書き込まれ蓄積されます。
Linuxには、ログを集約して管理するsyslogという仕組みがあります。
CentOSでは、rsyslogというシステムによってログが収集され、ログファイルに保存されます。
ログファイルは/var/logディレクトリに保存されます。
##システムの状態を確認するコマンド
ログファイル以外にもシステムの状態を確認できる様々なコマンドがあります。
dmesgコマンドを実行すると、システム起動時のメッセージが確認できます。
lastコマンドを実行すると、最近ログインしたユーザーを確認できます。
rebootはシステムの再起動です。
whoコマンドはログイン中のユーザーを確認できます。
また、wコマンドを実行すると、ログイン中のユーザーと実行中のコマンド、
システム情報を確認できます。