Как узнать текущую дату / время в терминале. Я в основном запускаю свою систему в текстовом (консольном) режиме и мне нужна команда, чтобы узнать текущую дату / время.
Как узнать текущую дату / время в терминале. Я в основном запускаю свою систему в текстовом (консольном) режиме и мне нужна команда, чтобы узнать текущую дату / время.
Ответы:
Команда date
покажет вам дату и время.
man date
покажет вам, как управлять выводом в любом формате, который вам нужен, если вы хотите что-то отличное от стандартного вывода. Например:
date "+%H:%M:%S %d/%m/%y"
выведет дату и время в формате 14:09:22 09/06/2015
Более легкую для чтения версию справочной страницы можно найти на справочных страницах Ubuntu.
Время в командной строке:
PS1="\@ \w$bk"
Похоже: 11:41 утра ~
Немного любитель, заключенный в скобки:
PS1="[ \@ \w$bk ]"
Похоже: [11:36 утра ~]
Добавьте пользователя и localhost со временем, все в скобках:
PS1="[ \u on \h \@ \w$bk ]"
Похоже: [DrPete на LittleSorrel 10:34 утра ~]
Сбросить приглашение по умолчанию #: PS1="# "
Чтобы сделать подсказку доступной постоянно , добавьте строку подсказки по вашему выбору, т.е.
export PS1="\@ \w$bk "
в ~ / .профиль.
Ничего не поделаешь, сейчас мы катимся ... добавляем цвета, определяем их в .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 ]"
Вот список команд, используемых для времени и даты:
Команда date
$ date
Tue Jun 9 18:04:30 EEST 2015
Команда, zdump
используемая для отображения времени в указанном часовом поясе.
$ 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
часы, но нужно установить клиенты xview
sudo apt-get install xview-clients
используя ntpdate
команду. ntpdate
используется для установки системного времени, но использование без sudo
будет просто печатать время и дату.
$ ntpdate
26 Jun 10:48:34 ntpdate[4748]: no servers can be used, exiting
В Ubuntu 15.04 (systemd) также есть время, timedatectl
которое показывает вам время и позволяет вам изменять его и многое другое man timedatectl
.
Без аргументов это дает
% timedatectl Предупреждение: игнорирование переменной TZ. Чтение только настроек часового пояса системы. Местное время: ke 2015-06-10 10:31:59 EEST Всемирное время: ке 2015-06-10 07:31:59 UTC Время RTC: ke 2015-06-10 07:31:59 Часовой пояс: Европа / Хельсинки (EEST, +0300) NTP включен: да NTP синхронизирован: да RTC в местном TZ: нет Летнее время активно: да Последнее изменение летнего времени: летнее время началось с су 2015-03-29 02:59:59 EET su 2015-03-29 04:00:00 EEST Следующее изменение летнего времени: летнее время заканчивается (часы переходят на один час назад) в су 2015-10-25 03:59:59 EEST su 2015-10-25 03:00:00 EET
И еще одна приятная функция, которую я использовал, - timedatectl set-ntp true
активация systemd-timesyncd
встроенного клиента SNTP (Simple Network Time Protocol), который синхронизирует ваши часы с удаленным сервером.
$ timedatectl
отлично работает здесь и на Ubuntu 14.04.
Хотя все ответы здесь верны, вам нужно использовать date
команду вручную, чтобы увидеть время, когда вы захотите, и результат будет смешан с обычным выводом вашей команды. В основном это нормально, но иногда это не практично.
Вы можете добавить команду date в вашу подсказку, которая будет показывать (фиксированные) часы каждый раз, когда оболочка готова к команде, или вы можете использовать один из терминальных мультиплексоров, которые имеют строку состояния. Мой любимый (хотя я допускаю самый старый) экран GNU.
В консоли или в терминале, скажем, через ssh
, если вы используете экран , среди множества различных вещей, которые вы можете сделать (я привык думать, screen
что это неизбежно для работы, когда у меня был только текстовый терминал), у вас есть опция --- которая обычно в конфигурации по умолчанию --- наличие часов в строке состояния:
(Снимок экрана показан на виртуальном терминале, но на виртуальной консоли он такой же).
Также будет выводить дату и время:
sudo hwclock
Более подробный:
man hwclock
Там не было никакого упоминания о Python, поэтому я выкину его здесь:
$ python -c 'import time;print(time.asctime(time.localtime()))'
Tue Nov 29 20:25:27 2016
Как это работает, довольно просто:
time
модульlocaltime()
Функция предоставляет struct
тип данных со всей необходимой информацией, такой как время суток, день, год и т. д.asctime()
преобразует всю эту информацию в строку, и мы распечатываем ее в хорошо отформатированном виде Работает в Python 2 и 3 одинаково.
если вы ищете что-то вроде YYYYMMDDHHMMSS , 20160804020100 используйте это:
date +%Y%m%d%H%M%S
он обслуживает большинство целей, таких как резервное копирование файлов или фильтрация журналов.
Если вы не уверены в точности часов вашей системы или хотите использовать внешний источник времени, вы можете получить время через Интернет. Для лучшей точности вы можете использовать sntp
(установлен по умолчанию на MacOS и входит в состав дистрибутивов ntp), чтобы получить дату:
sntp pool.ntp.org
Если у вас есть только веб-доступ к Интернету, его можно получить по HTTP с использованием HTP, который доступен во многих системах, htpdate
который обычно имеет точность только с точностью до секунды, или вы можете получить к нему доступ с помощью TLS (который извлекает временную метку из TLS). обмен), tlsdate
который может обеспечить лучшую точность:
tlsdate -nV ntp.org
man date