Go to the first, previous, next, last section, table of contents.
このセクションは,システム全体の情報を出力または変更するコマンドを記述し
ます.
引数を伴わないdate
は,(以下で記述する)`%c'指示語の書式で,現
在の時間と日付を出力します.構文は以下のとおりです.
date [option]... [+format]
date [-u|--utc|--universal]
[ MMDDhhmm[[CC]YY][.ss] ]
`+'で始まる引数が与えられた場合,date
は現在の時間と日付(また
は,以下で参照できる,--date
オプションで指定された日付と時間)を,
引数で定義された書式で出力し,それは,strftime
関数と同じです.
`%'で始まる指示語以外の,書式文字列内の文字は,変更されずに出力され
ます.指示語は以下で記述します.
時間に関連するdate
の指示語です.
- `%H'
-
時間(00...23)
- `%I'
-
時間(01...12)
- `%k'
-
時間( 0...23)
- `%l'
-
時間( 1...12)
- `%M'
-
分(00...59)
- `%p'
-
ロケールの午前または午後
- `%r'
-
時間で,12時間基準(hh:mm:ss [AP]M)
- `%s'
-
エポック,すなわち1970年1月1日00:00:00 UTCからの秒(GNU拡張)です.この値
は,エポックとlocaltimeシステムコールで定義される現在の日付の間の時間だ
ということに注意してください.それは,`--date'オプションで変更され
ません.
- `%S'
-
秒(00...61)
- `%T'
-
時間で,24時間基準(hh:mm:ss)
- `%X'
-
ロケールの時間表現(%H:%M:%S)
- `%z'
-
RFC-822スタイルの数値的なタイムゾーン(例えば,-0600や+0100),または,タ
イムゾーンが決定できない場合は何もしません.この値は現在のタイム
ゾーンを反映します.それは,`--date'オプションで変更されません.
- `%Z'
-
タイムゾーン(例えば,EDT),または,タイムゾーンが決定できない場合は何も
しません.この値は現在のタイムゾーンを反映することに注意してくだ
さい.それは,`--date'オプションで変更されません.
日付に関連するdate
指示語です.
- `%a'
-
ロケール略記される曜日の名前(Sun...Sat)
- `%A'
-
ロケールの完全な週の曜日の名前で,可変長(Sunday...Saturday)
- `%b'
-
ロケールの略記される月の名前(Jan...Dec)
- `%B'
-
ロケールの完全な月の名前で,可変長(January...December)
- `%c'
-
ロケールの日付と時間(Sat Nov 04 12:02:33 EST 1989)
- `%d'
-
月の何日目(01...31)
- `%D'
-
日付(mm/dd/yy)
- `%h'
-
%bと同じ
- `%j'
-
年の何日目(001...366)
- `%m'
-
月(01...12)
- `%U'
-
日曜日を週の最初の日として用いた,年の何週目(00...53)です.新年の最
初の日曜日の前の日付は,0週目になります.
- `%V'
-
月曜日を週の最初の日として用いた,年の何週目の10進(00...53)です.新
年の1月1日が含まれる週が,4日以上の日を含む場合,それは第1週と考えられま
す.それ以外の場合は,前年の53週目となり,翌週が第1週となります.(ISO
8601: 1988標準を参照してください.)
- `%w'
-
週の何日目(0...6)で,0は日曜日に対応します.
- `%W'
-
月曜日を週の最初の日として用いた,年の何週目(00...53)です.新年の最
初の月曜日の前の日付は,0週目になります.
- `%x'
-
ロケールの日付表現(mm/dd/yy)
- `%y'
-
最後の2桁を用いた年(00...99)
- `%Y'
-
年(1970....)
リテラル文字列を生成するdate
の指示語です.
- `%%'
-
リテラルの%
- `%n'
-
改行
- `%t'
-
水平タブ
デフォルトで,date
は数値フィールドをゼロでパディングし,例えば,
数字の月は,常に2桁で出力されます.GNU date
は,以下の`%'と指
示語の間の数値修飾子を認識します.
- `-'
-
(ハイフン) フィールドをパディングしません.出力を人間が利用する目的の場
合役に立ちます.
- `_'
-
(アンダースコア)フィールドをスペースでパディングします.出力に固定数の文
字が必要で,ゼロでは混乱する場合,役に立ちます.
これらはGNU拡張です.
ここに違いを表現する例があります.
date +%d/%m -d "Feb 1"
=> 01/02
date +%-d/%-m -d "Feb 1"
=> 1/2
date +%_d/%_m -d "Feb 1"
=> 1/ 2
`+'で始まらない引数が与えられた場合,date
は,システム時計を
その引数(以下で記述)で指定された時間と日付に設定します.システム時計を設
定するため,適切な特権を持っている必要があります.`--date'と
`--set'オプションは,引数として使用できません.`--universal'オ
プションは,指定された時間と日付がローカルなタイムゾーンではなく世界標準
時に関連することを示すために,引数として使用できます.
引数は,完全な数字から成り立つ必要があり,それは以下の意味を持ちます.
- MM
-
月
- DD
-
月の日付
- hh
-
時間
- mm
-
分
- CC
-
年の最初の2桁(オプション)
- YY
-
年の最後の2桁(オプション)
- ss
-
秒(オプション)
`--set'オプションもシステム時計を設定します.次のオプションを参照し
てください.
プログラムは以下のオプションも受け入れます.section 共通のオプション,も参照
してください.
- `-d datestr'
-
- `--date=datestr'
-
現在の時間と日付の代わりに,datestrで指定された時間と日付を表示し
ます.datestrは,ほとんどあらゆる一般的な書式が可能です.月の名前,
タイムゾーン,`am'と`pm',`yesterday',`ago',
`next',等を含めることが可能です.See section 日付入力の書式.
- `-f datefile'
-
- `--file=datefile'
-
`-d'と同様に,datefileのそれぞれの行を解析し,結果の時間と日
付を表示します.datefileが`-'の場合,標準入力を使用します.
date
の実行を何度も開始するシステムのオーバーへッドは無視できない
ので,これは多くの日付を処理するとき役に立ちます.
- `-I[timespec]'
-
- `--iso-8601[=timespec]'
-
ISO 8601書式`%Y-%m-%d'を使用して日付を表示します.
オプション引数のtimespecは,含める時間の追加の単語の数を指定します.
以下の一つになるはずです.
- `auto'
-
デフォルトの動作です.日付のみ出力します.
- `hours'
-
日付に時間を追加します.
- `minutes'
-
時間と分を追加します.
- `seconds'
-
時間,分,そして秒を追加します.
時間の用語を表示する場合,書式`%z'を使用したタイムゾーンを含めます.
`--utc'も指定されている場合,`%z'の場所に`%Z'を使用します.
- `-R'
-
- `--rfc-822'
-
RFC-822で指定される書式`%a, %_d %b %Y %H:%M:%S %z'で時間と日付を表
示します.`--utc'も指定されている場合,`%z'の場所に`GMT'
を使用します.
- `-r file'
-
- `--reference=file'
-
現在の時間と日付の代わりに,fileが最後に編集された時間を参照して,
時間と日付を表示します.
- `-s datestr'
-
- `--set=datestr'
-
時間と日付をdatestrに設定します.上記の`-d'を参照してください.
- `-u'
-
- `--utc'
-
- `--universal'
-
ローカル(壁時計の)時間の代わりに,世界標準時で時間と日付を表示または設定
を行います.
ここにいくつかの例があります.上記セクションの`-d'オプションに対す
るドキュメントも参照してください.
-
一昨日の日付を出力します.
date --date='2 days ago'
-
これから3ヶ月と1日先の日付を出力します.
date --date='3 months 1 day'
-
今年のクリスマスが年の何日目かを出力します.
date --date='25 Dec' +%j
-
現在の月の完全な名前と日を出力します.
date '+%B %d'
しかし,月の最初の9日の間,`%d'はゼロパディングした2桁のフィールド
に展開するため,これは期待するものでない可能性があり,例えば,`date
-d 1may '+%B %d''は`May 01'を出力します.
-
1桁の日の前置されるゼロを日付に付けないで出力するため,パディングを完全
に抑制する(GNU拡張)の
-
修飾子を使用可能です.
date -d=1may '+%B %-d'
-
システム時計を設定するとき,
date
の多くの非GNUバージョンが要求する
書式で,現在の日付と時間を出力します.
date +%m%d%H%M%Y.%S
-
システム時計を2分進める設定です.
date --set='+2 minutes'
-
RFC-822で指定される書式で日付を出力するため,`date --rfc'を使用して
ください.そうするとこのようになりました.
Mon, 25 Mar 1996 23:34:17 -0600
-
日付文字を,エポック(1970-01-01 00:00:00 UTC)からの秒数に変換するため,
`%s'書式を用いた`--date'オプションを使用してください.それは,
日付毎の並べ替え,および/または,グラフ化,および/または,比較に役立つは
ずです.以下のコマンドは,エポックより1秒以上後の時間に対し,エポックか
らの秒数を出力しますが,タイムゾーンの5時間後(ケンブリッジ,マサチューセッ
ツ) では,このように全体でエポックの5時間と1秒後となります.
date --date='1970-01-01 00:00:01 UTC +5 hours' +%s
18001
上記の例でタイムゾーン情報を指定していないと仮定します.そのとき,
文字列を解釈するとき,日付はコンピュータのタイムゾーンの考えを使用します.
イングランドのグリニッジにいる場合,得るものはこのようになります.
# local time zone used
date --date='1970-01-01 00:00:01' +%s
1
-
日付を並べ替えたりグラフ化したりしている場合,生の日付の値は,エポックか
らの秒として表現可能です.しかし,ほとんどの人は,日付`946684800'を
見て,"ああ,それは2000年最初の秒だ"と簡単には気が付きません.
date --date='2000-01-01 UTC' +%s
946684800
そのような扱いにくい秒数を,より読みやすい形式に変換するため,このような
コマンドを使用してください.
date -d '1970-01-01 946684800 sec' +"%Y-%m-%d %T %z"
2000-01-01 00:00:00 +0000
uname
は,実行しているマシンとオペレーティングシステムの情報を出力
します.オプションが与えられない場合,uname
は-s
オプション
が与えられたかのように動作します.構文は以下のとおりです.
uname [option]...
複数のオプションや-a
が与えられた場合,選択された情報は,この順番
で出力されます.
sysname nodename release osversion machine
少なくとも,osversionは複数の単語となります.例えば,以下のように
なります.
uname -a
=> Linux hayley 1.0.4 #3 Thu May 12 18:06:34 1994 i486
プログラムは,以下のオプションも受け入れます.section 共通のオプション,も参
照してください.
- `-a'
-
- `--all'
-
以下の情報すべてを出力します.
- `-m'
-
- `--machine'
-
マシン(ハードウェア)タイプを出力します.
- `-n'
-
- `--nodename'
-
マシンのネットワークノードのホスト名を出力します.
- `-p'
-
- `--processor'
-
マシンのプロセッサタイプを出力します.
- `-r'
-
- `--release'
-
オペレーティングシステムのリリースを出力します.
- `-s'
-
- `--sysname'
-
オペレーティングシステムの名前を出力します.
- `-v'
-
オペレーティングシステムのバージョンを出力します.
引数がない場合,hostname
は現在のホストシステムの名前を出力します.
1つの引数を用いた場合,それは現在のホスト名を指定された文字列に設定しま
す.ホスト名の設定には適切な特権が必要です.構文は以下のとおりです.
hostname [name]
オプションは,`--help'と`--version'だけです.See section 共通のオプション.
Go to the first, previous, next, last section, table of contents.