dateコマンドは、引数を指定せずに実行すると、現在の日付と時刻を「火2月18 03:29:09 JST 2003」(曜日月月日時:分:秒JST 西暦年)のように表示します。引数を指定して実行すると、日付/時刻の設定や、ユーザが定義した形式に従った日付や時刻の表示が行えます。
日付/時刻の設定はスーパーユーザだけが行えます
グリニッジ標準時からの時差をもつための情報で、地域によって決まるタイムゾーンというものがあります。日本のタイムゾーンはJSTという定義になります
- ① -u
- 日付/時刻をグリニッジ標準時で表示します。
- ① +FORMAT
- +(プラス)で始まる引数は、日付と時刻の表示方法を指定するフォーマット文字列です。フォーマット文字列には、以下の表に示す変換文字列と、任意のテキストを含むことができます。
- ② DATETIME
スーパーユーザはdateコマンドを使って、日付/時刻の設定を行うことができます。日付/時刻を設定するには、dateに続けて、次の形式に従って日付と時刻を指定します。
MMDDhhmm[[CC]YY][.ss] [Linux]
[[[[yy]mm]dd]HH]MM[.ss] [FreeBSD]
mmddHHMM[cc]yy[.SS] [Solaris]
変換文字列 | 内容 |
---|---|
%H | 24時間表示で表した時(00から23)。1桁の場合は前に0が付加される |
%I(大文字“アイ”) | 12時間表示で表した時(01から12)。1桁の場合は前に0が付加される |
%k | 24時間表示で表した時( 0から23)。1桁の場合は前に空白文字が付加される |
%l(小文字“エル”) | 12時間表示で表した時( 1から12)。1桁の場合は前に空白文字が付加される |
%M | 分(00から59)。1桁の場合は前に0が付加される |
%p | 午前あるいは午後 |
%r | %pを伴った、12時間表示形式で表した時刻 |
%s | 1970-01-01 00:00:00 UTCからの秒数 |
%S | 秒(00から61)。1桁の場合は前に0が付加される |
%X | ロケールによる時刻の表現(ロケールがja_JPの場合「%H時%M分%S秒」) |
「%S」つまり秒では、うるう秒を表示できるように、00から61までの値で返されます
ロケールとは、地域情報のことであり、言語環境、日付や時刻の表現方法、通貨の単位などを決めるために用いられます
フォーマット文字列とは、dateコマンドにより日付/時刻を表示する場合に、どのような形式で表示するかを決めるための表現方法で、変換文字列は、日付/時刻を設定する場合に用いるフォーマット(形式)を表記するための文字列のことです
指定文字列 | 内容 | ||
---|---|---|---|
Linux | FreeBSD | Solaris | |
CC | cc | cc | 年(西暦年の千の位と百の位) |
YY | yy | yy | 年(西暦年の十の位と一の位) |
MM | mm | mm | 月 |
DD | dd | dd | 日 |
hh | HH | HH | 時 |
mm | MM | MM | 分 |
ss | ss | SS | 秒 |
$ date +%X
23時58分35秒
$
$ date +%H.%M.%S
23.59.16
$ date
水2月19 23:59:29 JST 2003
$ date +%r
11:59:50 午後
# date 052100042003.00
水 5月 21 00:04:00 JST 2003
#
ファイル名を付ける時、いつ作成したかわかるとよい場合があります。ファイルはファイル作成日時の情報を保持していますので、lsコマンドを実行して詳細表示することでわかるのですが、ファイル名に日時データが入っているとそれをすぐに確認できます。特にログインした時に自動的に実行されるコマンドの出力ファイル名などは、同じ名前では、上書きされてしまいますので、日時データを入れて名前が重複しないようにしたいという場合があります。そのような場合、筆者はdateコマンドを次のように使用します。
[takeda]$ tar czvf /backup/f`date +%H%M%S`.tgz *
この場合は、「``」で囲まれた「date +%H%M%S」の出力結果である「091032」(9時10分32秒に作成したことを表す)が付加されます。結果として、「/backup」というディレクトリ内に「f091032.tgz」というバックアップファイルが作成されます。
本コンテンツは「UNIXコマンド辞典 ビギナー編」(2003年)を元にWeb用に再編集したものです
All Contents copyright © 2003-2009 Odyssey Communications Inc., Shoeisha Co., Ltd.