Команда date знаходиться в оболонці Bash, яка є типовою оболонкою у більшості дистрибутивів Linux і навіть у macOS. З цього туториалу ви дізнаєтеся, як впоратися з date в командному рядку і як його використовувати в сценаріях оболонки, щоб робити більше, ніж просто друкувати час.
Запустіть команду date, щоб побачити цю інформацію. Він друкує поточну дату і час для вашого часового поясу:
Дата
Типове форматування виглядає трохи безглуздо. Чому рік не друкується після місяця і дня, а не позначається в кінці за часовим поясом? Не бійтеся: якщо ви контролюєте формат виводу, який ви хочете, date доставляє його в піки. Існує більше 40 параметрів, які ви можете передати на date щоб дати йому команду відформатувати висновок точно так, як вам би хотілося.
Щоб використовувати будь-який з параметрів, введіть date, пробіл, знак плюс + і параметр, що включає початковий знак відсотка. Параметр% c (дані і час у форматі локалі) дозволяє друкувати дату і час у нормалізованому форматі, пов "язаному з вашою локаллю. Ваш регіон визначається географічною та культурною інформацією, наданою вами при установці операційної системи. Мова управляє такими речами, як символ валюти, розміри паперу, часовий пояс та інші культурні норми.
дата +% c
Тепер рік виглядає більш природним у результатах.
Ви можете передати декілька варіантів на date одночасно. Послідовність параметрів називається форматним рядком. Щоб побачити назву дня (% A), день місяця (% d) і назву місяця (% B), скористайтеся цією командою:
дата +% A% d% B
Це спрацювало, але це негарно. Немає проблем, ми можемо включати пробіли, якщо укласти весь рядок формату в лапки. Зауважте, що + виходить за лапки.
дата + ""% A% d% B "
Ви можете додати текст до рядка формату, наприклад:
дата + «» Сьогодні:% A% d% B"
Прокрутка вгору і вниз за сторінкою довідника по date пошуках потрібного варіанту незабаром стає втомливою. Ми розподілили варіанти по групах, щоб вам було легше їх знайти.
Ці модифікатори можна вставити між% і буквою параметра інших параметрів, щоб змінити їх відображення. Наприклад,% -S вилучить початковий нуль для однозначних секундних значень.
Щоб отримати час останньої зміни файла, скористайтеся пунктом -r (посилання). Зауважте, що тут використовується знак - (дефіс) замість знака%, і для нього не потрібен знак +. Спробуйте цю команду у вашій домашній теці:
date -r.bashrc
Налаштування TZ дозволяє змінити часовий пояс на час однієї команди.
TZ = дата за Гринвічем +% c
Увімкнення скрипту оболонки Bash для друку часу і дати тривіально. Створіть текстовий файл з наступним вмістом і збережіть його як gd.sh
# !/Bin/^
СЬОГОДНІ = $ (дата + «» Сьогодні% A,% d% B «»)
TIMENOW = $ (дата + «» Місцевий час% r «»)
TIME_UK = $ (TZ = BST date + «» Час у Великобританії% r «»)
Ехо $ СЬОГОДНІ
echo $ TIMENOW ехо
$ TIME_UK
Введіть наступну команду, щоб встановити права на виконання і зробити виконуваний скрипт.
chmod + x gd.sh
Запустіть скрипт за допомогою цієї команди:
./gd.sh
Ми можемо використовувати команду date для надання мітки часу. Показаний скрипт створить каталог з позначкою часу в якості імені. Потім він копіює всі текстові файли з поточної теки. Періодично запускаючи цей скрипт, ми можемо зробити знімок наших текстових файлів. З часом ми створимо ряд тек з різними версіями наших текстових файлів.
Зверніть увагу, що це не надійна система резервування, а просто для наочності.
Створіть текстовий файл з наступним вмістом і збережіть його як snapshot.sh.
# !/Bin/^
# отримати дату і час
date_stamp = $ (дата + «»% F-% H-% M-% S «»)
# створити каталог з такою назвою
mkdir «» $ date_stamp «#
скопіювати до нього файли з поточної теки
cp * .txt» «$ date_stamp»
# все готове, доповісти і вийти
echo «» Текстові файли скопійовані до каталогу:"" $ date_stamp
Введіть наступну команду, щоб встановити права на виконання і зробити виконуваний скрипт.
chmod + x snapshot.sh
Запустіть скрипт за допомогою цієї команди:
./snapshot.sh
Ви побачите, що каталог було створено. Його ім'я - це дата і час виконання сценарію. У цьому каталозі містяться копії текстових файлів.
Якщо трохи подумати і проявити креативність, навіть команда смиренного date може бути ефективно використана.