Встречайте команду даты в 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
Джордан - штатный писатель в MUO, который страстно желает сделать Linux доступным и беззаботным для всех. Он также пишет руководства по конфиденциальности и производительности.
Ещё от Jordan GloorПодписывайтесь на нашу новостную рассылку
Подпишитесь на нашу рассылку технических советов, обзоров, бесплатных электронных книг и эксклюзивных предложений!
Нажмите здесь, чтобы подписаться