GNU/Linux >> Znalost Linux >  >> Linux

Linux:nastavte datum pomocí příkazového řádku

Použijte date -s :

date -s '2014-12-25 12:34:56'

Spusťte to jako root nebo pod sudo . Změna pouze jednoho roku/měsíce/dne je náročnější a bude vyžadovat opakování bitů aktuálního data. V hlavních desktopových prostředích jsou také zabudovány nástroje GUI pro datum, obvykle přístupné přes hodiny.

Chcete-li změnit pouze část času, můžete použít substituci příkazu v řetězci data:

date -s "2014-12-25 $(date +%H:%M:%S)"

změní datum, ale zachová čas. Viz man date pro detaily formátování pro vytvoření dalších kombinací:jednotlivé komponenty jsou %Y , %m , %d , %H , %M a %S .


Systémový čas

Můžete použít date pro nastavení systémového data. GNU implementace date (jak se vyskytuje na většině systémů založených na Linuxu) přijímá mnoho různých formátů pro nastavení času, zde je několik příkladů:

nastavte pouze rok:

date -s 'next year'
date -s 'last year'

nastavte pouze měsíc:

date -s 'last month'
date -s 'next month'

nastavit pouze den:

date -s 'next day'
date -s 'tomorrow'
date -s 'last day'
date -s 'yesterday'
date -s 'friday'

nastavit vše dohromady:

date -s '2009-02-13 11:31:30' #that's a magical timestamp

Hardwarová doba

Nyní je systémový čas nastaven, ale možná jej budete chtít synchronizovat s hardwarovými hodinami:

Použijte --show pro tisk hardwarového času:

hwclock --show

Hardwarové hodiny můžete nastavit na aktuální systémový čas:

hwclock --systohc

Nebo systémový čas na hardwarové hodiny

hwclock --hctosys

Příkaz k změně systémového data je date .

Existují dva způsoby, jak zavolat příkaz date (v Linuxu):

   date [OPTION]... [+FORMAT]
   date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

Snadné

Nejjednodušší způsob je použít date -s protože umožňuje použití jednoduchého příbuzný data

 $ date -s yesterday; date
 date: cannot set date: Operation not permitted
 Sat Jan  5 07:21:07 EST 2019
 Sun Jan  6 07:21:07 EST 2019

Datum se nezměnilo, protože bylo provedeno s omezeným uživatelem $ . Pokud skutečně chcete změnit datum, použijte root (# ) nebo sudo:

 $ sudo date -s yesterday; date
 Sat Jan  5 07:21:07 EST 2019
 Sat Jan  5 07:21:07 EST 2019

Takže změna jakékoli části příbuzného datum je stejně snadné jako pojmenování:

 $ date -s "5 years ago"
 Mon Jan  6 08:26:26 EST 2014

 $ date -s "+6 months"
 Sat Jul  6 08:28:39 EDT 2019

 $ date -s "+3 hours -13 minutes"
 Sun Jan  6 11:16:59 AST 2019

Absolutní data jsou o něco složitější, protože potřebují více podrobností:

 $ date -s "2001-07-23 10:11:12"

Nebo můžete příkaz datum použít dvakrát:

 $ date -s "$(date +'%Y-%m-%d %H:%M:%S')"

nahraďte některý z % o platnou hodnotu a datum bude nastaveno (pouze jako root).

 $ date -s "$(date +'%Y-11-%d %H:%M:%S')"
 Wed Nov  6 08:37:15 EST 2019

přímo

Formulář pro druhé rande se používá k přímému změnit systémové datum.

 date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

Takže :

 date 11230812              # MMDDhhmm

Datum nastaví na 23. listopadu v 08h a 12min.

BSD má podobný příkaz, ale jiný formát ([[[[[cc]yy]mm]dd]HH]MM[.ss]).

Zkuste date jako omezený uživatel, abyste viděli, co by to udělalo (aniž byste cokoli měnili):

 $ date 11230812
 date: cannot set date: Operation not permitted
 Sat Nov 23 08:12:00 EST 2019

Nebo, pokud skutečně chcete změnit datum, jako root:

 # date 11230812
 # date
 Sat Nov 23 08:12:00 EST 2019

Upozorňujeme, že budou ovlivněny služby jako NTP nebo chrony. A pokud restartujete, obnoví se datum zpět na skutečné.

Chcete-li nastavit rok, přidejte YY:

 $ date 1123081222
 date: cannot set date: Operation not permitted
 Wed Nov 23 08:12:00 EST 2022

Nebo CCYY pro nastavení roku a století:

 $ date 112308121982
 date: cannot set date: Operation not permitted
 Tue Nov 23 08:12:00 EST 1982

Linux
  1. Jak nastavit nastavení proxy na příkazovém řádku nebo terminálu Linuxu

  2. Konverze časového pásma pomocí příkazového řádku

  3. Nastavte relativní čas pomocí příkazového řádku

  1. 8 tipů pro příkazový řádek Linuxu

  2. Mít krávu na příkazovém řádku Linuxu

  3. Přihlaste se do příkazového řádku Linuxu

  1. 8 Příklady příkazů rychlého data v Linuxu

  2. 7 Linux Date Příklady příkazů pro zobrazení a nastavení systémového data a času

  3. 7 Linux hwclock Příklady příkazů pro nastavení hardwarových hodin Date Time