Jak pracować z datą i godziną w Bash za pomocą polecenia daty
- 3814
- 797
- Ignacy Modzelewski
Polecenie daty to zewnętrzny program Bash, który pozwala ustawić lub wyświetlać datę i godzinę systemu. Zapewnia również kilka opcji formatowania. Polecenie daty jest domyślnie zainstalowane we wszystkich dystrybucjach Linux.
$ data $ typ -a dataZnajdź lokalizację polecenia daty
Typ polecenie daty w terminalu, który wyświetli bieżącą datę i godzinę.
$ dataSprawdź datę w Linux
Zmień datę i godzinę systemu Linux
Za pomocą polecenie daty, Data systemu, czas i strefa czasowa można zmodyfikować, a zmiana musi zostać zsynchronizowana z zegariem sprzętowym.
$ data -set = "czw 12 listopada 13:06:59 IST 2020" $ HWCLOCK -SOSTOHCUstaw datę i godzinę systemu Linux
Opcje formatowania
Dobrym miejscem na uzyskanie listy opcji formatowania będzie strona Man.
$ Man Data
Zobaczmy niektóre z najczęstszych opcji formatowania, których będziemy korzystać.
- Aby zastosować użycie formatowania ”+ śledzony przez "formatter".
- Aby uzyskać listę opcji formatowania dla GNU \ Linux, spójrz na stronę Linked Man.
- Aby uzyskać listę opcji formatowania dla BSD, spójrz na stronę Linked Man.
Dwie ważne części polecenie daty używa formatu +%
i opcja -data.
Teraz zastosujmy formatowanie na polecenie daty. Aby zastosować formatowanie, dodaj plus znak (+)
śledzony przez %formattera
Jak pokazano w przykładach.
Data obsługi w Linux
Rzućmy okiem, jak korzystać z formatterów związanych z datą w prostym skrypcie powłoki o nazwie 'data.cii'.
# Drukuj rok, miesiąc, dzień i data… echo „Jesteśmy w roku = $ (data + %y)„ echo ”jesteśmy w roku = $ (data + %y)” # różnica między %y a %y jest %y wydrukuje 4 cyfry, a %y wydrukuje ostatnie 2 cyfry roku. echo "Jesteśmy w miesiącu = $ (data +%m)" echo "Jesteśmy w miesiącu = $ (data +%b)" echo "Jesteśmy w miesiącu = $ (data +%b)" # różnica Między %B a %B jest, %B wydrukuje nazwę całego miesiąca, podczas gdy %B wydrukuje skróconą nazwę miesiąca. echo „bieżący dzień miesiąca = $ (data +%d)„ echo ”bieżący dzień tygodnia = $ (data +%a)„ echo ”bieżący dzień tygodnia = $ (data +%a)" # różnica Między %a a %a jest, %a wydrukuje pełną nazwę w dni powszednie, podczas gdy %a wydrukuje skróconą nazwę w dni powszednie. # Zamiast formatowania, aby uzyskać datę, możemy użyć %d, który wydrukuje datę jako %m/ %d/ %y lub %f, który drukuje w %y- %m- %D format. echo „Data za pomocą %d = $ (data + %d)„ echo ”data za pomocą %f = $ (data + %f)”Znajdź datę i godzinę za pomocą skryptu
Czas obsługi w Linux
Rzućmy okiem na użycie czas Powiązane formatory w prostym skrypcie powłoki o nazwie 'czas.cii'.
# Godziny drukowania, mins, sekundy, nano sekundy Godziny echa = $ (data +%h) Minuty echa = $ (data +%m) echo sekundy = $ (data +%s) nanosekund echo = $ (data +%n) epok czas epoki = $ (data +%s) echo "aktualny czas = $ (data +%h:%m:%s:%n)" # może również użyć%t, który wyświetla czas w HH: MM: SS Format. Echo „Obecny czas w 24 -godzinnym formacie = $ (data + %t)” # może również użyć %R do wyświetlania czasu w formacie 12 -godzinnym. Echo „Obecny czas w 12 -godzinnym formacie = $ (data +%r)”Znajdź czas w Linux za pomocą skryptu
Z -data lub -d flaga
Z --data
Lub -D
Wejście flagi można przekazać jako ciąg i polecenie daty wie, aby sobie z tym poradzić.
Zobaczmy kilka przykładów, aby zrozumieć, jak to działa.
# Wydrukuj wczorajszą datę i godzinę. echo „wczoraj = $ (data -d„ wczoraj ”)” # Wydrukuj jutro datę i godzinę. echo „jutro = $ (data -d„ jutro ”)” # Znajdź datę i godzinę przed 10 dniami. echo „przed 10 dni = $ (data -d„ jutro -10 dni ”)” # Znajdź ostatni miesiąc i następny miesiąc echo w zeszłym miesiącu = $ (data -d „w zeszłym miesiącu” „%b”) „echo” w przyszłym miesiącu = $ (data -d „następny miesiąc” „%b”) ” # Znajdź w zeszłym roku i w przyszłym roku echo„ w zeszłym roku = $ (data -d „w zeszłym roku” „+%y”) „echo” w przyszłym roku = $ = $ )? = $ (data -d „Today +2 dni” „ +%a”)Sprawdź datę za pomocą formatowania
Wspólne operacje
obliczyć liczbę dni między 2 danymi datami.
$ echo $ ((($ (data -d „2020-11-10” „+%s”)-$ (data -d „2020-11-01” „+%s”)) / 86400)))
Znajdź dany rok to rok skokowy, czy nie.
$ za y w 2000… 2020; do daty -d $ y-02-29 &>/dev/null && echo $ y to rok skokowy; zrobioneZnajdź rok LEAP w Linux
Przypisanie wyjścia polecenia daty do zmiennej.
$ Dziś = $ (data +%y-%m-%d) lub $ Today1 = $ (data +%f) $ echo $ dziś $ echo Today1Przypisz datę do zmiennej
Utwórz pliki dziennika z datą dodaną do nazwy pliku.
Dodanie daty i godziny podczas tworzenia plików dziennika, kopii zapasowej lub plików tekstowych jest powszechną operacją, którą najczęściej się spotykamy. Weźmy przykład, aby wziąć kopię zapasową, stworzyliśmy skrypt powłoki.
Ten skrypt odbędzie kopię zapasową z 00:00 do 23:59 i zaplanowany będzie codziennie o 00:00 następnego dnia. Chcemy tworzyć pliki dziennika z wczorajszym formatem daty.
Custom_format = $ (data-date "wczoraj" "+%d-%y-%h:%m") log_file =/var/log/custom_application/Application _ $ Custom_format.log echo "Skrypt uruchomiono" >> $ log_file… bloki kodu… echo "Skrypt wypełniony" >> $ log_file
To wszystko dla tego artykułu. W tym artykule widzieliśmy, jak korzystać z daty i godziny Bash w Linux. Daj nam znać swoją opinię.
- « Jak utworzyć lokalny certyfikat SSL w CentOS 8
- Zeit - narzędzie GUI do planowania CRON i na zadaniach w Linux »