Command linux get time

Как узнать текущее время Linux

Иногда знание текущего времени на компьютере играет большую роль, например, при отслеживании выполнения тех или иных процессов. И далеко не всегда нужную информацию можно посмотреть через системный интерфейс Linux. Поэтому существуют различные команды для терминала.

В данной статье мы расскажем про то, как узнать текущее время Linux. Заодно упомянем тему часовых поясов и синхронизацию с серверами времени.

Текущее время Linux

В системе Linux есть три удобных утилиты для определения точного времени. Наиболее продвинутой из них можно назвать date. Но и остальные имеют свои особенности.

С помощью date

Чтобы получить общую информацию, выполните команду:

Сначала выводится дата (день-число-месяц-год), время в 12-часовом формате с пометками AM (до полудня) и PM (после полудня) и часовой пояс. Информацию можно вывести в мировом UTC-формате:

Кроме того, для команды date можно самостоятельно задать форматирование вывода. Рассмотрим это на нескольких примерах с пояснениями. Первый вариант – вывод даты в привычном виде (день.месяц.год):

Форматирование задается после знака +. Первый символ после знака % интерпретируется как один из модификаторов. А остальные символы выводятся как обычный текст. Этим можно пользоваться:

date +’Какой сегодня день? Сегодня %e число %m месяца %Y года’

Еще один пример – вывод даты в кратком виде и времени в 24-часовом формате:

Ну и не совсем стандартный вариант – вывести, какой это по счету день в году, и сам год:

date +’Сегодня %j день %Y года’

А если вы хотите поподробнее разобраться в команде date, то ознакомьтесь с данной статьей. В ней детально описан синтаксис, опции, форматирование вывода и конкретные примеры использования. А мы переходим к следующему способу.

2. С помощью hwclock

Вообще утилита hwclock используется для настройки даты и времени в системе Linux. Но еще она подходит для простого вывода этой информации. Запускать ее следует с правами супер-пользователя:

Обратите внимание на формат вывода времени. Он включает в себя еще и миллисекунды. И через дефис указывается часовой пояс. По умолчанию это UTC. Ну а для вывода локального времени нужно добавить к команде опцию —localtime:

sudo hwclock —localtime

3. С помощью timedatectl

Еще один вариант просмотра текущего времени – использование утилиты timedatectl. Достаточно ввести команду в терминале:

Помимо даты и времени, здесь есть следующие интересующие нас поля:

  • Time zone – часовой пояс.
  • System clock synchronized – синхронизация часов с сервером.
  • NTP service – подключение к серверу точного времени.

Выводы

Каждый из упомянутых в статье способов Как узнать текущее время Linux имеет свои особенности. Для утилиты date можно детально настроить форматирование вывода. hwclock подходит для беглого просмотра информации, ведь в основном используется для настройки. А через timedatectl получится узнать еще и статус синхронизации часов.

Источник

3 ways to get time in Linux

There are a few different ways to check the time on your Linux machine. The first way is to use the date command. This command displays the current date and time in human-readable format.

The second way is to use the timedatectl command. This command allows you to view and change the system time and date settings.

The third way is to use the hwclock command. This command shows or sets hardware clock information on Linux systems.

The procedure to get time in Linux is as follows:

  • Open the terminal.
  • Type date or timedatectl command
  • Press Enter to run the command.
  • The command output displays the time in human-readable format.
Читайте также:  Sqlite ссылка на другую таблицу

Get time with date command in Linux

To get time in Linux, you can use the date command. This command can be used to display or change the system time and date. To format the date command’s output, you can use control characters preceded by a + sign.

The output will look something like this: Tue Jan 22 23:59:59 EST 2020

To format the date command’s output, you can use control characters preceded by a + sign. Format controls begin with the % symbol and are substituted by their current values.

Here, the %Y character is replaced with the current year,%m with month, and %d with the day of the month:

date +»Year: %Y, Month: %m, Day: %d»
Year: 2022, Month: 04, Day: 16

Here are more examples of time format.
Command: $date «+%D»
Output: 10/11/30
Command: $date «+%D %T»
Output: 10/11/30 16:13:27
Command: $date «+%Y-%m-%d»
Output: 2030-10-11
Command: $date «+%Y/%m/%d»
Output: 2030/10/11

The following are the date format options.
$date +%[format-option]
%D: Display date as mm/dd/yy.
%d: Display the day of the month (01 to 31).
%a: Displays the abbreviated name for weekdays (Sun to Sat).
%A: Displays full weekdays (Sunday to Saturday).
%h: Displays abbreviated month name (Jan to Dec).
%b: Displays abbreviated month name (Jan to Dec).
%B: Displays full month name(January to December).
%m: Displays the month of year (01 to 12).
%y: Displays last two digits of the year(00 to 99).
%Y: Display four-digit year.
%T: Display the time in 24 hour format as HH:MM:SS.
%H: Display the hour.
%M: Display the minute.
%S: Display the seconds.

Get time with timedatectl command in Linux

We can also use timedatectl command to get time in Linux. This command allows you to view and change the system time and date settings.

To use the timedatectl command, type “timedatectl” at the command prompt. This will display the current system time and date settings.

$ timedatectl
Local time: Sat 2022-04-16 13:06:00 GMT
Universal time: Sat 2022-04-16 13:06:00 UTZ
RTC time: Sat 2022-04-16 13:02:34
Time zone: GMT (GMT, +0000)
System clock synchronized: yes
NTP service: active
RTC in local TZ: yes

To change the system time, use the set-time option. For example, to set the system time to 12:00pm on January 22nd, 2030, you would type the following command:

timedatectl set-time «2030-01-22 12:00:00»

Find time with hwclock command in Linux

We can also check the time in Linux with the hwclock command. This command shows or sets hardware clock information on Linux systems.

The hardware clock is a clock that is set by the BIOS and is used to keep track of the time when the system is turned off. The system time is the time that is set by the operating system and is used when the system is turned on.

To use the hwclock command, type “hwclock” at the command prompt. This will display the current system time in hardware clock format.

To set the system time, use the –set option. For example, to set the system time to 12:00pm on January 22nd, 2019, you would type the following command:

hwclock —set —date «2030-01-22 12:00:00»

Understanding time in Linux

In Linux, time is measured in seconds since the Unix epoch. The Unix epoch is January 1, 1970 UTC. This means that the time on your Linux machine is always relative to this date.

Checking the time on your Linux machine is important for a number of reasons. For example, if you are running a cron job, you will want to make sure that the time is set correctly so that the job will run at the correct time.

Читайте также:  Hp laserjet pro mfp 177fw картридж

Additionally, if you are troubleshooting an issue on your machine, checking the time can be helpful in determining when the issue occurred.

Hey there! I am David, a Cloud & DevOps Enthusiast and 18 experience of Linux engineer. I work with AWS, Git & GitHub, Linux, Python, Ansible, and Bash. I am a technical blogger and a Software Engineer, enjoy sharing my learning and contributing to open-source.

Источник

Команда time в Linux

В некоторых случаях при работе с терминалом Linux нужно знать время выполнения тех или иных команд, например, для отслеживания проблем. Для этой задачи существует утилита time. Конкретно про нее и пойдет речь в нашей статье.

Мы расскажем, как работает команда time Linux и какой у неё синтаксис. Затем перейдем к описанию доступных опций. А в конце упомянем несколько популярных сценариев использования.

Синтаксис и опции time

Утилита запускает заданную пользователем команду и после этого выводит информацию о времени ее выполнения. У нее достаточно удобный синтаксис. Сначала нужно указать опции для time, затем – выполняемую команду, а в конце – аргументы к ней:

$ time опции команда_для_выполнения аргументы

Рассмотрим список доступных опций:

  • -o, —output – сохранять данные в выбранный файл вместо стандартного вывода в терминале. При этом старые данные в файле будут перезаписаны.
  • -a, —append – добавлять в файл новую информацию, а не перезаписывает старую. Опция полезна только в сочетании с -o.
  • -f, —format – выбрать определенный формат вывода. Подробности о форматировании описаны в следующем разделе статьи.
  • -p, —profitably – использовать формат вывода данных для соответствия со стандартом POSIX 1003.2.
  • -v, —verbose – выводить подробную информацию о выполнении программы.
  • -V, —version – вывести версию утилиты time.

В этом списке представлены только основные опции. Получить подробную информацию можно командой:

Опции форматирования вывода

По умолчанию time может выводить информацию в не комфортном для чтения виде.

По этой причине для нее желательно задавать опции форматирования вывода, о которых и пойдет сейчас речь. Всего их три штуки. В качестве примера для их рассмотрения возьмем команду apt-get update.

Опция -v используется для вывода подробной информации:

sudo time -v apt-get update

Опция -p нужна для вывода данных в формате, соответствующем стандарту POSIX 1003.2:

sudo time -p apt-get update

А с помощью опции -f или —format детально задается форматирование вывода. Этот момент стоит рассмотреть более детально.

Строка с данными о форматировании, как правило, включает в себя спецификаторы ресурсов и обычный текст. Знак % обозначает, что следующий после него символ следует воспринимать как спецификатор ресурсов.

С помощью знака \ задается разделительный символ. Есть три доступных варианта: \t – табуляция, \n – новая строка, \\ – обратная косая черта. Если после \ указать любой другой символ, то в терминале появится вопросительный знак (?), который говорит об ошибке ввода.

Остальной текст в строке формата полностью копируется в поле вывода. При этом time всегда начинает вывод данных с новой строки после информации о выполнении самой команды.

Рассмотрим доступные спецификаторы ресурсов:

  • % – литерал %. То есть для вывода знака процента нужно в команде указать %%.
  • С – имя команды и использованные аргументы.
  • D – средний размер неразделенной области данных. Отображается в килобайтах.
  • E – реальное время выполнения команды в привычном часовом формате. Выводится в виде [часы:]минуты:секунды.
  • N – количество мажорных ошибок или ошибок, связанных с вводом-выводом, возникших при выполнении процесса.
  • I – количество входов в файловую систему.
  • K – среднее значение задействованной памяти для кода (text), инициализированных данных (data) и стека (stack). Отображается в килобайтах.
  • M – максимальный размер резидентного множества во время выполнения процесса в килобайтах.
  • O – количество выходов из файловой системы.
  • P – процент загруженности CPU (центрального процессора).
  • R – количество минорных ошибок.
  • S – время в секундах, в течении которого CPU использовался системой от имени процесса в режиме супервизора (kernel mode).
  • U – время в секундах, в течении которого CPU использовался процессом напрямую в пользовательском режиме (user mode).
  • W – сколько раз процесс был выгружен из оперативной памяти.
  • Xтут не понял.
  • Z – размер системной страницы. Это значение – константа, но она различается между системами.
  • c – количество невольных переключений контекста при выполнении процесса.
  • e – реальное время выполнения команды в привычном часовом формате. Выводится в секундах.
  • k – количество сигналов, дошедших до процесса.
  • p – средний размер неразделенного стека процесса, в килобайтах.
  • r – количество полученных сокетных сообщений.
  • s – количество отправленных сокетных сообщений.
  • t – средний размер резидентного множества процесса, в килобайтах.
  • w – количество добровольных переключений контекста при выполнении процесса.
  • x – код возврата для команды.
Читайте также:  Как выглядит кнопка сканировать на принтере hp

Это были все спецификаторы ресурсов, использующиеся при выборе форматирования для time. Теперь перейдем к сценариям использования команды.

Как узнать время выполнения команды Linux

Мы рассмотрим три основных примера, которые довольно часто используются: вывод данных в терминал, вывод в отдельный файл и вывод с форматированием.

1. Вывод времени выполнения в терминал

В качестве примера мы возьмем команду sleep, которая делает паузу на указанное время. Это будет очень наглядный пример, ведь время паузы будет совпадать с временем выполнения команды в time:

Обратите внимание, что время записано сразу же в трех графах. Пройдемся по каждой из них:

  • real – общее время от начала выполнения процесса и до его завершения.
  • user – время, в течение которого процесс был задействован в режиме пользователя (user mode).
  • sys – время, в течение которого процесс был задействован в режиме супервизора (kernel mode).

Следующий полезный сценарий – вывод времени, в течение которого загрузится заголовок веб-страницы через утилиту curl. В качестве примера возьмем наш сайт:

time curl -I https://losst.pro

Еще хотелось бы упомянуть ситуацию, когда выполнение команды переводит окно терминала в другой режим, например, при запуске редактора nano для изменения файла /home/root-user/script.txt:

time nano /home/root-user/scripts/main_script.txt

После завершения работы редактора вы увидите общее время, в течение которого вы работали с файлом.

Теперь вы знаете как посмотреть время выполнения команды Linux.

2. Вывод в файл

Информацию о результатах работы команды time можно сохранить в отдельный файл с помощью опции -o. В таком случае в окне терминала они выводиться не будут. Возьмем для примера извлечение содержимого архива

/data/data.tar.gz с помощью утилиты tar. Информацию о времени выполнения сохраним в новом файле

/data/data_time.txt. Еще добавим к команде опцию -v, чтобы получить подробные сведения:

/data/data_time.txt tar -xvf

Файл получится следующего содержания.

При использовании опции -o следует помнить, что она перезаписывает старую информацию в выходном файле на новую. Это применимо при создании новых файлов, но для ведения логов не подходит. С помощью дополнительной опции -a перезапись содержимого заменяется на добавление новой информации:

sudo time -v -a -o

/data/data_time.txt tar -xvf

3. Вывод с форматированием

Исходный вариант форматирования данных подходит далеко не во всех случаях. В качестве примера мы возьмем ранее использованную команду для извлечения архива, но не станем сохранять данные в файл. При ее выполнении нам интересно:

  • Информация о самой команде и заданных опциях – это спецификатор %C.
  • Загруженность CPU – спецификатор %P.
  • Общее время выполнения в секундах – спецификатор %e.

Для комфортного восприятия каждый пункт будет выводиться в отдельной строке с помощью разделителя \n. При этом они все будут подписаны понятным образом.

Вот как выглядит итоговый вариант команды:

sudo time -f «Информация о команде:\n%C\nЗагруженность CPU: %P\nВремя выполнения: %e сек» tar -xvf

Обратите внимание, что весь текст, кроме символов после % и \, полностью отображается в терминале. Это удобный способ разметки

Выводы

В рамках данной статьи вы узнали как работает команда time Linux, которая следит за выполнением заданной команды и выдает подробную информацию о времени выполнения и т. д. Основная сложность при ее использовании – понимание опций для форматирования вывода. Но если в них разобраться, то больше никаких проблем не возникнет. Для вашего удобства мы упомянули конкретные примеры использования.

Источник

КомпСовет