GNU/Linux >> Linux Esercitazione >  >> Linux

Linux:imposta la data tramite la riga di comando

Usa date -s :

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

Eseguilo come root o sotto sudo . Cambiare solo uno dell'anno/mese/giorno è più una sfida e comporterà la ripetizione di bit della data corrente. Ci sono anche strumenti di data GUI incorporati nei principali ambienti desktop, solitamente accessibili tramite l'orologio.

Per modificare solo una parte dell'ora, puoi utilizzare la sostituzione del comando nella stringa della data:

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

cambierà la data, ma manterrà l'ora. Vedi man date per i dettagli di formattazione per costruire altre combinazioni:i singoli componenti sono %Y , %m , %d , %H , %M e %S .


Ora di sistema

Puoi usare date per impostare la data di sistema. L'implementazione GNU di date (come si trova sulla maggior parte dei sistemi basati su Linux non incorporati) accetta molti formati diversi per impostare l'ora, ecco alcuni esempi:

imposta solo l'anno:

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

imposta solo il mese:

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

imposta solo il giorno:

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

metti tutto insieme:

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

Tempo hardware

Ora l'ora di sistema è impostata, ma potresti volerla sincronizzare con l'orologio hardware:

Usa --show per stampare l'ora dell'hardware:

hwclock --show

Puoi impostare l'orologio hardware sull'ora corrente del sistema:

hwclock --systohc

O l'ora di sistema sull'orologio hardware

hwclock --hctosys

Il comando per per modificare la data di sistema è date .

Ci sono due modi per chiamare il comando date (in Linux):

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

Facile

Il modo più semplice è usare date -s in quanto consente l'uso di semplice relativo date

 $ 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

La data non è cambiata perché è stata eseguita con un utente limitato $ . Se vuoi effettivamente cambiare la data, usa root (# ) o sudo:

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

Quindi, cambiando qualsiasi parte di un parente date è facile come dargli un nome:

 $ 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

Le date assolute sono un po' più complesse in quanto richiedono maggiori dettagli:

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

Oppure puoi usare il comando date due volte:

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

sostituire uno qualsiasi dei % da un valore valido e la data verrà impostata (solo come root).

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

diretto

Il secondo modulo di chiamata data viene utilizzato per direttamente modificare la data di sistema.

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

Quindi :

 date 11230812              # MMDDhhmm

Fisserà la data al 23 novembre alle 08:00 e 12:00.

BSD ha un comando simile ma un formato diverso ([[[[[cc]yy]mm]dd]HH]MM[.ss]).

Prova date come utente limitato per vedere cosa farebbe (senza cambiare nulla):

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

Oppure, se vuoi davvero cambiare la data, come root:

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

Tieni presente che i servizi come NTP o chrony saranno interessati. E, se riavviato, la data verrà reimpostata su quella reale.

Aggiungi un YY per impostare l'anno:

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

Oppure un CCYY per impostare l'anno e secolo:

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

Linux
  1. 8 suggerimenti per la riga di comando di Linux

  2. Avere una mucca sulla riga di comando di Linux

  3. Entra nella riga di comando di Linux

  4. Come impostare le impostazioni proxy sulla riga di comando di Linux o sul terminale

  5. Imposta il fuso orario debian Linux tramite la riga di comando

Comando Diff in Linux

Padroneggia la riga di comando di Linux

Nozioni di base sulla riga di comando di Linux:sudo

7 Esempi di comando Date in Linux

Esempi di comandi data di Linux

12 Esempi utili di comandi data di Linux