linux note
     linuxのコマンドがカテゴリ別の一覧で確認できます。



 

Linux Note(トップページ) > システム管理 > 日付や時刻の管理 > 時間(日時)を参照、設定するコマンド(date , hwclock)







[Note] 時間(日時)を参照、設定するコマンド(date , hwclock)

linuxのシステム上、管理されている時間(日時)には「ハードウェアクロック」と「システムクロック」の2通りがあります。
前者は、電源をおとしても動作し続けているハードウェアの時計です。後者は、電源投入後、最初はハードウェアクロックを参照して動きはじめる時計です。

システムクロックを参照するには「date」コマンドを用います。

 $date

 Wen Aug 18 21:03:42 JST 2010

また、dateコマンドは引数をとることができますが、通常に引数をとる場合はルートユーザーがシステムクロックを変更する際ですが、引数の前に「+」をつけると、日時を指定した書式で表示させることが可能です。

以下の例では、「年/月/日」の書式で表示しています。

 $date “+%Y/%m/%d”

 2010/8/18

dateコマンドがとる引数を以下に一覧で示しておきます。


書式
機能の説明
%Y
%m
月(01~12)
%d
日(01~31)
%H
時(00~23)
%M
分(00~59)
%a
曜日(Sun~Sat)
%b
月名(Jan~Dec)

ルートユーザがdateコマンドによりシステムクロックを変更することが可能です。

以下の例では、システムクロックを「11月15日17時12分」に設定しています。

 # date 11151712

書式は
date [MMDDhhmm[[CC]YY][.ss]]
となっております。


書式
機能の説明
MM
月(01~12)
DD
日(01~31)
hh
時(00~23)
mm
分(00~59)
CC
西暦の上2桁
YY
西暦の下2桁
ss
秒(00~59)

システムクロックは、電源投入後、最初はハードウェアクロックを参照して動きはじめますが、その後は別々に動き続けます。
そのため、起動してからの時間が長時間にわたると誤差が生じることもしばしばです。

ですので、linuxには「hwclock」コマンドが用意されており、システムクロックの時刻はハードウェアクロックに上書きすることができます。

以下のようになります。

 # hwclock –systohc

「–systohc」 というオプションにより、システムクロック(sys)からハードウェアクロック(hc)に時刻がコピーされます。–systohc の代わりに -w でも同じですが、「sys」to 「hc」のスペルから意味と関連付けて覚えやすいので、こちらのオプションを使う方が多いのではないかと思います。また、逆のオプションは「hctosysy」となります。

主なオプションは、以下に一覧にしておきます。


オプション
機能の説明
–systohc(-w)
システムクロックの時刻をハードウェアクロックにコピーする
–hctosys(-s)
ハードウェアクロックの時刻をシステムクロックにコピーする
-r
ハードウェアクロックを表示する

余談ですが、ハードウェアクロックもシステムクロックもどちらも、正確性の上では万全とは言いがたいので、企業などではNTP(Network Time Protocol)を用いた時刻管理が現在では一般的となっています。




[ カテゴリ一覧 ]

 |  エディタ  |  システム管理  |  テキスト操作  |  ファイルシステム  |  ファイル操作  | 
 |  ファイル管理  |  ユーザーやグループの管理  |