Linux вывести файлы с датами

Содержание
  1. Как найти недавно модифицированные файлы в Linux
  2. Команда Date в Linux с примерами
  3. Linux Date Command with Examples
  4. В этом руководстве мы рассмотрим основы date команды.
  5. Использование Date
  6. Параметры форматирования даты
  7. Пользовательское форматирование даты
  8. Переопределить часовой пояс
  9. Конвертер эпох
  10. Использование date с другими командами
  11. Показать время последнего изменения файла
  12. Установите системное время и дату
  13. Вывод
  14. ⏲️ 8 примеров команды date на Linux
  15. Базовый синтаксиc
  16. 1) Команда date без параметров
  17. 2) Отображение даты и времени в формате UTC
  18. 3) Отображение определенной даты в строковом формате
  19. 4) Использование команды date, чтобы проверить прошлые даты
  20. 5) Использование команды date, чтобы проверить будущие даты
  21. 6) Параметры форматирования даты
  22. 7) Как установить дату и время
  23. 8) Использование команды Date в переменной
  24. Заключение
  25. Linux вывести файлы с датами
  26. Формат ввода даты и времени
  27. Формат вывода даты и времени
  28. Примеры использования
  29. Получение текущих даты и времени
  30. Добавление текущей даты в имена создаваемых файлов
  31. Установка текущих даты и времени
  32. Использование утилиты на удаленных системах

Как найти недавно модифицированные файлы в Linux

Зачастую требуется найти файлы, которые были модифицированы/созданы недавно, или за какой-либо промежуток времени. Например, администратор изменял настройки системы, но забыл, где он их сохранил. Или вы хотите проверить изменялись ли, и как, ваши файлы. Если вам необходимо найти недавно измененные файлы в linux, это можно сделать с помощью команды find.

Чтобы найти недавно модифицированные файлы, отсортированные в обратном порядке (то есть файл, измененный последним, будет показан первым), используется команда вида:

Вышеприведенная команда сортирует файлы в /etc (и поддиректориях) в обратном порядке по времени их изменения, и выводит отсортированный список вместе с их расположением в файловой системе и временем последнего изменения. Если вы также хотите проверить директории, опустите опцию «-type f».

Читайте также:  Как вывести крупный выигрыш с букмекерской конторы

Поиск файлов, которые были модифицированы в последние 60 минут в директории /target_directory и во всех ее поддиректориях:

Поиск файлов, которые были модифицированы в последние 2 дня в директории /target_directory и во всех ее поддиректориях:

Поиск файлов, которые были модифицированы в последние 2 дня в директории /target_directory и ее поддиректориях глубиной до 3 уровня:

Вы также можете задать диапазон времени модификации. Поиск файлов, которые были модифицированы в последние 7 дней, но не позднее чем 3 дня назад:

Все эти команды выводят только путь к найденным файлам. Вы можете также детализировать вывод информации с помощью опции «-exec».
Поиск файлов в директории /target_directory (и во всех ее поддиректориях), которые были модифицированы в последние 60 минут и вывод атрибутов файлов:

В качестве альтернативы вы можете использовать для этого команду xargs:

Обратите внимание, что эти команды найдут также файлы, созданные в заданный промежуток времени.

Источник

Команда Date в Linux с примерами

Linux Date Command with Examples

В этом руководстве мы рассмотрим основы date команды.

Команда date отображает или устанавливает системную дату. Чаще всего он используется для печати даты и времени в разных форматах и ​​для расчета будущих и прошлых дат.

Использование Date

Синтаксис date команды следующий:

Выходные данные включают день недели, месяц, день месяца, время, часовой пояс и год:

Параметры форматирования даты

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

Символ %Y будет заменен на год, %m месяц и %d день месяца:

Вот еще один пример:

Ниже приведен небольшой список некоторых наиболее распространенных символов форматирования:

  • %a — Сокращенное название дня недели (например, понедельник)
  • %A — Сокращенное полное название дня недели (например, понедельник)
  • %b — Сокращенное название месяца (например, январь).
  • %B — сокращенное длинное название месяца (например, январь)
  • %d — день месяца (например, 01)
  • %H — час (00..23)
  • %I — час (01.12.12)
  • %j — День года (001..366)
  • %m — Месяц (01.12.12)
  • %M — Минута (00..59)
  • %S — Второй (00 .. 60)
  • %u — день недели (1..7)
  • %Y — Полный год (например, 2019)

Чтобы получить полный список всех параметров форматирования, запустите date —help или man date в своем терминале.

Пользовательское форматирование даты

-d Опция позволяет работать на дату конкретного. Вы можете указать дату в виде удобочитаемой строки даты, как показано ниже:

Использование пользовательского форматирования:

Строка даты принимает значения, такие как «завтра», «пятница», «последняя пятница», «следующая пятница», «следующий месяц», «следующая неделя» .. и т. Д.

Вы также можете использовать параметр строки даты, чтобы показать местное время для разных часовых поясов. Например, чтобы показать местное время 6:30 утра следующего понедельника на восточном побережье Австралии, введите:

Переопределить часовой пояс

Команда date возвращает дату в системном часовом поясе по умолчанию . Чтобы использовать другой часовой пояс, установите переменную среды TZ в желаемый часовой пояс.

Например, чтобы показать время в Мельбурне, введите:

Чтобы получить список всех доступных часовых поясов , вы можете либо перечислить файлы в /usr/share/zoneinfo каталоге, либо использовать timedatectl list-timezones команду.

Конвертер эпох

date Команда может быть использована в качестве преобразователя Epoch. Время, или метки времени Unix, — это количество секунд, прошедших с 1 января 1970 года в 00:00:00 UTC.

Чтобы напечатать количество секунд от эпохи до текущего дня, вызовите date с %s контролем формата:

Чтобы преобразовать секунды с начала эпохи в дату, установите секунды в виде строки даты с префиксом @ :

Использование date с другими командами

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

Команда ниже создаст файл резервной копии Mysql в следующем формате database_name-20190601.sql

Вы также можете использовать date команду в своих сценариях оболочки. В приведенном ниже примере мы присваиваем выход date к date_now переменной:

Показать время последнего изменения файла

Команда date с -r параметром показывает время последнего изменения файла. Например:

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

Установите системное время и дату

Установка системного времени и даты вручную с помощью этой date команды не рекомендуется, поскольку в большинстве дистрибутивов Linux системные часы синхронизируются с ntp помощью systemd-timesyncd служб или .

Однако, если вы хотите установить системные часы вручную, вы можете использовать эту —set= опцию. Например, если вы хотите установить дату и время 17:30, 01 июня 2019 г., введите:

Вывод

Команда Linux date отображает или устанавливает системную дату и время.

Источник

⏲️ 8 примеров команды date на Linux

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

Базовый синтаксис команды date представлен ниже:

1) Команда date без параметров

2) Отображение даты и времени в формате UTC

Чтобы отобразить время в формате UTC (всемирное координированное время), ранее называвшееся GMT (среднее время по Гринвичу), добавьте параметр -u.

3) Отображение определенной даты в строковом формате

4) Использование команды date, чтобы проверить прошлые даты

Команда date также может выводить дату и время в прошлом относительно вашей текущей даты.

Например, чтобы проверить дату 9 дней назад, выполните команду.

5) Использование команды date, чтобы проверить будущие даты

Так же, как вы можете проверять прошлые даты, команда date также позволяет отображать будущие даты.

Например, чтобы узнать дату завтрашнего дня:

6) Параметры форматирования даты

  • %D – Отображение даты в формате мм / дд / гг
  • %Y – Год (например, 2021 г.)
  • %m – Месяц (01-12)
  • %B – Название месяца в формате полной строки (например, February)
  • %b –Название месяца в сокращенном строковом формате (например, Feb).
  • %d – День месяца (например, 01)
  • %j – День года (001-366)
  • %u – День недели (1-7)
  • %A –День недели в формате полной строки (например, Friday)
  • %a – День недели в сокращенном формате (например, Fri)
  • %H – Час (00-23)
  • %I – Час (01-12)
  • %M – Mинута (00-59)
  • %S – Секунда (00-60)

Синтаксис использования опции date довольно прост:

Чтобы вывести день недели, месяц, год и текущее время:

7) Как установить дату и время

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

Например, чтобы установить дату и время на 25 июня 2021 года в 11:15, выполните команду:

Такой способ установки даты и времени в системе не рекомендуется, поскольку время, скорее всего, будет неточным.

Лучший способ добиться этого – использовать утилиту chrony, которая является заменой устаревшего демона ntpd.

Фактически, современные системы, такие как CentOS 8/RHEL 8, не поддерживают NTP.

У нас есть подробное руководство о том, как синхронизировать время и дату с помощью chrony.

Если вы хотите изменить часовой пояс, используйте команду timedatectl, пример показан ниже.

8) Использование команды Date в переменной

Заключение

Мы надеемся, что пролили свет на использование команды date на Linux, и надеемся, что вы сможете использовать ее для отображения даты в системе и настройки вывода по своему усмотрению.

Источник

Linux вывести файлы с датами

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

Стандартный синтаксис команды выглядит следующим образом:

$ date [описание времени или формата вывода]

Формат ввода даты и времени

Для начала рассмотрим вопрос установки текущих даты и времени, так как данное действие выполняется достаточно просто (единственная сложность связана с запоминанием формата даты и времени). Вы можете самостоятельно выполнить команду man date для того, чтобы уточнить формат даты и времени, используемый в вашей системе. В большинстве случаев он является следующим:

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

Элемент записи Назначение
MM Месяц (от 01 до 12)
DD День (от 01 до 28, 29, 30 или 31 в зависимости от месяца)
hh Часы (от 00 до 24)
mm Минуты (от 00 до 59)
YY Две последние цифры года (от 00 до 99, не обязательно)
CC Век (от 00 до 99, используется вместе с предыдущим элементом, не обязательно)
.ss Секунды (от 00 до 59 с символом точки, не обязательно)

Как утилита вычисляет век? В UNIX-подобных операционных системах время хранится в формате числа секунд, прошедших с 1 января 1970 года в часовом поясе GMT (также известном, как UTC). Из-за того, что с этой даты прошло достаточно много времени, а для хранения количества секунд в 32-битных системах используется 4-байтовое целочисленное значение, в 2038 году на этих системах должен произойти переход счетчика секунд через нулевое значение. Ввиду того, что подсчитывается лишь количество секунд, век попросту не принимается во внимание. Таким образом, на 32-битных системах значения года от 00 до 38 соответствуют 2000-м годам, а значения года от 70 до 99 — 1900 годам. Фактически, на 32-битных системах команда date не позволяет установить год, не входящий в приведенные выше диапазоны. В 64-битных системах все проще: для подсчета времени используется 8-байтовое целочисленное значение, поэтому имеется огромный запас по времени (292 миллиарда лет), доступен полный диапазон годов от 00 до 99, а век вычисляется обычным образом по количеству прошедших секунд.

Для установки текущих даты и времени необходимы права пользователя root, иначе вы получите аналогичное сообщение об ошибке:

date: невозможно установить дату: Операция не позволена

Формат вывода даты и времени

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

Для форматирования текущих даты и времени в соответствии со своими предпочтениями пользователь должен передать утилите строку форматирования после символа +:

Строка форматирования состоит из параметров форматирования, приведенных в таблице ниже.

Параметр форматирования Назначение Пример вывода
%a Сокращенное название дня недели Чт
%A Полное название дня недели Четверг
%b Сокращенное название месяца июн
%B Полное название месяца Июнь
%d Номер дня недели 08
%D Текущая дата в формате ММ/ДД/ГГ 06/08/17
%F Текущая дата в формате ГГГГ/ММ/ДД 2017-06-08
%H Часы в 24-часовом формате в диапазоне от 00 до 23 18
%l Часы в 12-часовом формате в диапазоне от 01 до 12 6
%j Номер дня года в диапазоне от 001 до 366 159
%m Номер месяца в диапазоне от 01 до 12 06
%M Минуты в диапазоне от 00 до 59 24
%S Секунды в диапазоне от 00 до 60 22
%N Наносекунды в диапазоне от 000000000 до 999999999 335288238
%T Время в формате ЧЧ:ММ:СС в 24-часовом формате 18:24:22
%u Номер дня недели в диапазоне от 1 до 7 4
%U Номер недели в году в диапазоне от 00 до 53 23
%Y Полный номер года 2017
%Z Обозначение часового пояса MSK

Примеры использования

Получение текущих даты и времени

Для получения текущих даты и времени в стандартном формате достаточно выполнить следующую команду:

Утилита выведет аналогичную информацию:

Чт июн 8 15:12:21 MSK 2017

Для вывода даты и/или времени в пользовательском формате достаточно добавить символ + и строку форматирования. Например, для вывода даты и времени может использоваться команда:

В результате будет выведена следующая информация:

Добавление текущей даты в имена создаваемых файлов

Отличным примером использования команды date в сценариях является создание суффикса имени файла для автоматизированного создания нескольких файлов с аналогичными именами. Например, процесс создания создании резервных копий данных. Файл резервной копии данных создается с помощью утилиты tar и сохраняется на жестком диске большого, но не бесконечного объема. Локальная машина носит имя bugler, поэтому данное слово присутствует и в имени файла резервной копии. Файловая система с жесткого диска большого объема скопирована в директорию /bkup. Команда для создания резервных копий будет выглядеть следующим образом:

$ tar -zcf /bkup/bugler.backup.$(date +%a).tgz /

Она создает сжатый (благодаря параметру -z) файл архива всей файловой системы (благодаря символу / в конце команды) и сохраняет этот файл под именем /bkup/bugler.backup.Sat.tgz. В результате использования команды date при формировании имени файла, файл архива будет перезаписываться ровно через неделю, что позволит сэкономить дисковое пространство — оно будет просто повторно использоваться.

Примечание: конструкция $( ) позволяет использовать вывод дополнительной команды в качестве части основной команды. Альтернативным решением является использование обратных кавычек: . backup `date +%a`.tgz. При этом формат $( ) гораздо проще в использовании.

Установка текущих даты и времени

В том случае, если вы не будете вводить необязательные элементы записи даты и времени, утилита будет считать, что вы выбрали текущий год. Таким образом, в случае исполнения следующей команды:

системные часы будут переведены на 5 июня 2017 года (да, эта статья писалась именно в этот день). Теперь предположим, что нам нужно установить 2018 год. В этом случае команда примет следующий вид:

Использование утилиты на удаленных системах

Для сравнения дат на локальном и удаленном компьютере достаточно настроить вход в удаленную систему без пароля и выполнить команду:

Для установки локального времени на удаленном компьютере может использоваться следующая команда:

Источник

Оцените статью