IT・技術研修ならCTC教育サービス

サイト内検索 企業情報 サイトマップ

研修コース検索

コラム

WSLで始めるUbuntu

CTC 教育サービス

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes 

第40回 bashの組み込みコマンドついて知ろう(8) (宮崎悟) 2022年3月

今回も前回と同じく、bashの組み込みコマンドについて説明します。

history [n]

historyコマンドは、本連載の第19回でも紹介したように、履歴を表示するコマンドです。

オプションがない場合には、行番号付きでコマンド履歴を表示します。*付きでリスト表示されている行は変更された行です。

引き数 n を指定すると、最新の n 行だけがリスト表示されます。

シェル変数HISTTIMEFORMATに空値以外が設定されると、指定された値は履歴エントリを表示するときにタイムスタンプを表示するためのstrftime(3)で使用する書式文字列として扱われます。

history [-anrw] filename のように指定すると、filenameを履歴ファイルの名前として使用します。filenameを指定しなければ、シェル変数HISTFILEに指定したファイルが使用されます。

historyで使用できるオプションは以下のとおりです。

  • history -c 履歴リストのすべての項目を削除して、履歴を消去します。

  • history -d offset 位置 offset の履歴エントリを削除します。 offsetが負の値の場合、最後の履歴の位置よりも1つ大きい相対的な値として解釈し、履歴の最後からカウントバックします。offset -1 は現在のヒストリを指します。

  • history -d start-end ポジションstartとendの間の履歴エントリを削除します。 startendの正負の値は、上記のoptionと同じように解釈されます。

  • -a 履歴ファイルに新しい(bash の現在のセッションの開始以降に入力された)履歴エントリを追加します。これは、現在のbashセッションの開始以降に入力され、まだ履歴ファイルに追加されていない履歴エントリです。

  • -n 履歴ファイルからまだ読み込まれていない履歴行を、現在の履歴リストに読み込みます。追加されるのは、現在のbashセッションの開始以降に履歴ファイルへ追加された行です。

  • -r 履歴ファイルの内容を読み込んで、現在の履歴リストに追加します。

  • -w 現在の履歴リストを履歴ファイルに書き込み、履歴ファイルの内容を上書きします。

  • history -p arg [arg ...] 指定したargに対して履歴置換し、その結果を標準出力に表示します。この結果は、履歴リストに保存しません。通常の履歴展開しないためには、各argを引用符で囲む必要があります。

  • history -s arg [arg ...]

    引数を1つのエントリとして履歴リストに格納します。 履歴リストの最後のコマンドが削除されてから、引数が追加されます。

HISTTIMEFORMAT変数が設定されている場合、各履歴エントリに関連するタイムスタンプは、履歴コメント文字でマークされて履歴ファイルに書き込まれます。ヒストリーファイルが読み込まれると、履歴コメント文字の後にすぐに数字が続く行は、次の履歴エントリのタイムスタンプとして解釈されます。戻り値は0ですが、 以下の無効なオプションが見つかった場合は0以外を返します。

  • 履歴ファイルの読み書きでエラーが発生した場合
  • -dの引数に無効なオフセットが与えられた場合
  • -pの引数に与えられた履歴展開が失敗した場合
kill [-s sigspec | -n signum | -sigspec] [pid | jobspec] ...

sigspecsignumで指定されたシグナルを、pidまたはjobspecで指定されたプロセスに送信します。sigspecは、SIGKILLのような大文字小文字を区別しないシグナル名(SIG接頭辞あり/なし)、signumのようなシグナル番号を指します。sigspecが存在しない場合は、SIGTERMが想定されます。

引数 -l を指定した場合、シグナル名の一覧が表示されます。引数 ‐l の後に引数を指定した場合、引数に対応するシグナルの名前がリストアップされ、戻り値は0となります。-l のexit_status引数には、シグナル番号またはシグナルで終了したプロセスの終了ステータスを示す数値を指定します。-Lオプションは、-lと同じ動作をします。 killは、少なくとも1つのシグナルの送信に成功した場合は0を、エラーが発生した場合や無効なオプションに遭遇した場合は0以外を返します。

終わりに

次回も、今回に引き続き、bashの組み込みコマンドについて説明を続けます。次回をお楽しみに。

 


 

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes