Como obter data e hora usando a interface de linha de comando?

77

Como posso obter a data / hora atual no terminal. Eu principalmente inicio o meu sistema no modo de texto (console) e preciso do comando para saber a data / hora atual.

    
por Sharad Gautam 09.06.2015 / 14:56

8 respostas

128

O comando date mostrará a data e a hora.

man date mostrará como controlar a saída para qualquer formato que você precise, se você quiser algo diferente da saída padrão. Por exemplo:

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

mostrará a data e a hora no formato 14:09:22 09/06/2015

Uma versão mais fácil de ler da página man pode ser encontrada em Páginas do Ubuntu Man

    
por Carl H 09.06.2015 / 15:00
17

Hora como o prompt da linha de comando:

PS1="\@ \w$bk"

Parece que: 11:41 AM ~

Um pouco mais chique, entre colchetes:

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

Parece que: [11:36 AM ~]

Adicione o usuário e o host local com a hora, tudo entre colchetes:

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

Parece: [DrPete em LittleSorrel 10:34 ~]

Redefinir prompt para o padrão #: PS1="# "

Para disponibilizar o prompt permanentemente , adicione a linha de prompt de sua escolha, por exemplo,

export PS1="\@ \w$bk "

para ~ / .profile.

Não é possível ajudar, estamos rolando agora ... adicione cores, defina-as em .profile para facilitar a configuração:

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

Em seguida, um prompt colorido superfancy seria:

PS1="[ $txtYellow\u on $txtCyan\h $txtRed\@ $txtWhite\w$bk ]"
    
por drPete 09.06.2015 / 17:40
13

Há uma lista de comandos usados para hora e data:

  1. O comando date

    $ date 
    Tue Jun  9 18:04:30 EEST 2015
    
  2. O comando zdump costumava ecoar a hora em um fuso horário especificado.

    $ 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. relógio, mas precisa instalar xview-clients

    sudo apt-get install xview-clients
    
  5. usando o comando ntpdate . ntpdate é usado para definir a hora do sistema, mas usar sem sudo apenas imprimirá a hora e a data.

    $ ntpdate
    
    26 Jun 10:48:34 ntpdate[4748]: no servers can be used, exiting
    
por Maythux 09.06.2015 / 17:07
8

Com o Ubuntu 15.04 (systemd), há também timedatectl , que mostra o tempo e permite que você o altere e muito mais em man timedatectl .

Sem argumentos, é fornecido

% timedatectl
Warning: Ignoring the TZ variable. Reading the system's time zone setting only.

      Local time: ke 2015-06-10 10:31:59 EEST
  Universal time: ke 2015-06-10 07:31:59 UTC
        RTC time: ke 2015-06-10 07:31:59
       Time zone: Europe/Helsinki (EEST, +0300)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: yes
 Last DST change: DST began at
                  su 2015-03-29 02:59:59 EET
                  su 2015-03-29 04:00:00 EEST
 Next DST change: DST ends (the clock jumps one hour backwards) at
                  su 2015-10-25 03:59:59 EEST
                  su 2015-10-25 03:00:00 EET

E outro recurso interessante que usei é o timedatectl set-ntp true , que ativa systemd-timesyncd , que é um cliente SNTP (Simple Network Time Protocol) embutido, que sincroniza seu relógio com o servidor remoto.

    
por Mikaela 10.06.2015 / 09:35
7

Apesar de todas as respostas aqui estarem corretas, você precisa usar o comando date manualmente para ver a hora sempre que quiser, e a saída irá se misturar com a saída normal do seu comando. Isto é principalmente ok, mas às vezes não é prático.

Você pode adicionar o comando date ao seu prompt , que mostrará um (fixo ) clock toda vez que o shell estiver pronto para o comando, ou você pode usar um dos multiplexadores de terminal que possuem uma linha de status. Meu preferido (embora eu admita o mais antigo) é a tela GNU.

No console ou em um terminal, digamos via ssh , se você usar a tela , entre zilhões de diferentes < Coisas que você pode fazer (Eu costumava pensar sobre screen como inevitável para trabalhando quando eu tinha apenas um terminal de texto) você tem a opção --- que é normalmente na configuração padrão --- de ter um relógio na linha de status:

(A captura de tela está em um terminal virtual, mas é o mesmo em um console virtual).

    
por Rmano 09.06.2015 / 17:50
4

Também irá mostrar a data e a hora:

sudo hwclock

Mais detalhado:

man hwclock
    
por JoKeR 09.06.2015 / 16:38
1

Não houve menção de python, por isso vou lançá-lo aqui:

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

A maneira como funciona é bem simples:

  • importamos time module
  • A função localtime() fornece o tipo de dados struct com todas as informações necessárias, como hora do dia, dia, ano, etc.
  • asctime() converte toda essa informação para string, e nós a imprimimos bem formatada

Funciona tanto no python 2 quanto no 3.

    
por Sergiy Kolodyazhnyy 30.11.2016 / 04:25
0

Se você está procurando por algo como YYYYMMDDHHMMSS , 20160804020100 use este:

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

ele serve para a maioria dos propósitos, como backup de arquivos ou filtragem de log.

    
por computingfreak 30.11.2016 / 04:17