GNU/Linux >> Tutoriels Linux >  >> Linux

Linux :définir la date via la ligne de commande

Utilisez date -s :

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

Exécutez-le en tant que root ou sous sudo . Changer un seul de l'année/mois/jour est plus un défi et impliquera de répéter des bits de la date actuelle. Il existe également des outils de date GUI intégrés aux principaux environnements de bureau, généralement accessibles via l'horloge.

Pour ne changer qu'une partie de l'heure, vous pouvez utiliser la substitution de commande dans la chaîne de date :

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

changera la date, mais gardera l'heure. Voir man date pour les détails de mise en forme pour construire d'autres combinaisons :les composants individuels sont %Y , %m , %d , %H , %M , et %S .


Heure système

Vous pouvez utiliser date pour régler la date du système. L'implémentation GNU de date (comme sur la plupart des systèmes basés sur Linux non embarqués) accepte de nombreux formats différents pour régler l'heure, voici quelques exemples :

définir uniquement l'année :

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

définir uniquement le mois :

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

définir uniquement le jour :

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

mettre tous ensemble :

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

Temps matériel

L'heure système est maintenant définie, mais vous pouvez la synchroniser avec l'horloge matérielle :

Utilisez --show pour imprimer l'heure matérielle :

hwclock --show

Vous pouvez régler l'horloge matérielle sur l'heure système actuelle :

hwclock --systohc

Ou l'heure système à l'horloge matérielle

hwclock --hctosys

La commande pour changer la date système est date .

Il existe deux manières d'appeler la commande date (sous Linux) :

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

Facile

Le plus simple est d'utiliser date -s car il permet l'utilisation de simples parent rendez-vous

 $ 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 date n'a pas changé car elle a été exécutée avec un utilisateur limité $ . Si vous voulez réellement changer la date, utilisez root (# ) ou sudo :

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

Donc, changer n'importe quelle partie d'un parent date est aussi simple que de la nommer :

 $ 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

Les dates absolues sont un peu plus complexes car elles nécessitent plus de détails :

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

Ou, vous pouvez utiliser la commande date deux fois :

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

remplacer l'un des % par une valeur valide et la date sera définie (uniquement en tant que root).

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

directement

Le deuxième formulaire d'appel de rendez-vous est utilisé pour directement modifier la date système.

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

Alors :

 date 11230812              # MMDDhhmm

Fixera la date au 23 novembre à 08h et 12min.

BSD a une commande similaire mais un format différent ([[[[[cc]aa]mm]jj]HH]MM[.ss]).

Essayez date en tant qu'utilisateur limité pour voir ce qu'il ferait (sans rien changer) :

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

Ou, si vous voulez réellement changer la date, en tant que root :

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

Notez que des services comme NTP ou chrony seront affectés. Et, s'il est redémarré, la date sera réinitialisée.

Ajoutez un YY pour définir l'année :

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

Ou un CCYY pour définir l'année et siècle :

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

Linux
  1. 7 exemples de commande de date Linux pour afficher et définir la date et l'heure du système

  2. 7 Exemples de commande Linux hwclock pour définir la date et l'heure de l'horloge matérielle

  3. date Exemples de commandes sous Linux

  4. Conversion de fuseau horaire par ligne de commande

  5. Définir l'heure relative à l'aide de la ligne de commande

Commande Diff sous Linux

Maîtrisez la ligne de commande Linux

Principes de base de la ligne de commande Linux :sudo

7 exemples de commande de date sous Linux

Linux date Exemples de commandes

12 exemples de commandes de date Linux utiles