- How can I get the current date and time in the terminal and set a custom command in the terminal for it? [closed]
- Команда date в Linux
- Синтаксис
- Опции
- Параметры формата
- Использование команды date в Linux
- Текущее системное время и дата
- Заданное время и дата
- Установка или изменение даты
- Вывод прошлых дат
- Вывод будущих дат
- Переопределение часового пояса
- Использование date вместе с другими командами
- Выводы
- Вывод даты и времени в Linux
- Синтаксис
- Отображение даты и времени в Linux с помощью команды timedatectl
- Переменная среды TZ
- Инструмент с графическим интерфейсом: Администрирование времени
- Как изменить настройки даты и времени в рабочем столе Linux на базе Gnome
- Заключение
How can I get the current date and time in the terminal and set a custom command in the terminal for it? [closed]
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
I have to check the time in a Linux terminal. What is the command for getting date and time in a Linux terminal? Is there a way in which we can set a custom function?
This question seems on topic as it relates to a specific computing task on a specific operating system (which is just a software layer itself). As, @drstevens said, this is the first result in Google and it was informative for me needs. If it were off-topic, it would read something like «Do operating systems tell time?» or «What do you guys think about operating systems that tell time.» Stack Overflow is a great resource for beginners and it seems like this was closed as for being too beginner of a question. It should instead just be listed as a beginner question.
StackExchange is the place for answers. This is a good question. Perhaps the question should be migrated, but it should not be closed, in my opinion. This question appeared first in my Google results when I searched for «linux check time».
Команда date в Linux
В Linux команда date отображает и устанавливает системную дату и время, позволяет выводить время в различных форматах и вычислять будущие и прошлые даты.
Синтаксис
Опции
-d, —date=СТРОКА Показать не текущее время, а время, описанное заданной СТРОКОЙ —debug Описывать разбираемую дату и предупреждать о сомнительном использовании в stderr -f, —file=ФАЙЛ Как —date для каждой строки из ФАЙЛА -I[ФОРМ_ВРЕМЕНИ], —iso-8601[=ФОРМ_ВРЕМЕНИ] Вывод даты/времени в формате ISO 8601. Только дату, если ФОРМ_ВРЕМЕНИ=»date»» (по умолчанию), «hours», «minutes», «seconds» или «ns» для получения даты и времени с нужной точностью. Пример: 2006-08-14T02:34:56-06:00 —resolution Вывести доступное разрешение временных меток Пример: 0.000000001 -R, —rfc-email Выводить дату и время в соответствии с RFC-2822. Пример: Mon, 14 Aug 2006 02:34:56 -0600 —rfc-3339=СПЕЦ Вывести дату/время в формате RFC 3339 СПЕЦ=»date», «seconds» или «ns» для получения даты и времени с указанной точностью. Пример: 2006-08-14 02:34:56-06:00 -r, —reference=ФАЙЛ Показать время последнего изменения ФАЙЛА -s, —set=СТРОКА Установить время, описанное СТРОКОЙ -u, —utc, —universal Показать или установить универсальное координированное время (UTC)
Параметры формата
Воспринимаются следующие последовательности:
%% Знак % %a Сокращённое название дня недели (напр., вск) согласно локали %A Полное название дня недели (напр., понедельник) согласно локали %b Сокращённое название месяца (напр., янв) согласно локали %B Полное название месяца (напр., январь) согласно локали %c Время и дата (напр., Чтв 3 Мар 23:05:25 2005) согласно локали %C Век; как %Y, но не указываются две последние цифры (напр., 20) %d День месяца (напр., 01) %D Дата; аналогично %m/%d/%y %e День месяца, дополненный пробелами; аналогично %_d %F Полная дата; эквивалентно %+4Y-%m-%d %g Последние две цифры года для номера недели ISO (см. %G) %G Год для номера недели ISO (см. %V); обычно бывает полезно только с %V %h То же, что и %b %H Час (00..23) %I Час (01..12) %j Номер дня в году (001..366) %k Час, дополняется пробелом ( 0..23); то же, что и %_H %l Час, дополняется пробелом ( 1..12); то же, что и %_I %m Месяц (01..12) %M Минуты (00..59) %n Новая строка %N Наносекунды (000000000..999999999) %p Эквивалент AM или PM согласно локали; пусто, если неизвестно %P Как %p, но строчными буквами %q Квартал года (1..4) %r Время согласно локали, 12-часовой формат (напр., 11:11:04 PM) %R Часы и минуты согласно локали, 24-часовой формат; аналог %H:%M %s Число секунд с начала эпохи (1970-01-01 00:00:00 UTC) %S Секунда (00..60) %t Табуляция %T Время, аналог %H:%M:%S %u День недели (1..7); 1 обозначает понедельник %U Номер недели в году, если первый день недели — воскресенье (00..53) %V Номер недели по ISO, если первый день недели — понедельник (01..52) %w День недели (0..6), 0 означает воскресенье %W Номер недели в году, если первый день недели — понедельник (00..53) %x Представление даты (напр., дд/мм/гг) согласно локали %X Представление времени (напр., 23:13:48) согласно локали %y Последние две цифры года (00..99) %Y Год %z +ччмм часового пояса (напр., -0400) %:z +чч:мм часового пояса (напр., -04:00) %::z +чч:мм:сс часового пояса (напр., -04:00:00) %. z Часовой пояс с достаточным количеством двоеточий (напр., -04, +05:30) %Z Буквенная аббревиатура часового пояса (напр., EDT)
По умолчанию команда date дополняет числовые поля нулями. После % могут идти следующие необязательные флаги:
— (дефис) не дополнять это поле _ (подчёркивание) дополнять пробелами 0 (нуль) дополнять нулями + дополнять нулями и помещать «+» перед будущими годами >4 цифр ^ использовать верхний регистр, если возможно # использовать противоположный регистр, если возможно
После любого из флагов идет необязательная ширина поля в виде десятичного числа, затем необязательный модификатор, один из следующих:
E Если возможно, использовать альтернативное представление для текущей локали O Если возможно, использовать альтернативные числовые символы локали
Использование команды date в Linux
Текущее системное время и дата
Для того чтобы показать текущее системное время и дату, введите команду date без опций:
oleg@mobile:~:$ date Вс 06 ноя 2022 13:38:12 EET oleg@mobile:~:$
В выходных данных отображены день недели, день месяца, месяц, год, текущее время и часовой пояс. По умолчанию команда date настроена на часовой пояс операционной системы.
Заданное время и дата
В данном случае используется опция -d :
oleg@mobile:~:$ date -d "2001-12-31 23:59:59"09:10:15" Пн 31 дек 2001 23:59:59 EET oleg@mobile:~:$
Эта команда конечно же не влияет на фактические значения даты и времени в системе и выводит лишь запрошенную дату и время.
Установка или изменение даты
Вы можете изменить системные часы вручную. Например, чтобы установить дату и время на 07:30 11 мая 1999 г., введите:
oleg@mobile:~:$ date --set="19991011 07:30"
При выполнении этой команды будьте осторожны, так как на многих дистрибутивах Linux системные часы синхронизируются с помощью служб ntp или systemd-timesyncd.
Вывод прошлых дат
Для отображения прошлых дат в Linux используйте опцию —date со следующими значениями: «tomorrow», «Friday», «last Friday», «next Friday», «next week» и подобными.
oleg@mobile:~:$ date --date="2 weeks ago" Вс 23 окт 2022 15:20:05 EEST oleg@mobile:~:$
oleg@mobile:~:$ date --date="yesterday" Сб 05 ноя 2022 14:21:45 EET oleg@mobile:~:$
oleg@mobile:~:$ date --date="3 hours ago" Вс 06 ноя 2022 11:22:33 EET oleg@mobile:~:$
Вывод будущих дат
oleg@mobile:~:$ date --date="3 day" Ср 09 ноя 2022 14:27:08 EET oleg@mobile:~:$
oleg@mobile:~:$ date --date="tomorrow" Пн 07 ноя 2022 14:25:57 EET oleg@mobile:~:$
Переопределение часового пояса
По умолчанию команда date использует часовой пояс, определенный в /etc/localtime . Для использования другого часового пояса установите переменную TZ в желаемый часовой пояс.
Можно, например, установить в системе нью-йоркское время:
oleg@mobile:~:$ TZ='America/New_York' date
Увидеть все доступные часовые пояса позволит следующая команда:
oleg@mobile:~:$ timedatectl list-timezones list-timezones Africa/Abidjan Africa/Accra Africa/Addis_Ababa Africa/Algiers Africa/Asmara Africa/Asmera Africa/Bamako Africa/Bangui Africa/Banjul Africa/Bissau Africa/Blantyre Africa/Brazzaville Africa/Bujumbura Africa/Cairo Africa/Casablanca Africa/Ceuta Africa/Conakry Africa/Dakar Africa/Dar_es_Salaam Africa/Djibouti Africa/Douala Africa/El_Aaiun Africa/Freetown Africa/Gaborone Africa/Harare Africa/Johannesburg Africa/Juba Africa/Kampala Africa/Khartoum Africa/Kigali Africa/Kinshasa Africa/Lagos Africa/Libreville Africa/Lome Africa/Luanda Africa/Lubumbashi Africa/Lusaka Africa/Malabo lines 1-38
Использование date вместе с другими командами
Вы можете использовать команду date для создания имен файлов, содержащих текущее время и дату.
В Linux команда date с успехом используется в скриптах. Я, например, использую её для автоматического создания резервных копий баз данных.
Содержимое моего файла linuxcookbookru_dump.sh :
oleg@mobile:~/www/backuplinode:$ cat linuxcookbookru_dump.sh #!/bin/bash date=%% cd /home/mensh/www/backup && \ mysqldump --opt -umensh -pPASSWORD \ linuxcookbookru > linuxcookbookru_linode_`date '+%Y%m%d'`.sql && \ tar cjvf linuxcookbookru_linode_`date '+%Y%m%d'`.sql.bz2 linuxcookbookru_linode_`date '+%Y%m%d'`.sql && \ rm linuxcookbookru_linode_`date '+%Y%m%d'`.sql
Выводы
В этой статье я изложил основные приёмы использования в Linux команды date . Теперь вы наверняка понимаете насколько полезна эта команда.
Вывод даты и времени в Linux
Для отображения текущей даты и времени в операционной системе Linux с помощью командной строки используйте команду date или команду timedatectl. Эти команды также могут отображать текущее время / дату в заданном ФОРМАТЕ. Мы также можем установить системную дату и время от имени пользователя root.
Синтаксис
Откройте приложение терминала и введите следующую команду:
Команда Date вернет следующий результат
Вы можете отформатировать дату следующим образом в формате dd-mm-yy:
Простое отображение текущего времени в Linux:
Чтобы вывести дату позавчерашнего дня, выполните:
Хотите узнать день года Рождества в текущем году? Попробуйте:
Выведите полное название текущего месяца и день месяца:
Получение текущего времени в секундах с момента наступления эпохи Linux
Отображение даты и времени в Linux с помощью команды timedatectl
В большинстве современных дистрибутивов Linux с системой systemd используется команда timedatectl. Она используется для запроса и изменения системных часов и их настроек, а также для включения или отключения служб синхронизации времени. Все, что вам нужно сделать, это ввести следующую команду:
Переменная среды TZ
Среда TZ сообщает Linux, в каком часовом поясе вы находитесь. Во многих случаях, когда вы хотите временно изменить часовой пояс. Например, вы можете захотеть вывести текущую дату и время в часовом поясе «America/Los_Angeles», хотя вы находитесь в «Europe/London». Чтобы установить TZ, при использовании TCSH/CSH выполните следующую команду:
TZ="America/Los_Angeles" date TZ="Asia/Tokyo" date
timedatectl list-timezones
timedatectl list-timezones | more
timedatectl list-timezones | grep -i Hong_kong
timedatectl list-timezones | grep -i paris
timedatectl list-timezones | grep -E -i 'paris|london|kolkata'
Инструмент с графическим интерфейсом: Администрирование времени
Инструмент администрирования времени позволяет вам установить время, дату и часовой пояс вашей системы, а также установить любой сервер времени для синхронизации вашего локального сервера времени. Введите следующую команду, чтобы запустить инструмент администрирования времени:
gnome-control-center datetime
Вам может быть предложено ввести пароль администратора (пароль root), это необходимо, так как изменения, сделанные с помощью этого инструмента, повлияют на всю систему.
Как изменить настройки даты и времени в рабочем столе Linux на базе Gnome
Во-первых, вам нужно Настройки в Деятельности, а затем нажмите Детали в боковой панели. Обязательно нажмите Дата и время в боковой панели, чтобы открыть панель:
Заключение
В этом кратком руководстве вы узнали о команде date, которую можно использовать для просмотра или изменения даты/времени в операционных системах Linux. Далее мы объяснили, как использовать инструменты графического интерфейса. Команда date имеет множество дополнительных опций. Посмотрите страницу man, набрав следующую команду man:
man date man bash man ksh man timedatectl