【LPIC1対策(3-2)】主題103:GNUとUnixのコマンド(103.4-103.8)

スポンサーリンク


本記事ではLPIC1(Ver4.0)101試験に合格するため『主題103:GNUとUnixのコマンド』の(103.4-103.8)について自分が勉強したことをまとめました。

LPIC1(Ver4.0)101試験の出題範囲はLPICのサイト(101試験範囲)に掲示されており、以下の様になっています。



目次

目次



事前準備

1.Linuxの環境を用意する


LPICを勉強する上でLinuxの環境で実際に動かしてみるとよいです。Windows上でも仮想Linux環境を構築すれば簡単にLinuxを動かすことができます。以下にWindows上でubuntuを構築する方法をまとめました。参考にしてください。


Windows上でubuntuを構築する方法

2.テキストを購入する


Linux教科書 LPICレベル1 Version4.0対応』を参考にしながら勉強しました。このテキストにそって重要なところのみピックアップしてまとめているので大元はこちらのテキストを参照してください。



(103.4)ストリーム、パイプ、リダイレクトの使用



teeコマンド(標準入力をファイル出力)

標準入力を標準出力とファイルに出力するコマンド
パイプを使うことで、コマンド実行結果をファイルに保存しつつ、他コマンドに引き渡すことが可能になる。

【標準入力をファイル出力】
> tee [オプション] [ファイル名]

オプション

コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230898/

補足
・xargsコマンド:標準入力から受けたデータを他のコマンドの引数に充てることができる。(空白、改行が区切り文字)



リダイレクト




(103.5)プロセスの生成、監視、終了



プロセスの管理

プロセスとはOSが管理する実行中のプログラムの単位
基本操作とコマンドは以下

実行中のプロセス表示
・psコマンド
  -eオプション,aオプション:すべてのプロセス表示
  -fオプション,uオプション:詳細表示

実行中のプロセス監視(継続表示)
・topコマンド
 終了時はQキーを入力
  対話型によって優先度の確認、変更をすることができる

プロセスの階層構造表示
・pstreeコマンド
  すべてのアクティブなプロセスを表示できる

プロセス名からプロセスID(PID)取得
・pgrepコマンド

プロセスの終了
強制終了やプロセス終了、プロセス再開、停止などのシグナルをプロセスに送る
・killコマンド
プロセスの指定方法はプロセスID(PID)
もしくは%ジョブID
・killallコマンド
プロセスの指定方法はプロセス名
・pkillコマンド
プロセスの指定方法はプロセス名



ジョブの管理

ジョブとはシェル上で実行する処理(コマンドやプログラム)の単位
ジョブの実行方式は2つある。

1.フォアグランド
キーボードからの入力はすべてのジョブに渡された状態
ジョブが終了しないとシェルの操作ができない

2.バックグラウンド
バックグラウンドでジョブが実行されている状態
ジョブの終了を待たずしてシェルの操作が可能
バックグランドでコマンドを実行するときはコマンドの最後に「&」を付ける

基本操作とコマンドは以下

実行中のジョブ表示
・jobsコマンド
ステータスは「+」:現在実行中のジョブ、「-」:直前に実行されたジョブ
「Running」:バックグラウンドで実行中、「stopped」:実行を一時停止中

ジョブをバックグラウンドで実行
・bgコマンド
  「bg %ジョブID」でバックグラウンドに処理を移行

ジョブをフォアグランドで実行
・fgコマンド
  「fg %ジョブID」でフォアグラウンドに処理を移行
  「Ctrl + Z」で実行中のジョブを一時停止

ログアウトした後もプログラムを実行
・nohupコマンド



システムの状況確認

システムの状況を確認する基本操作とコマンドは以下

メモリの状況確認
・freeコマンド

システムの稼働状況確認
・uptimeコマンド

システムのアーキテクチャやOSの状況確認
・unameコマンド



bgコマンド(バックグラウンドへ切替え)

ジョブをバックグラウンドで実行するよう切り替えるコマンド

【バックグラウンドへ切替え】
> bg [ジョブID]

オプション
なし

コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230718/

補足
・「bg %ジョブID」でバックグラウンドに処理を移行



fgコマンド(フォアグラウンドへ切替え)

フォアグラウンドでジョブを実行するよう切り替えるコマンド

【フォアグラウンドへ切替え】
> fg [ジョブID]

オプション
なし

コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230776/

補足
・「fg %ジョブID」でフォアグラウンドに処理を移行
・「Ctrl + Z」で実行中のジョブを一時停止



jobsコマンド(実行中のジョブ表示)

実行中のジョブを表示するコマンド(バックグラウンドで実行しているジョブ)

【実行中のジョブ表示】
> jobs [オプション] [ジョブID]

オプション

コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230804/



killコマンド(プロセスとジョブを強制終了)

プロセスおよびジョブを強制終了するコマンド

【プロセスとジョブを強制終了】
> kill [シグナル] [プロセスID]

シグナル
シグナルの表記方法は3つ
1.-[シグナル名/シグナルID]
2.-s [シグナル名/シグナルID]
3.-SIG[シグナル名]


コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230806/

補足
・「kill %ジョブID」でジョブを指定してシグナル送信できる。
・「Ctrl + c」はボード操作による割り込みでジョブを停止する。
・「SIGHUP」はデフォルトは端末の切断によるプロセス終了だが、デーモンの多くは設定ファイルの再読み込みをしている。



nohupコマンド(ログアウト後も実行)

ログアウトした後もコマンドを実行し続けるコマンド

【ログアウト後も実行】
> nohup [コマンド]

オプション
なし

コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230850/

補足
・処理結果(標準出力、標準エラー出力)はホームディレクトリに「nohup.out」というファイル名が作成され、そこに格納される。



psコマンド(実行中のプロセス表示)

実行中のプロセスを表示するコマンド

【実行中のプロセス表示】
> ps [オプション]

オプション

コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230850/

補足
・-eオプション,aオプション:すべてのプロセス表示
・-fオプション,uオプション:詳細表示



topコマンド(システム状況を表示)

現在のシステム状況を表示するコマンド

【システム状況を表示】
> top [オプション]

オプション
範囲外

コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230904/

補足
・topコマンドを終了するにはQキーを入力
・対話型によって優先度の確認、変更をすることができる



freeコマンド(メモリ状況を表示)

メモリーの使用状況を表示するコマンド

【メモリ状況を表示】
> free [オプション]

オプション

コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230780/



uptimeコマンド(システム稼働時間を表示)

システム稼働時や平均不可を表示するコマンド

【システム稼働時間を表示】
> uptime



pgrepコマンド(メモリ状況を表示)

プロセスIDを表示するコマンド

【プロセスIDを表示】
> pgrep [オプション] [プロセス名]

オプション

コマンド詳細
https://webkaru.net/linux/pgrep-command/



pkillコマンド(プロセスを終了)

プロセス名を指定してプロセスを終了させるコマンド

【プロセスを終了】
> pkill [オプション] [シグナル] [プロセス名]

オプション

シグナル
シグナルの表記方法は3つ
1.-[シグナル名/シグナルID]
2.-s [シグナル名/シグナルID]
3.-SIG[シグナル名]


コマンド詳細
http://www.atmarkit.co.jp/ait/articles/1708/03/news014.html



killallコマンド(プロセスを終了)

プロセスを終了させるコマンド

【プロセスを終了】
> killall [オプション] [シグナル] [プロセス名]

オプション

シグナル
シグナルの表記方法は3つ
1.-[シグナル名/シグナルID]
2.-s [シグナル名/シグナルID]
3.-SIG[シグナル名]


コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20131203/522202/



screenコマンド(仮想端末を作成)

仮想端末を作成するコマンド

【仮想端末を作成】
> screen

補足
・文字型端末の画面制御プログラムであり、GUIの画面制御ではない



(103.6)プロセスの実行優先度の変更



プロセスの優先度

優先度によってCPU時間の割り当て時間が変わる。
優先度に関連するコマンドは以下

優先度の確認
・ps -lコマンド

プロセスの優先度変更
・niceコマンド
nece値は-20?19まであり、-20が最も優先度が高い
優先度を上げる操作はrootユーザのみ実行可能(下げることは可能)
nice値を指定しないとデフォルト値+10の値が設定される

実行中のプロセスの優先度変更
・reniceコマンド
優先度を上げる操作はrootユーザのみ実行可能(下げることは可能)
nice値を指定しないとデフォルト値+10の値が設定される



niceコマンド(プロセスの優先度変更)

優先順位を決めてコマンドを実行するコマンド

【プロセスの優先度変更】
> nice [-n ナイス値] [コマンド]

ナイス値
nece値は-20?19まであり、-20が最も優先度が高い
優先度を上げる操作(マイナス値をナイス値に設定)はrootユーザのみ実行可能(下げることは可能)
nice値を指定しないとデフォルト値+10の値が設定される

コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230848/



reniceコマンド(実行中のプロセスの優先度変更)

実行中のコマンドの優先順位を変更するコマンド

【実行中のプロセスの優先度変更】
> renice [-n ナイス値] [オプション]

ナイス値
nece値は-20?19まであり、-20が最も優先度が高い
優先度を上げる操作(マイナス値をナイス値に設定)はrootユーザのみ実行可能(下げることは可能)
nice値を指定しないとデフォルト値+10の値が設定される

オプション

コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20131203/522192/



(103.7)正規表現を使用したテキストファイルの検索



正規表現

正規表現はgrepコマンドの検索キーワードとして使用可能

主な正規表現は以下



拡張正規表現

拡張正規表現はegrepコマンドの検索キーワードとして使用可能

主な拡張正規表現は以下

補足
・繰り返しを表す表現は以下
「*」:0回以上繰り返し
「?」:0回もしくは1回の繰り返し
「+」:1回以上繰り返し
※「?」は以上ではないことに注意



grepコマンド(文字列の検索)

文字列を検索するコマンド

【文字列の検索】
> grep [オプション] [検索パターン] [ファイル名]

オプション

検索パターン
正規表現を参考

コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230786/

補足
拡張表現を使う場合はegrepコマンドを使うこともできる
検索パターンに正規表現を使わないときはfgrepコマンドを使うこともできる



sedコマンド(文字列置換、行削除)

文字列の置換、行の削除を行うコマンド

【文字列置換、行削除】
> sed [オプション] [検索条件式] [ファイル名]
> sed [オプション] [-e 検索条件式] [ファイル名]

オプション

検索条件式

コマンド詳細
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230879/

補足
・sedコマンドは通常結果が標準出力だが、「-i」オプションを使うと、ファイルを直接編集できる。



(107.8)viを使った基本的なファイル編集の実行



viの入力モード

viには入力モードとコマンドモードがある。
入力モード⇒コマンドモード : ESCキーで切替え
コマンドモード⇒入力モード : 以下のコマンド



viのカーソル操作




viの終了、保存


補足
・「:wq」系はEnterがいるが「ZZ」はEnter不要



viの編集(コマンドモードで)

コマンドモードでviを編集するコマンドは以下

補足
・上記コマンドでコマンド前に数値を入れると連続実行可能
 たとえば「3dd」とすると3回行を削除する。つまり3行削除する。
・「回数.」を実行すると、直前に実行したコマンドを回数分繰り返す。



viの検索コマンド

主なコマンドは以下



テキストエディタの指定

・Linuxのテキストエディタはviかemacがある。
・bashのデフォルトはemacとなっている。
・テキストエディタの指定は以下のコマンドで行う。

【viを指定】
> set -o vi


【emacを指定】
> set -o emac



関連するページ


LPIC-1 試験対策のまとめページ

【LPIC1対策】LPIC-1試験対策 まとめ
LPICレベル1の出題範囲について自分が勉強したことをまとめました。


(次の章) 【LPIC1対策(4)】主題104:デバイス、Linuxファイルシステム、ファイルシステム階層標準

【LPIC1対策(4)】主題104:デバイス、Linuxファイルシステム、ファイルシステム階層標準
LPIC1(Ver4.0)101試験に合格するため『主題104:デバイス、Linuxファイルシステム、ファイルシステム階層標準』について自分が勉強したことをまとめました。


(前の章) 【LPIC1対策(3-1)】主題103:GNUとUnixのコマンド(103.1-103.3)







以上!!!

スポンサーリンク

フォローする

スポンサーリンク