9 практических примеров команды даты в Linux

9 практических примеров команды даты в Linux

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





Когда вы пишете сценарий в Bash, вам неизбежно придется печатать дату или время, и эта дата или время часто должны быть в определенном формате для удовлетворения требований других функций. Вот тогда и вступает в игру команда даты.





Как вы увидите, команда date в Linux одновременно проста и универсальна, что означает, что она принимает все виды ввода и генерирует даты во множестве форматов. Он также имеет другие специальные функции для различных вычислительных задач, связанных со временем. Параметры и синтаксис Learning date определенно сделают вас более опытными в написании сценариев и, возможно, более пунктуальными.





Базовый синтаксис команды даты

Базовый синтаксис команды даты следующий:

date [OPTION]... [+FORMAT]

Это означает, что после ввода Дата , вы можете ввести вариант, например -d или -s , чтобы вызвать конкретную функцию, которую мы объясним ниже.



Вы также можете дополнить их строками форматирования, которые всегда начинаются с символа + персонаж. Эти строки принимают определенные символы форматирования, также перечисленные ниже, для определения вывода.

Linux date Command Практические примеры

Команду date можно использовать несколькими способами. Давайте рассмотрим наиболее распространенные и полезные варианты использования того же.





1. Получите текущую дату и время.

Вы можете получить текущую местную дату и время в формате по умолчанию, передав команду date отдельно.

$ date
Mon 19 Apr 2021 12:41:17 PM CDT

Как видите, date дает вам актуальную информацию о дате и времени в простом и предсказуемом формате.





2. Определите дату в прошлом или будущем.

Скажем, в вашем скрипте вам нужно вычислить время и дату, которые пройдут ровно через неделю. Команда date поможет вам. Выполните эту команду, используя -d возможность получить подробную информацию о будущих датах:

$ date -d 'next week'
Tue 27 Apr 2021 05:21:07 PM CDT

В -d вариант, сокращенный от date, - вот где действительно сияет команда date. Он принимает множество настраиваемых строк даты; они могут быть техническими, например 20200315 , 15.03.20 , или читаемый как 15 марта 2020 г. . Но вы также можете использовать относительные термины, например завтра , вчера , в следующее воскресенье , и более. Поиграйте с ним и посмотрите, как date интерпретирует различные входные строки.

3. Отформатируйте дату

Вы могли заметить, что в предыдущих двух примерах дата по умолчанию имеет очень определенный формат времени. Так что, если он вам нужен в другом формате?

Вы можете отформатировать свой вывод аналогично команда printf . Например, вы можете распечатать текущий год с помощью этой команды:

не могу щелкнуть по панели задач Windows 10
date +'Year: %Y'

В + сигнализирует, что вам нужна отформатированная строка, и все, что появляется после этого внутри Цитировать метки, дата будет обработана и отформатирована для вывода.

Вот список символов форматирования, которые вы, скорее всего, будете использовать:

Форматирование символаВыход
%ЧАСЧас (00-24)
Час (01-12)
% MМинуты (00-59)
% SВторой (00-60)
%пДо или после полудня
Полное название дня недели (например, воскресенье)
Сокращенное название дня недели (например, вс)
Номер дня недели (0-6)
% dДень месяца (01-31)
% jДень года (001-366)
% BПолное название месяца (например, январь)
% bСокращенное название месяца (например, январь)
% mНомер месяца (01-12)

Вы можете получить полный список символов форматирования, используя --помощь вариант в терминале.

date --help

4. Определите день недели

Одним из очень распространенных и практичных способов использования форматирования даты является получение дня недели для любой заданной даты. Например, чтобы проверить, на какой день недели выпал 4 ноября 1995 г., введите команду, подобную этой:

$ date -d '1996-04-11' +'%A'
Friday

В -d указывает, что вы хотите конкретную дату, '1996-04-11' строка указывает, какую дату вы хотите, а + '% A' форматирование указывает, что вы хотите указать день недели на выходе. Помните, что строка даты может быть в разных форматах, а не только в указанном здесь.

5. Получите всемирное координированное время

Выпуская -u флаг, вы можете получить текущее время в формате всемирного координированного времени (UTC).

$ date -u
Wed 21 Apr 2021 12:46:59 PM UTC

6. Выведите местное время в другом часовом поясе.

Если вам нужно получить дату в любом другом часовом поясе, вы можете сделать это, установив TZ = переменная среды перед командой даты.

Например, вы можете увидеть текущую дату и время в Mountain Standard Time (MST) с помощью следующей команды:

$ TZ=MST date
Tue 20 Apr 2021 03:45:29 PM MST

Для ваших целей просто замените MST с инициалами любого часового пояса, который вы предпочитаете. Вы также можете использовать нотацию UTC. Например, чтобы получить тот же часовой пояс, замените MST с участием UTC + 7 .

Кроме того, вы можете назвать континент и крупный город, чтобы узнать время по местному времени этого конкретного города. Например:

$ TZ=America/Phoenix date
Tue 20 Apr 2021 03:45:29 PM MST

7. Получите время последнего изменения файла

Например, если вы создаете резервные копии, вам часто нужно получить дату последнего изменения файла. Вы можете сделать это, передав вариант и присвоение имени файлу.

$ date -r /etc/shadow
Wed 14 Apr 2021 07:53:02 AM CDT

Вы можете изменить временные метки файла, используя сенсорная команда в Linux также.

8. Вывод и преобразование времени эпохи

Вы можете рассчитать количество секунд с момента эпоха Unix с помощью следующей команды:

$ date +%s
1618955631

Вы также можете обратить процесс и преобразовать время Unix в удобочитаемый формат с помощью -d вариант и @ персонаж.

$ date -d @1618955631
Tue 20 Apr 2021 04:53:51 PM CDT

Вычисление времени Unix полезно, если вам нужна точная секунда, которая определенно обеспечит синхронизацию других устройств.

9. Временно установите системное время.

Вы можете изменить системные часы из терминала с помощью команды date, передав -s аргумент, за которым следует время, которое вы хотите. Например, вы можете установить системные часы на 24 часа в будущем с помощью следующей команды:

date -s 'tomorrow'

Обратите внимание, что для передачи этой команды вам потребуются привилегии sudo. Кроме того, изменение, вероятно, не будет постоянным (это означает, что ваши часы вернутся к предыдущему времени после перезагрузки), потому что большинство дистрибутивов используют другие утилиты для управления вашими системными часами, которые отменяют изменение при загрузке.

Объяснение команды даты в Linux

Как и в жизни, в Linux невозможно уйти от времени. Вот почему так важно понимать, как его форматировать и использовать с помощью команды date. Одна вещь, с которой вы обязательно столкнетесь при управлении файлами Linux, - это различные временные метки, которые файлы несут с собой.

Делиться Делиться Твитнуть Эл. адрес Понимание временных меток файлов Linux: mtime, ctime и atime

Хотите узнать больше о том, как Linux отслеживает изменения в файле? Вот что вам нужно знать о временных метках файлов Linux.

как автоматически пересылать текстовые сообщения
Читать далее Похожие темы
  • Linux
  • Команды Linux
Об авторе Джордан Глор(Опубликована 51 статья)

Джордан - штатный писатель в MUO, который страстно желает сделать Linux доступным и беззаботным для всех. Он также пишет руководства по конфиденциальности и производительности.

Ещё от Jordan Gloor

Подписывайтесь на нашу новостную рассылку

Подпишитесь на нашу рассылку технических советов, обзоров, бесплатных электронных книг и эксклюзивных предложений!

Нажмите здесь, чтобы подписаться
Категория Linux