Linuxプロンプトに年月日時分秒をつける

# general
PS1="[\u@\h \W]\\$ "
[root@mx ~]#

PS1="[\u@\h \W \D{%F %T }]\\$ "
[root@mx ~ 2022-04-27 01:31:35 ]#

PS1="[\u@\h \W \D{%T }]\\$ "
[root@mx ~ 01:33:04 ]#

参考値

\d	日付表示(曜日, 月 , 日)
\D{format}	時間表示。システムコール strfttime(3)のフォーマット文字列で指定
\h	ホスト名(ドメインパートを含まない)
\H	ホスト名
\j	バックグラウンドで起動しているジョブの数
\l	仮想端末の番号(pts/0, pts/1などの数字)
\n	改行(LF)
\r	改行(CR)
\s	シェル名(bash)
\t	時刻表示(24時間表示 HH:MM:SS)
\T	時刻表示(12時間表示 HH:MM:SS)
\@	時刻表示(12時間表示 HH:MM AM/PM)
\A	時刻表示(24時間表示 HH:MM)
\u	ユーザ名
\v	bashのバージョン
\V	bashのバージョン(パッチレベル含む)
\w	現在の作業ディレクトリ(フルパス表示)
\W	現在の作業ディレクトリ(現在のディレクトリ名のみ表示)
\!	history上の番号
\#	bashが起動してからのコマンド番号
\$	rootの場合には、# となり、それ以外のユーザでは $ となる
\nnn	8進数での文字指定(nは数字)
\\	\そのもの
\[	ターミナル操作用のシーケンス文字列の開始
\]	ターミナル操作用のシーケンス文字列の終了

 

\a	ASCIIのベル文字(07)を表示する(ビープ音を鳴らす)
\d	「曜 日 月 日」の形式(例:Fri Jan 5)で日付を表示する
\e	ASCIIのエスケープ文字(033)を表示する
\h	ホスト名のうち最初の「.」までの部分を表示する
\H	ホスト名を表示する
\n	改行する
\r	復帰する
\s	シェルの名前を表示する
\t	現在の時刻を24時間の「HH:MM:SS」形式で表示する
\T	現在の時刻を12時間の「HH:MM:SS」形式で表示する
\@	現在の時刻を12時間の「am/pm」形式で表示する
\u	現在のユーザー名を表示する
\v	bashのバージョンを表示する
\V	bashのリリースを表示する
\w	現在の作業ディレクトリを、ユーザーのホームディレクトリからの絶対パスで表示する
\W	現在の作業ディレクトリを表示する
\!	このコマンドの履歴番号を表示する
\#	このコマンドのコマンド番号(現在のシェルのセッション中に実行されたコマンドのシーケンスにおける位置)を表示する
\$	実効UIDが0の場合に#となり、それ以外の場合に$となる
\nnn	8進数nnnに対応する文字を表示する
\\	バックスラッシュを表示する
\[	非表示文字のシーケンスを開始する。これを使って、プロンプト中に端末の制御シーケンスを埋め込むことができる
\]	非表示文字のシーケンスを終了する

なんのため?

ログ取得したときに参照するため

 

TeraTermの標準機能にあるのでは?

ttlマクロを複数同時に起動することができない。(ttlマクロファイルを複数自動Enter実行ログイン)

同じログを参照してしまうことで同時起動できない。

 

メリット

各ターミナルでログファイルをサーバー別、ユーザ別で同時に作成することができる。

ログファイル単位で何をしたか整理しやすい。

 

 

 

 

 

記事タイトル検索