Como posso obter a data / hora atual no terminal. Principalmente inicio o sistema no modo de texto (console) e preciso do comando para saber a data / hora atual.
Como posso obter a data / hora atual no terminal. Principalmente inicio o sistema no modo de texto (console) e preciso do comando para saber a data / hora atual.
Respostas:
O datecomando mostrará a data e a hora.
man datemostrará como controlar a saída para o formato que você precisar, se desejar algo diferente da saída padrão. Por exemplo:
date "+%H:%M:%S %d/%m/%y"
produzirá a data e a hora no formato 14:09:22 09/06/2015
Uma versão mais fácil de ler da página de manual pode ser encontrada nas Man Pages do Ubuntu
Hora como o prompt da linha de comandos:
PS1="\@ \w$bk"
Parece: 11:41 AM ~
Um pouco mais chique, entre parênteses:
PS1="[ \@ \w$bk ]"
Parece: [11:36 ~]
Adicione o usuário e o host local com a hora, tudo entre colchetes:
PS1="[ \u on \h \@ \w$bk ]"
Parece que: [DrPete em LittleSorrel 10:34 ~]
Redefina o prompt para o padrão #: PS1="# "
Para disponibilizar permanentemente o prompt , adicione a linha de prompt de sua escolha, ou seja,
export PS1="\@ \w$bk "
para ~ / .profile.
Não podemos evitar, estamos rolando agora ... adicione cores, defina-as em .profile para facilitar a configuração:
# 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
Em seguida, um prompt colorido de superfancy seria:
PS1="[ $txtYellow\u on $txtCyan\h $txtRed\@ $txtWhite\w$bk ]"
Há uma lista de comandos usados para hora e data:
O comando date
$ date
Tue Jun 9 18:04:30 EEST 2015
O comando zdumpusado para ecoar a hora em um fuso horário especificado.
$ zdump EEST
EEST Tue Jun 9 15:05:17 2015 EEST
hwclock
$ sudo hwclock
Tue 09 Jun 2015 06:05:55 PM EEST -0.656710 seconds
relógio, mas precisa instalar xview-clients
sudo apt-get install xview-clients
usando o ntpdatecomando ntpdateé usado para definir a hora do sistema, mas usar sem sudoimprimirá apenas a hora e a data.
$ ntpdate
26 Jun 10:48:34 ntpdate[4748]: no servers can be used, exiting
Com o Ubuntu 15.04 (systemd), há também o timedatectlque mostra a hora e permite que você mude e muito mais man timedatectl.
Sem argumentos, dá
% timedatectl
Aviso: Ignorando a variável TZ. Lendo apenas a configuração de fuso horário do sistema.
Hora local: ke 2015-06-10 10:31:59 EEST
Horário universal: ke 2015-06-10 07:31:59 UTC
Tempo RTC: ke 2015-06-10 07:31:59
Fuso horário: Europe / Helsinki (EEST, +0300)
NTP ativado: sim
NTP sincronizado: sim
RTC na TZ local: não
Horário de verão ativo: sim
Última alteração do horário de verão: o horário de verão começou às
su 2015-03-29 02:59:59 EET
su 2015-03-29 04:00:00 EEST
Próxima alteração do horário de verão: o horário de verão termina (o relógio avança uma hora para trás) às
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 trueque ativa o systemd-timesyncdcliente SNTP (Simple Network Time Protocol) embutido que sincroniza seu relógio com o servidor remoto.
$ timedatectlfunciona bem aqui no Ubuntu 14.04 também.
Embora todas as respostas aqui estejam corretas, você precisa usar o datecomando manualmente para ver a hora sempre que quiser, e a saída será combinada com a saída normal do seu comando. Isso é bom, mas às vezes não é prático.
Você pode adicionar o comando date ao seu prompt, que mostrará um relógio (fixo) 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. O 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 coisas diferentes que você pode fazer (eu costumava considerar screeninevitável trabalhar quando 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 é a mesma em um console virtual).
Também exibirá a data e hora:
sudo hwclock
Mais detalhado:
man hwclock
Não houve menção de python, então eu vou jogá-lo aqui:
$ python -c 'import time;print(time.asctime(time.localtime()))'
Tue Nov 29 20:25:27 2016
O modo como funciona é bastante simples:
timemódulolocaltime()A função fornece ao structtipo de dados todas as informações necessárias, como hora do dia, dia, ano, etc.asctime() converte todas essas informações em string e as imprimimos de maneira bem formatada Funciona em python 2 e 3 da mesma forma.
se você estiver procurando algo como AAAAMMDDHHMMSS , 20160804020100, use este:
date +%Y%m%d%H%M%S
ele serve para a maioria dos propósitos, como backup de arquivo ou filtragem de log.
Se você não tiver certeza da precisão do relógio do sistema, ou quiser usar uma fonte de tempo externa, poderá obter o horário pela Internet. Para obter melhor precisão, você pode usar sntp(instalado por padrão no MacOS e vem como parte das distribuições ntp) para obter a data:
sntp pool.ntp.org
Se você tiver apenas acesso da Web à Internet, poderá obtê-lo por HTTP usando HTP, disponível em muitos sistemas, pois htpdatenormalmente só tem precisão para o segundo mais próximo, ou você pode acessá-lo usando TLS (que extrai o registro de data e hora do TLS troca), tlsdateque pode fornecer uma melhor precisão:
tlsdate -nV ntp.org
man date