コマンドラインインターフェイスを使用して日付と時刻を取得する方法は?


98

ターミナルで現在の日付/時刻を取得するにはどうすればよいですか。ほとんどの場合、システムをテキスト(コンソール)モードで起動し、現在の日付/時刻を知るためのコマンドが必要です。

回答:


173

このdateコマンドは、日付と時刻を表示します。

man date標準出力以外のものが必要な場合、必要な形式に出力を制御する方法を示します。例えば:

date "+%H:%M:%S   %d/%m/%y"

日付と時刻を次の形式で出力します 14:09:22 09/06/2015

読みやすいバージョンのマニュアルページは、Ubuntuのマニュアルページにあります。


6
発言のためだけに+1man date
jshthornton

タイムゾーンの差を取得するにはどうすればよいですか?
アリD.

19

コマンドラインプロンプトとしての時間:

PS1="\@ \w$bk"

次のようになります:11:41 AM〜

かっこで囲まれた少し手の込んだもの:

PS1="[ \@ \w$bk ]"

次のようになります:[11:36 AM〜]

ユーザーとlocalhostを時刻とともに追加します。すべて角かっこで囲みます。

PS1="[ \u on \h \@ \w$bk ]"

次のようになります:[LittleSorrelのDrPete 10:34 AM〜]

プロンプトをデフォルトにリセットします#: PS1="# "

プロンプトを永続的に使用可能にするには、選択したプロンプト行を追加します。つまり、

export PS1="\@ \w$bk "

〜/ .profileに。

仕方がありません、私たちは今ロールしています...色を追加し、.profileで定義して、セットアップを簡単にします:

 # Install GNU coreutils
    bk="\[\033[0;38m\]" #means no background and white lines
    txtBlue="\[\033[0;34m\]"   #letter color blue
    txtRed="\[\033[0;31m\]"    #letter color red
    txtCyan="\[\033[1;36m\]"   #letter color cyan
    txtWhite="\[\033[1;37m\]"  #letter color white
    txtYellow="\[\033[1;33m\]" #letter color yellow

次に、派手な色のプロンプトは次のようになります。

PS1="[ $txtYellow\u on $txtCyan\h $txtRed\@ $txtWhite\w$bk ]"

非常に良い答え=)が、少し短い。
AB

私の最初の答え-私はもう処女ではないので-どんな方法で、物語やCLIプロンプト情報へのリンクを広げますか?
drPete

どうすればこれを永続的にできますか?
AB

@AB Clever Answer btw :)をエクスポートするだけ
Sharad Gautam

1
良い答え=よりupvotes
AB

16

日時に使用されるコマンドのリストがあります。

  1. コマンド date

    $ date 
    Tue Jun  9 18:04:30 EEST 2015
    
  2. zdump指定された時間帯の時間をエコーするために使用されるコマンド。

    $ zdump EEST
    EEST  Tue Jun  9 15:05:17 2015 EEST
    
  3. hwclock

    $ sudo hwclock
    Tue 09 Jun 2015 06:05:55 PM EEST  -0.656710 seconds
    
  4. 時計が、xview-clientsをインストールする必要があります

    sudo apt-get install xview-clients
    
  5. ntpdateコマンドを使用します。ntpdateはシステムの時刻を設定するために使用されますが、without sudoを使用すると時刻と日付のみが出力されます。

    $ ntpdate
    
    26 Jun 10:48:34 ntpdate[4748]: no servers can be used, exiting
    

11

Ubuntu 15.04(systemd)timedatectlを使用すると、時間を表示したり、変更したりすることができますman timedatectl

引数なしで与える

%timedatectl
警告:TZ変数は無視されます。システムのタイムゾーン設定のみを読み取ります。

      現地時間:ke 2015-06-10 10:31:59 EEST
  世界時:ke 2015-06-10 07:31:59 UTC
        RTC時間:ke 2015-06-10 07:31:59
       タイムゾーン:ヨーロッパ/ヘルシンキ(EEST、+ 0300)
     NTP有効:はい
NTP同期:はい
 ローカルTZのRTC:いいえ
      DSTアクティブ:はい
 最後のDST変更:DSTは
                  su 2015-03-29 02:59:59 EET
                  su 2015-03-29 04:00:00 EEST
 次のDSTの変更:DSTは次の時点で終了します(時計が1時間後方にジャンプします)
                  su 2015-10-25 03:59:59 EEST
                  su 2015-10-25 03:00:00 EET

そして、私が使用したもう1つの便利な機能は、リモートサーバーと時計を同期する組み込みSNTP(Simple Network Time Protocol)クライアントでtimedatectl set-ntp trueあるアクティブ化機能ですsystemd-timesyncd


1
$ timedatectlここでもUbuntu 14.04で正常に動作します。
ドアノブ

8

ここでの答えはすべて正しいですが、必要なdateときにいつでもコマンドを手動で使用して時間を確認する必要があり、出力はコマンドの通常の出力と混ざります。これはほとんど大丈夫ですが、いつかは実用的ではありません。

あなたはできるあなたのプロンプトにdateコマンドを追加するシェルコマンドの準備ができているか、ステータスラインを持っているターミナルマルチプレクサのいずれかを使用することができます(固定)クロックを毎回表示されます。私が好むのは(もっとも古いものは認めますが)GNU screenです。

コンソールまたは端末で、たとえばssh、を使用して、screenを使用する場合、何十億通りのさまざまなことができます(私screenはテキスト端末しか持っていなかったときに作業することは避けられないと考えていました)には、オプションがあります---通常、デフォルトの設定で---ステータス行にクロックがある:

端末の画面

(スクリーンショットは仮想端末上にありますが、仮想コンソール上でも同じです)。


1
また、bu風(画面に基づいています)もそのまま使用できます。ちょうどFYI
Sergiy Kolodyazhnyy


1

pythonに関する言及はなかったので、ここでそれを捨てます。

$ python -c 'import time;print(time.asctime(time.localtime()))'                                                                       
Tue Nov 29 20:25:27 2016

仕組みは非常に簡単です。

  • timeモジュールをインポートします
  • localtime()関数は、struct時刻、日、年など、必要なすべての情報を含むデータ型を提供します。
  • asctime() すべての情報を文字列に変換し、適切にフォーマットして出力します

Python 2と3で同様に動作します。


0

YYYYMMDDHHMMSSのようなsomettingを探している場合、20160804020100はこれを使用します:

date +%Y%m%d%H%M%S

ファイルバックアップやログフィルタリングなど、ほとんどの目的に使用されます。


2
AskUbuntuへようこそ。この回答は投稿された質問を解決しようとしますが、その解決策は他の複数のユーザーによって既に回答で言及されています。個人的には、この答えは役に立ちません。投稿を改善してください
Sergiy Kolodyazhnyy

0

システムの時計の精度が不明な場合、または外部の時刻ソースを使用する場合は、インターネット経由で時刻を取得できます。最高の精度を得るには、sntp(MacOSにデフォルトでインストールされ、ntpディストリビューションの一部として提供されます)を使用して日付を取得できます。

sntp pool.ntp.org 

インターネットへのWebアクセスのみを持っている場合、多くのシステムで利用可能なHTPを使用してHTTP経由で取得できますhtpdate。通常、最も近い秒の精度しかありません。または、TLS(TLSからタイムスタンプを抽出する交換)tlsdateにより正確性が向上します。

tlsdate -nV ntp.org
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.